Проблема с относительными путями (*. Bat + VMWARE + Windows 2003) - PullRequest
0 голосов
/ 03 февраля 2011

Это может быть вопрос к ServerFault, но меня больше интересовало понимание методологии, которую ОС использует для разрешения относительных путей. У меня есть два экземпляра VMware Windows 2003. Я пытаюсь запустить командный файл, который запускает другой командный файл в своем пути к папке. Сценарий работает нормально на одной виртуальной машине, но на другой виртуальной машине он не выполняется с ошибкой:

>     The System cannot find the file specified

Сценарий, который я пытаюсь запустить: script.bat:

start /d FOLDERNAME /b /WAIT AnotherScript.bat %~n0%~x0

Я поместил оба моих файла в одну и ту же структуру папок на диске C: \ на обеих машинах. Файл AnotherScript.bat находится в папке FOLDERNAME на обеих виртуальных машинах.

Это не проблема с разрешениями (?), Поскольку я являюсь администратором на обеих виртуальных машинах.

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

Спасибо

1 Ответ

1 голос
/ 03 февраля 2011
  1. Сначала проверьте, совпадают ли папки, в которых оба запускаются. Попробуйте добавить ECHO %CD% перед вызовом второго скрипта, чтобы проверить каталог, в котором он запускается.

  2. Также проверьте, задан ли путь, в котором находится второй файл bat, в переменной %PATH% в первой виртуальной машине.

  3. Где запускается командная строка по умолчанию в обеих виртуальных машинах?

...