关于批处理的疑难

来源:百度知道 编辑:UC知道 时间:2024/05/22 20:32:12
为什么同一句命令,我用cmd写就可以执行,我用批处理写完了就执行不了呢?就是这句:
del c:\docume~1\user\桌面\主程序体.bat
它提示找不到该文件。但是路径绝对是对的,而且同样的命令用cmd写进去执行就可以执行。
为什么?!苦求啊!!!
谢谢大家的关心。不过……
首先,我试了一下加“”,可是还是删不掉,它还是告诉找不到该文件。
其次,同样的程序,不加“”,我在家里的电脑试的时候就成功删掉了。程序一点都没变,路径也都绝对正确!现在在寝室的电脑就删不掉。(联想昭阳E680)
这能是什么问题呢?

继续补充:4楼说的是对的。程序里让它echo一段话,英文能echo出来,中文echo出来之后都是乱码。而且执行pause命令以后显示的是press any key而不再是请按任意键继续。但是,能不能教教我怎样“通过预设环境变量把中文路径变西文环境变量来解决”。我只是初级菜鸟啊!谢谢各位大虾啦!

这是中文文字编码和批程序的解释器有冲突造成的。

中文字是双字节编码,相当于含ASCII空白和ASCII特殊字。

加引号是好方法。若还不能解决,可以通过预设环境变量把中文路径变西文环境变量来解决。

你可以在命令的中间加个双引号(""),它可以解决长文件名
del "c:\docume~1\user\桌面\主程序体.bat"

关于ECHO的问题,应该是系统显示模式的问题,通过ECHO命令系统自动还原到西文的现实模式,所以会有中文乱码,你说的PAUSE是系统自己切换的,在2000后的系统都是如此。
我建议,如果你还是要回到中文模式,可以通过DEBUG,调用中断切换显示模式。

在路径中间包含空格时,两端一定要有引号,要不然会出错的
你这句命令应该这样写
del "c:\docume~1\user\桌面\主程序体.bat"

你的命令提示符的活动代码有问题
你试试在你的批处理的开头加上
chcp 936
不过你的上面的路径的两端的引号还是不能省

试过了 路径加双引号 能删除。同意一楼。

你路径是不是有问题

你那个路径好象是桌面吧?
这与当前登录的用户不同路径就不同的
请务必确认路径有没错误,如果是桌面的路径就很有可能是错的

==================================================

问题是他的路径/文件名并没有空格