中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 13:54
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,254 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]为什么BAT的内容与CMD的内容不同
可打印版本  988 / 13
第1楼 cad55 发表于 2008-08-27 11:34
高级用户 发帖 329 积分 620
[求助]为什么BAT的内容与CMD的内容不同
用BAT写一个:

ren "C:\Program Files\a\User\a.dll" "%~n1a.rar"



运行时CMD中显示为:

F:\3c9e8ef2j34s25187d\windwos>"C:\Program Files\a\User\a.dll" "%~n1a.rar"

此BAT在F盘。
但前面F:\3c9e8ef2j34s25187d\windwos是什么意思。
第2楼 HAT 发表于 2008-08-27 11:50
版主 发帖 5,017 积分 9,023
ren "C:\Program Files\a\User\a.dll" "%~n1a.rar"
如果你的批处理只有这一句,说明的cmd打开的时候的默认路径是F:\3c9e8ef2j34s25187d\windwos
没有什么特别的意思,你可以通过注册表来修改它,比如我的是C:\test
第3楼 cad55 发表于 2008-08-27 12:03
高级用户 发帖 329 积分 620
Originally posted by HAT at 2008-8-27 11:50 AM:
ren "C:\Program Files\a\User\a.dll" "%~n1a.rar"
如果你的批处理只有这一句,说明的cmd打开的时候的默认路径是F:\3c9e8ef2j34s25187d\windwos
没有什么特 ...



不解的是F:\3c9e8ef2j34s25187d\windwos这个路径
在F盘中不存在,
第4楼 slore 发表于 2008-08-27 12:09
铂金会员 发帖 2,478 积分 5,212
请你复制CMD里显示得内容,不要自己打。


奇怪得是,一个ren命令应该一闪而过,不知道你如何得到上面得内容
第5楼 HAT 发表于 2008-08-27 12:15
版主 发帖 5,017 积分 9,023
"%~n1a.rar"
这里面的变量1是从何处而来要到何处而去?
第6楼 cad55 发表于 2008-08-27 12:17
高级用户 发帖 329 积分 620
这个更名代码,是正确的,
第7楼 HAT 发表于 2008-08-27 13:31
版主 发帖 5,017 积分 9,023

先运行一下这个命令,再运行你的批处理试试。
第8楼 wgx1688 发表于 2008-08-27 14:04
初级用户 发帖 34 积分 60
没看的怎么明白~~~
第9楼 cad55 发表于 2008-08-27 14:23
高级用户 发帖 329 积分 620
Originally posted by HAT at 2008-8-27 01:31 PM:

先运行一下这个命令,再运行你的批处理试试。



俺的此更名BAT,自身没有问题。

问题是: 运行时的Cmd,所表示的路径,是什么路径,在俺的机器中没有这个路径。所以来问一下。

对于此BAT是正确的。
第10楼 HAT 发表于 2008-08-27 14:28
版主 发帖 5,017 积分 9,023
知道你的BAT是正确的。
先运行一下7楼的命令,再运行你的BAT看看是否还有这个问题。
第11楼 cad55 发表于 2008-08-27 14:38
高级用户 发帖 329 积分 620
Originally posted by HAT at 2008-8-27 02:28 PM:
知道你的BAT是正确的。
先运行一下7楼的命令,再运行你的BAT看看是否还有这个问题。



没有用。

与原来一样。。

Cmd显示:Value AutoRun exists, overwrite(Y/N)?

选择Y或N结果相同。。。。。。
第12楼 dato 发表于 2008-08-27 15:14
高级用户 发帖 377 积分 916
这个怎么回事我也忘了,以前在使用.bat后缀时不知道什么命令遇到了问题,后来就统一在windows下使用.cmd。这是我以前记录的信息,具体怎么回事我也忘了,应该是它们调用的解释器对命令行的输出结果有差别的。

--------------------------
2006/12/1
软件分发打包
曾经花了,6小时在30台机器上布置5个软件,纯手工型。
有一个安装文件就是glodwave,安装过程无乎解压到指定路径再将快捷方式放置于桌面。费时费力。

估计明天得再分发个mp3directcut,就想用windows iexpress来分发,遇到了点小小的麻烦,今天才注意到.bat和.cmd后缀的区别。
c:\windows\system32\command.com
c:\windows\system32\cmd.exe
虽然打command /?得到帮助命令都一样,但是在执行时仍然会提示命令行使用不当。
其它就是测试桌面图标的.lnk
forwin2k.cmd
mkdir "%programfiles%\mp3DirectCut\Languages".
copy *.* "%programfiles%\mp3DirectCut\"
move /Y Readme.txt "%programfiles%\mp3DirectCut\Languages\"
move /Y l*.ini "%programfiles%\mp3DirectCut\Languages\"
move /Y mp3DirectCut.lnk "%ALLUSERSPROFILE%\桌面"
exit
第13楼 HAT 发表于 2008-08-27 15:30
版主 发帖 5,017 积分 9,023
问个和4楼相同的问题“奇怪得是,一个ren命令应该一闪而过,不知道你如何得到上面得内容 ”
能否截图上来看看?
第14楼 cad55 发表于 2008-08-27 15:42
高级用户 发帖 329 积分 620
Originally posted by HAT at 2008-8-27 03:30 PM:
问个和4楼相同的问题“奇怪得是,一个ren命令应该一闪而过,不知道你如何得到上面得内容 ”
能否截图上来看看?



只要你在BAT中写入这一行,它就卡在哪里


call "C:\xxxxxxxx\xxx.exe"
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023