我已经从我正在创建的VB.NET程序中编写了一个批处理文件。
当我在Windows XP中双击该文件时,它会显示一个命令提示符,并且似乎一遍又一遍地运行。
我的批处理文件如下
REG ADD "HKCU\Software\Classes\*\shell\Open Folder In Rename" /ve /t REG_SZ /d "Open With Rename" /f
REG ADD "HKCU\Software\Classes\*\shell\Open Folder In Rename\Command" /ve /t REG_SZ /d "P:\Misc\Rename v2.0\Rename v2.0\bin\Debug\Rename v2.0.exe ""%1""" /f
EXIT
我无法理解我做错了什么,但如果我打开一个命令提示符并从那里运行它,它会运行一次。
任何帮助都会非常感激!
由于
答案 0 :(得分:39)
在Windows中,如果您的命令行可执行文件与bat文件名同名,并且批处理文件包含此命令,则批处理文件将保持循环。
示例:
net
。Arabic
双击该文件,它将继续循环。
此行为的原因是命令的执行顺序。要执行的命令位于路径中的一个文件夹中。但批处理文件位于当前文件夹中,因此首先执行它,从而导致循环。
答案 1 :(得分:2)
我将批处理文件重命名为TEST.bat,这显然已经解决了这个问题。
感谢您的帮助!
答案 2 :(得分:2)
在Windows命令行中,如果您想执行一个命令或一组命令,那么我们通常将这些命令放入.bat文件中以在任何时间执行它们,但是在执行此操作之前,我们必须遵循一些准则。
答案 3 :(得分:0)
确保:
您的脚本未命名为内置命令或程序
确保脚本调用的脚本不像内置命令或程序那样命名
e.g。如果您的脚本被调用:reeeeeboooot.bat调用shutdown -t 10 -r,但在相同文件夹中存在shutdown.cmd
reeeeeboooot.bat实际上会调用build-in命令的shutdown.cmd INSTEAD。
有时最简单的事情是最困难的。 (通常实际上是:-D)