2015-03-11 2 views
0

Я знаю с рабочего стола, у меня есть файл bat, который запускает исполняемый файл с определенными параметрами и запускается по тому же пути в сети, где существует исполняемый файл, но как могу ли я сделать то же самое при вызове файла bat, предположительно, в той же папке, что и исполняемый файл из другого приложения?командная строка командного файла запускается в той же папке, что и исполняемый файл по сетевому пути

Например: \ My-Network \ приложение \ PR8.exe/NOLOAD

Я хочу начать именно в \ My-Network \ приложение (та же папка, где PR8.exe существует), но не там, где по умолчанию к которому, похоже, как-то c: \ windows. Я не могу сделать cd по UNC-пути, и я не хочу использовать какие-либо дорожки, поскольку приложение также определяет, на каком сервере он выполняется.

ответ

1

Невозможно установить рабочий каталог UNC для командных файлов Windows без сетевых привязок. Однако в Windows 2000 и более поздних версиях вы можете использовать команды PUSHD и POPD для изменения рабочего каталога на общий ресурс UNC при запуске скрипта.

Wikipedia дает нам пример создания ярлыка на командный файл, где Target устанавливается на следующее:

%COMSPEC% /E:ON /C "PUSHD """\\My-Network\app\""" & C:\PATH\TO\BATCHFILE.BAT & POPD" 

В этом случае работа атрибут каталог ярлыка игнорируется, как PUSHD и Команды POPD изменят его на указанный путь.

+0

Спасибо, оказалось, мне также необходимо добавить следующую логику C# в мою программу при ссылке на относительные файлы: System.Windows.Forms.Application.StartupPath – jfalberg

+1

Это должно быть принято OP как ответ –

Смежные вопросы