批处理的若干问题,求解~~~
windows中批处理文件有bat、cmd两种,这两种有什么区别呀?
还有就是最近看到一条批处理for /f %%i in ('cd') do set currentpath=%%i不知道是什么意思!
全文如下:
“去掉win7小箭头.bat”
@echo off
color 0a
title 去掉win7小箭头批处理
for /f %%i in ('cd') do set currentpath=%%i
copy %cd%Empty.ico c:windows
@echo Windows Registry Editor Version 5.00>>D:tmp.reg
@echo [HKEY_CLASSES_ROOTpiffile]>>D:tmp.reg
@echo "IsShortcut"="">>D:tmp.reg
@echo [HKEY_CLASSES_ROOTlnkfile]>>D:tmp.reg
@echo "IsShortcut"="">>D:tmp.reg
@echo [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerShell Icons]>>D:tmp.reg
@echo "29"="C:\Windows\Empty.ico,0">>D:tmp.reg
regedit/s D:tmp.reg
del D:tmp.reg
taskkill /f /im Explorer.exe
ping localhost -n 5
start "explorer.exe" "%windir%explorer.exe"
exit
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
cmd 后来系统增加的后缀,一般可以默认没有区别。
bat是一直用的后缀。如何你写的脚本也考虑要跑在WIN 9X XP之类的系统上的话,用BAT。
在window中打开命令行,输入
for /?
能看到for使用的帮助文档
bat:以windows下的exe模型进行执行;
cmd:windows下绑定的子16位dos的模式进行执行。
上述批处理中,for的格式如下:
FOR 参数 %%变量名 IN (相关文件或命令) DO 执行的命令
参数:FOR有4个参数 /d /l /r /f 比较常用的是/f参数(d目录;r搜索指定路径及所有子目录中与set相符合的所有文件;l该集表示以增量形式从开始到结束的一个数字序列。可以使用负的 Step;f文件)
%%变量名 :这个变量名可以是小写a-z或者大写A-Z,他们区分大小写。
IN:命令的格式,照写就是了!
(相关文件或命令) :FOR要把什么东西读取然后赋值给变量。
do:命令的格式,照写就是了!
当然我们可以不加任何参数执行FOR,这个时候他可以加通配符号进行操作。
bat 和 cmd 没区别