Board logo

标题: 批处理高手请帮帮忙,显示中文有问题 [打印本页]

作者: nblue     时间: 2006-6-8 12:24    标题: 批处理高手请帮帮忙,显示中文有问题

我做了一个自动恢复系统的软盘,想将警告语显示为中文。于是我加了一个显中文的程序,启动后可以正常显示中文,但每行中文下面都有一句“bad command or file name".请问如何将此句去掉呀?
  我做的批处理详情如下:
  @doslfn.com
  @XZL.com
  @zeno.exe
  CLS
  警告:恢复系统过程中,绝对不能断电!你要恢复系统吗?确定请按任意键,取消请按“CTRL+C"!
  @PAUSE
  d:\back\ghost.exe -clone,mode=pload,src=d:\back\back.gho,dst=1:1 -sure -rb
  
  
  软盘启动后,显示如下:
  
  a:\>警告:恢复系统过程中,绝对不能断电!你要恢复系统吗?确定请按任意键,取消请按“CTRL+C"!
  bad command or file name
  press any key to continue ...
  
  我现在有两个问题。第一,用何命令或参数只显示“警告:恢复系统过程中,绝对不能断电!你要恢复系统吗?确定请按任意键,取消请按“CTRL+C"! ”,而不要显示“A:\>”及“bad command or file name”。
  第二,中文如何才能显示出正常段落?因为我发现如果在批处理中设段落,则每一段落下面都会出现bad command or file name。
  
  
  急!
  
作者: 不得不爱     时间: 2006-6-8 13:44
请改为:
@echo off
doslfn.com
XZL.com
zeno.exe
CLS
echo 警告:恢复系统过程中,绝对不能断电!你要恢复系统吗?确定请按任意键,取消请按“CTRL+C"!
PAUSE
d:\back\ghost.exe -clone,mode=pload,src=d:\back\back.gho,dst=1:1 -sure -rb
作者: ick     时间: 2006-6-8 13:47
晕,直接把提示语作为命令行,用echo啊,或者直接在PAUSE后写提示语。
另,把第一行前加上@echo off,就可以不用每行加@了。
更改如下:
@echo off
doslfn.com
XZL.com
zeno.exe
CLS
pause 警告:恢复系统过程中,绝对不能断电!你要恢复系统吗?确定请按任意键,取消请按“CTRL+C"!
d:\back\ghost.exe -clone,mode=pload,src=d:\back\back.gho,dst=1:1 -sure -rb

  
  
作者: 不得不爱     时间: 2006-6-8 13:48
警告:恢复系统过程中,绝对不能断电!你要恢复系统吗?确定请按任意键,取消请按“CTRL+C"!
因为没有加echo所以系统就当命令使用了,系统当然找不到  “警告:恢复系统过程中,绝对不能断电!你要恢复系统吗?确定请按任意键,取消请按“CTRL+C"!” 命令或者命令文件了!
作者: 不得不爱     时间: 2006-6-8 13:52
3楼的
pause 警告:恢复系统过程中,绝对不能断电!你要恢复系统吗?确定请按任意键,取消请按“CTRL+C"!
有错误,DOS不支持你那个命令!结果是不显示警告内容!
作者: nblue     时间: 2006-6-8 13:55    标题:

我试过前面加ECHO的,但也显示BAD....。后来我在前面加个REM就可以了。但现在有个总是,我想将警告语每一句一行,请问怎么做呀?我用的是空格,但实在不好对齐
作者: 不得不爱     时间: 2006-6-8 14:00
echo 警告:恢复系统过程中,绝对不能断电!你要恢复系统吗?
echo                确定请按任意键,取消请按“CTRL+C"!
看下怎么样!
作者: nblue     时间: 2006-6-8 14:01    标题: 555

已经改为如下:
@echo off
doslfn.com
XZL.com
zeno.exe
CLS
echo 警告:恢复系统过程中,绝对不能断电!你要恢复系统吗?确定请按任意键,取消请按“CTRL+C"!
PAUSE
d:\back\ghost.exe -clone,mode=pload,src=d:\back\back.gho,dst=1:1 -sure -rb

结果显示:
a:\>echo 警告:恢复系统过程中,绝对不能断电!你要恢复系统吗?确定请按任意键,取消请按“CTRL+C"!
警告:恢复系统过程中,绝对不能断电!你要恢复系统吗?确定请按任意键,取消请按“CTRL+C"!
也就是复制了一次
作者: nblue     时间: 2006-6-8 14:13
搞定了,原来ECHO后面要空两格,而空一格就会重复一次。不明白为什么会这样
作者: 不得不爱     时间: 2006-6-8 14:36
不会重复呀,

  Quote:
a:\>echo 警告:恢复系统过程中,绝对不能断电!你要恢复系统吗?确定请按任意键,取消请按“CTRL+C"!

这句是不会显示的!
你怕是没有写入BAT文件里,直接输入命令的把?

[ Last edited by qwe1234567 on 2006-6-8 at 14:41 ]
作者: fastslz     时间: 2006-6-8 21:37


  Quote:
Originally posted by nblue at 2006-6-8 14:13:
搞定了,原来ECHO后面要空两格,而空一格就会重复一次。不明白为什么会这样

地球人都知道ECHO只要一个空格,重复一次是因为提示文字太长,一行只能显示40个汉字或80个英文

echo 警告:恢复系统过程中,绝对不能断电!你要恢复系统吗?
echo 确定请按任意键,取消请按“CTRL+C"!

这样就ok了
作者: wentimao     时间: 2006-6-10 07:52
之所以你看来重得两次是,你在批处理的最开始一行没有写@echo off
所以看到的一行是命令,一行是结果