Где разместить пакетный файл в Windows, чтобы он всегда был доступен, без изменения PATH?
У меня есть установщик NSIS для программы и меняю настройки PATH, чтобы программа всегда была доступна из командной строки. Однако манипулирование PATH имеет некоторые негативные последствия, такие как другие программы, выбирающие библиотеки DLL из этого каталога.
Чтобы не возиться с PATH, я хотел бы создать файл.bat-обертки, вызывающий исполняемый файл. Куда мне положить этот файл.bat, чтобы он всегда находился? Является c:\Windows\System32
(точнее, $SYSDIR
в NSIS) уместно с точки зрения передовой практики?
Я нацеливаюсь на 64-битные системы, XP и Seven.
2 ответа
Лично я не большой поклонник приложений, которые делают что-либо с моим%path%, люди, которые работают с инструментами командной строки, вероятно, знают, как изменить% path% или использовать doskey (псевдоним).
Если вы хотите использовать пакетный файл, вы сможете использовать его с одной строкой @"c:\path\to\my\app.exe" %*
но обертка пакетного файла, как это делает обработку Ctrl+C очень раздражает.
Если поместить его в $windir, он должен работать как с оболочками x86, так и с x64, не беспокоясь о перенаправлении файловой системы...
ya, you should put your file in
C:\Windows\System32
так что вы можете получить доступ к этому файлу из любого места из любого каталога. Вы должны просто ввести имя файла в cmd. Вы также можете создать свою собственную команду, просто передав параметр после имени командного файла.
Следующий код должен просто изменить атрибут файла / папки с помощью команды attrib
@echo off
attrib %1 +s +h
echo File/Folder hide successfully...
поэтому я сохранил его в C:\Windows\System32 с именем "hide.bat", теперь в любое время я могу просто спрятать свой файл / папку с помощью команды hide из любого места. поэтому вы должны поместить свой файл в C:\Windows\System32. Это очень хороший вариант.