中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-09 14:35
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]为什么BAT的内容与CMD的内容不同 查看 990 回复 13
楼 主 [求助]为什么BAT的内容与CMD的内容不同 发表于 2008-08-27 11:34 ·  中国 江苏 扬州 电信
高级用户
★★★
积分 620
发帖 329
注册 2007-12-05 15:34
18年会员
UID 104754
性别 男
状态 离线
用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 发表于 2008-08-27 11:50 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
ren "C:\Program Files\a\User\a.dll" "%~n1a.rar"
如果你的批处理只有这一句,说明的cmd打开的时候的默认路径是F:\3c9e8ef2j34s25187d\windwos
没有什么特别的意思,你可以通过注册表来修改它,比如我的是C:\test
3 发表于 2008-08-27 12:03 ·  中国 江苏 扬州 电信
高级用户
★★★
积分 620
发帖 329
注册 2007-12-05 15:34
18年会员
UID 104754
性别 男
状态 离线
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 发表于 2008-08-27 12:09 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
请你复制CMD里显示得内容,不要自己打。


奇怪得是,一个ren命令应该一闪而过,不知道你如何得到上面得内容
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
5 发表于 2008-08-27 12:15 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
"%~n1a.rar"
这里面的变量1是从何处而来要到何处而去?
6 发表于 2008-08-27 12:17 ·  中国 江苏 扬州 电信
高级用户
★★★
积分 620
发帖 329
注册 2007-12-05 15:34
18年会员
UID 104754
性别 男
状态 离线
这个更名代码,是正确的,
7 发表于 2008-08-27 13:31 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor" /v AutoRun /t REG_SZ /d "cd C:\" /f

先运行一下这个命令,再运行你的批处理试试。
8 发表于 2008-08-27 14:04 ·  中国 广东 东莞 电信
初级用户
积分 60
发帖 34
注册 2007-04-24 02:13
19年会员
UID 86232
性别 男
状态 离线
没看的怎么明白~~~
9 发表于 2008-08-27 14:23 ·  中国 江苏 扬州 江都区 电信
高级用户
★★★
积分 620
发帖 329
注册 2007-12-05 15:34
18年会员
UID 104754
性别 男
状态 离线
Originally posted by HAT at 2008-8-27 01:31 PM:
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor" /v AutoRun /t REG_SZ /d "cd C:\" /f

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



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

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

对于此BAT是正确的。
10 发表于 2008-08-27 14:28 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
知道你的BAT是正确的。
先运行一下7楼的命令,再运行你的BAT看看是否还有这个问题。
11 发表于 2008-08-27 14:38 ·  中国 江苏 扬州 江都区 电信
高级用户
★★★
积分 620
发帖 329
注册 2007-12-05 15:34
18年会员
UID 104754
性别 男
状态 离线
Originally posted by HAT at 2008-8-27 02:28 PM:
知道你的BAT是正确的。
先运行一下7楼的命令,再运行你的BAT看看是否还有这个问题。



没有用。

与原来一样。。

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

选择Y或N结果相同。。。。。。
12 发表于 2008-08-27 15:14 ·  中国 上海 长宁区 电信
高级用户
★★★
积分 916
发帖 377
注册 2004-03-08 00:00
22年会员
UID 19523
性别 男
状态 离线
这个怎么回事我也忘了,以前在使用.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 发表于 2008-08-27 15:30 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
问个和4楼相同的问题“奇怪得是,一个ren命令应该一闪而过,不知道你如何得到上面得内容 ”
能否截图上来看看?
14 发表于 2008-08-27 15:42 ·  中国 江苏 扬州 电信
高级用户
★★★
积分 620
发帖 329
注册 2007-12-05 15:34
18年会员
UID 104754
性别 男
状态 离线
Originally posted by HAT at 2008-8-27 03:30 PM:
问个和4楼相同的问题“奇怪得是,一个ren命令应该一闪而过,不知道你如何得到上面得内容 ”
能否截图上来看看?



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


call "C:\xxxxxxxx\xxx.exe"
论坛跳转: