中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]为什么BAT的内容与CMD的内容不同
作者:
标题: [求助]为什么BAT的内容与CMD的内容不同 上一主题 | 下一主题
cad55
高级用户





积分 620
发帖 329
注册 2007-12-5
状态 离线
『楼 主』:  [求助]为什么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是什么意思。

2008-8-27 11:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 2 楼』:  

ren "C:\Program Files\a\User\a.dll" "%~n1a.rar"
如果你的批处理只有这一句,说明的cmd打开的时候的默认路径是F:\3c9e8ef2j34s25187d\windwos
没有什么特别的意思,你可以通过注册表来修改它,比如我的是C:\test



2008-8-27 11:50
查看资料  发短消息 网志   编辑帖子  回复  引用回复
cad55
高级用户





积分 620
发帖 329
注册 2007-12-5
状态 离线
『第 3 楼』:  



  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盘中不存在,

2008-8-27 12:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 4 楼』:  

请你复制CMD里显示得内容,不要自己打。


奇怪得是,一个ren命令应该一闪而过,不知道你如何得到上面得内容



S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2008-8-27 12:09
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 5 楼』:  

"%~n1a.rar"
这里面的变量1是从何处而来要到何处而去?



2008-8-27 12:15
查看资料  发短消息 网志   编辑帖子  回复  引用回复
cad55
高级用户





积分 620
发帖 329
注册 2007-12-5
状态 离线
『第 6 楼』:  

这个更名代码,是正确的,

2008-8-27 12:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 7 楼』:  


reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor" /v AutoRun /t REG_SZ /d "cd C:\" /f
先运行一下这个命令,再运行你的批处理试试。



2008-8-27 13:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wgx1688
初级用户





积分 60
发帖 34
注册 2007-4-24
状态 离线
『第 8 楼』:  

没看的怎么明白~~~

2008-8-27 14:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
cad55
高级用户





积分 620
发帖 329
注册 2007-12-5
状态 离线
『第 9 楼』:  



  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是正确的。

2008-8-27 14:23
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 10 楼』:  

知道你的BAT是正确的。
先运行一下7楼的命令,再运行你的BAT看看是否还有这个问题。



2008-8-27 14:28
查看资料  发短消息 网志   编辑帖子  回复  引用回复
cad55
高级用户





积分 620
发帖 329
注册 2007-12-5
状态 离线
『第 11 楼』:  



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

没有用。

与原来一样。。

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

选择Y或N结果相同。。。。。。

2008-8-27 14:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dato
高级用户




积分 916
发帖 377
注册 2004-3-8
状态 离线
『第 12 楼』:  

这个怎么回事我也忘了,以前在使用.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



http://dato.ys168.com
google search bot
http://dato.minidns.net/
2008-8-27 15:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 13 楼』:  

问个和4楼相同的问题“奇怪得是,一个ren命令应该一闪而过,不知道你如何得到上面得内容 ”
能否截图上来看看?



2008-8-27 15:30
查看资料  发短消息 网志   编辑帖子  回复  引用回复
cad55
高级用户





积分 620
发帖 329
注册 2007-12-5
状态 离线
『第 14 楼』:  



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

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


call  "C:\xxxxxxxx\xxx.exe"

2008-8-27 15:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: