标题: 下面这个代码放在其他的批处理文件中怎么老报错
[打印本页]
作者: 59fei
时间: 2007-7-9 14:10
标题: 下面这个代码放在其他的批处理文件中怎么老报错
下面这个代码放在其他的批处理文件中怎么老报错
cd.>tmp.vbs
for /f "usebackq skip=4 tokens=*" %%a in (%0) do @echo %%a>>tmp.vbs
tmp.vbs&del tmp.vbs /q
goto :eof
Rem 以下为VbScript脚本
Set WshShell = WScript.CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop") :'特殊文件夹“桌面”
Rem 在桌面创建一个记事本快捷方式
set oShellLink = WshShell.CreateShortcut(strDesktop & "\记事本.lnk")
oShellLink.TargetPath = "notepad.exe" : '目标
oShellLink.WindowStyle = 3 :'参数1默认窗口激活,参数3最大化激活,参数7最小化
oShellLink.Hotkey = "Ctrl+Alt+e" : '快捷键
oShellLink.IconLocation = "notepad.exe, 0" : '图标
oShellLink.Description = "记事本快捷方式" : '备注
oShellLink.WorkingDirectory = strDesktop : '起始位置
oShellLink.Save : '创建保存快捷方式
Rem 在桌面创建一个“微软中国”的Url快捷方式
set oUrlLink = WshShell.CreateShortcut(strDesktop & "\微软中国.url")
oUrlLink.TargetPath = "http://www.microsoft.com/china"
oUrlLink.Save
作者: Climbing
时间: 2007-7-9 14:31
先问一下你自己明白不明白这个批处理是做什么用的?
作者: 59fei
时间: 2007-7-9 14:45
不是很明白
是生成一个vbs临时文件 然后运行vbs文件
在桌面上面生成两个快捷方式
作者: 59fei
时间: 2007-7-9 14:46
for /f "usebackq skip=4 tokens=*" %%a in (%0) do @echo %%a>>tmp.vbs
tmp.vbs&del tmp.vbs /q
这个不明白
作者: Climbing
时间: 2007-7-9 15:04
既然for命令中使用了%0,那么要求你在调用这个批处理时一定要输入批处理的全名,或者在资源管理器中直接双击执行批处理。
其它的,你自己看for命令或者其它命令的帮助。
其实for命令就是将当前运行的批处理从第5行开始的内容输出到tmp.vbs中,然后后面的命令就是运行这个vbs然后再删除这个临时的vbs。