Мой пакетный файл продолжает цикл, но почему?

Я написал командный файл из программы 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

Я не могу понять, что я сделал неправильно, но если я открою командную строку и запустил ее оттуда, она будет выполняться один раз.

Любая помощь будет с благодарностью оценена!

Спасибо

Ответ 1

В окнах, если у вас есть исполняемый файл командной строки с тем же именем имени bat bat, а командный файл содержит эту команду, пакетный файл продолжает цикл.

Пример:

  • Создайте файл net.bat на рабочем столе.
  • В вашем файле напишите этот текст: net

Дважды щелкните файл, и он будет продолжать цикл.

Причиной такого поведения является порядок выполнения команд. Команда, которую вы хотите выполнить, находится в одной из папок на вашем пути. Но командный файл находится в вашей текущей папке, поэтому сначала он выполняется, вызывая цикл.

Ответ 2

Я переименовал командный файл в TEST.bat, и это, по-видимому, устранило проблему.

Спасибо за помощь!

Ответ 3

убедитесь, что:

  • ваш script не называется как встроенная команда или программа

  • убедитесь, что сценарии ваших вызовов script не называются как встроенная команда или программа

например. если ваш script вызывается: reeeeeboooot.bat, который вызывает shutdown -t 10 -r, но в SAME FOLDER находится shutdown.cmd

reeeeeboooot.bat действительно вызовет shutdown.cmd INSTEAD команды сборки.

иногда самые простые вещи сложнее всего. (довольно часто на самом деле: -D)