Board logo

标题: 请教:帮忙看看什么地方的问题,让bat或cmd里的中文不能正常运 [打印本页]

作者: xiaojun     时间: 2004-3-15 00:00    标题: 请教:帮忙看看什么地方的问题,让bat或cmd里的中文不能正常运
请教: 1个文件如X.txt在"我的文档"目录下,写到Bat或Cmd运行后,中文就会成 ? ? 我notepad %userpr~1%\My Doc~1\X.txt ,没成功, 怎样让类似程序运行呢? 谢谢...!
NT的变量如下
USERDOMAIN=XSY7KZ
USERNAME=小 军
USERPROFILE=D:\Documents and Settings\小 军.XSY7KZ
windir=c:\windows

已改正Echo错误...














作者: qzwqzw     时间: 2004-3-15 00:00
中文会成 ? ? 是你的系统不支持16位环境中文啦;
echo %userpr~1%\My Doc~1\X.txt ,没成功,是用type,而不是echo。

作者: Climbing     时间: 2004-3-15 00:00
应该写成:type "%userprofile%\My Documents\x.txt"

如果中文不能正常显示,说明你在命令行窗口中使用了其它键盘方案的dos命令行程序,单纯使用Windows提供的DOS命令不会这样的。

作者: xiaojun     时间: 2004-3-15 00:00
哦,Echo是写慌了,改正. 在你们的XP中写一个有中文的Bat,直接点它运行,中文难道不是? 号 ? 中文目录下的程序可以运行之?

作者: Climbing     时间: 2004-3-15 00:00
应该没有问题的吧,但我还真的没有给批处理起过中文名。

作者: Climbing     时间: 2004-3-15 00:00
“测试中文批处理名.bat”内容:
@echo off
dir
echo.
echo Hello, World!
echo.
type 测试中文批处理名.bat
pause

运行结果:

卷的序列号是 7ED8-C136

D:\TEMP 的目录

2003-09-20 15:45 .
2003-09-20 15:45 ..
2003-09-20 15:45 XPTEMP
2003-11-23 17:14 3,019 Rmlist.txt
2003-10-24 04:00 1,760,587 DEPLOY.CAB
2004-02-15 19:50 DEPLOY
2003-11-23 17:14 3,019 临时.bat
2004-03-15 23:19 84 测试中文批处理名.bat
4 个文件 1,766,709 字节
4 个目录 6,992,461,824 可用字节

Hello, World!

@echo off
dir
echo.
echo Hello, World!
echo.
type 测试中文批处理名.bat
pause
请按任意键继续. . .

从运行及结果上来看,没有任何问题,对了,我是在XP下直接双击批处理文件运行的。

作者: xiaojun     时间: 2004-3-16 00:00
我晕透了,怎么回事呢? 如在System32目录直接运行cmd是E文,在运行框输入CMD还是E文; 发cmd到桌面快捷,运行桌面快捷方式cmd却是中文. 再把bat拖到打开的中文cmd才有中文,bat直接运行会这样:
Directory of D:\Documents and Settings\? ? ?.xuf2gid\??(桌面)

Clipbrd.lnk
cmd.lnk s.txt
ScanDown.lnk ScanTEMP.lnk SysClean.lnk
x.bat ??????--??????.url
????.lnk ?? CMD.lnk ????.lnk
?????.url ????.lnk ??Win98.lnk
????.lnk ????.lnk ?HTTP???.lnk
? ?.lnk ????.lnk ? ?.lnk
? ?.lnk
我需要点击后运行的程序1直无法放到桌面或中文目录,怎么回事呢? 晕透!!!!!!不知是否是装有4NT造成的






作者: willsort     时间: 2004-3-16 00:00
Re xiaojun:

这个问题相当复杂,不过你可以先看看这里,能不能帮你解决问题。

http://model.chinajewelry.net/dos/dosbbs/dispbbs.asp?boardID=9&ID=9452

作者: xiaojun     时间: 2004-3-17 00:00
6楼版主的bat文件直接双击后,能显示出中文目录或内容,为何我1个简单的bat或cmd:
echo 中文
点击运行,"中文" 这2个字却是乱码,为何先打开cmd的快捷方式,窗口中显示出了中文
后, 再拖它进窗口运行,显示的才是中文呢? 同样的系统,并没有先运行16位的程序呀...!

作者: qzwqzw     时间: 2004-3-17 00:00
楼主啊,是不是你忙中出错,忽略了什么细节啊?
建议你把所有的测试文件删除,重写一次,从头做一遍测试。
要不,你再看看快截方式里的代码页是不是美国的,再看看能不能改;
还可以调整一下快截方式里的字体,一般有两种,有种在某个时候不支持中文,换换看。

作者: xiaojun     时间: 2004-3-18 00:00
我说了呀,快捷方式是正常显示的中文呀; o 你这样做应该和我结果一样了: 不运行快捷方式,直接到System32目录下运行源文件-CMD ,看出来的是中文还是E文 ? (并且cmd源文件的属性里的语言仍然是中文.), 如果您直接运行后的CMD显示的是中文,那么说明关于CMD的Reg被我改错了,这个问题就可以结束讨论了. 我自己再慢慢找原因...! 谢谢各位帮助!




作者: aria     时间: 2004-3-19 00:00
直接运行cmd.exe是中文

Microsoft Windows XP
(C) 版权所有 1985-2001 Microsoft Corp.

作者: xiaojun     时间: 2004-3-19 00:00
啊,原来如此,天啊! 什么地方被我改动了。够忙活,找原因了。感谢大家Help