Board logo

标题: [求助]为什么BAT的内容与CMD的内容不同 [打印本页]

作者: cad55     时间: 2008-8-27 11:34    标题: [求助]为什么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是什么意思。
作者: HAT     时间: 2008-8-27 11:50
ren "C:\Program Files\a\User\a.dll" "%~n1a.rar"
如果你的批处理只有这一句,说明的cmd打开的时候的默认路径是F:\3c9e8ef2j34s25187d\windwos
没有什么特别的意思,你可以通过注册表来修改它,比如我的是C:\test
作者: cad55     时间: 2008-8-27 12:03


  Quote:
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盘中不存在,
作者: slore     时间: 2008-8-27 12:09
请你复制CMD里显示得内容,不要自己打。


奇怪得是,一个ren命令应该一闪而过,不知道你如何得到上面得内容
作者: HAT     时间: 2008-8-27 12:15
"%~n1a.rar"
这里面的变量1是从何处而来要到何处而去?
作者: cad55     时间: 2008-8-27 12:17
这个更名代码,是正确的,
作者: HAT     时间: 2008-8-27 13:31

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor" /v AutoRun /t REG_SZ /d "cd C:\" /f
先运行一下这个命令,再运行你的批处理试试。
作者: wgx1688     时间: 2008-8-27 14:04
没看的怎么明白~~~
作者: cad55     时间: 2008-8-27 14:23


  Quote:
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是正确的。
作者: HAT     时间: 2008-8-27 14:28
知道你的BAT是正确的。
先运行一下7楼的命令,再运行你的BAT看看是否还有这个问题。
作者: cad55     时间: 2008-8-27 14:38


  Quote:
Originally posted by HAT at 2008-8-27 02:28 PM:
知道你的BAT是正确的。
先运行一下7楼的命令,再运行你的BAT看看是否还有这个问题。

没有用。

与原来一样。。

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

选择Y或N结果相同。。。。。。
作者: dato     时间: 2008-8-27 15:14
这个怎么回事我也忘了,以前在使用.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
作者: HAT     时间: 2008-8-27 15:30
问个和4楼相同的问题“奇怪得是,一个ren命令应该一闪而过,不知道你如何得到上面得内容 ”
能否截图上来看看?
作者: cad55     时间: 2008-8-27 15:42


  Quote:
Originally posted by HAT at 2008-8-27 03:30 PM:
问个和4楼相同的问题“奇怪得是,一个ren命令应该一闪而过,不知道你如何得到上面得内容 ”
能否截图上来看看?

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


call  "C:\xxxxxxxx\xxx.exe"