На самом деле, текущий ответ не устарел. Я попробовал то же самое в Windows 10 и смог добавить Run Batch script
в контекстное меню все папки в Windows.
Это содержимое моего пакетного скрипта (не будет работать с путями UNC ):
@ECHO OFF
ECHO% ~ n0 был вызван со следующими аргументами:
SET args =% *
ЕСЛИ НЕ ОПРЕДЕЛЕНЫ args GOTO END
ЭХО% *
:КОНЕЦ
ПАУЗА
Изменения реестра, которые я сделал, могут быть скопированы с этим файлом REG:
Редактор реестра Windows, версия 5.00
[HKEY_CLASSES_ROOT \ Directory \ shell \ Run Batch script]
@ = "& Выполнить пакетный скрипт"
[HKEY_CLASSES_ROOT \ Directory \ shell \ Run Batch script \ command]
@ = "\" H: \\ BATCH_FILE_PATH \\ context-batch.bat \ "\"% 1 \ ""
Это только добавляет пункт контекстного меню для всех каталогов / папок в Windows. Если вы хотите, чтобы он отображался для каждого файла, вы можете использовать это:
Редактор реестра Windows, версия 5.00
[HKEY_CLASSES_ROOT \ * \ shell \ Run script]
@ = "Run & script"
[HKEY_CLASSES_ROOT \ * \ shell \ Run script \ command]
@ = "\" H: \\ BATCH_FILE_PATH \\ context-batch.bat \ "\"% 1 \ ""
Кроме того, вы можете добавить свой пакетный скрипт в Send To
список элементов, создав ярлык для вашего пакетного скрипта и поместив его в %APPDATA%\Microsoft\Windows\SendTo
(или введите shell:sendto
в адресную строку)
Если вы хотите, чтобы ваш скрипт отображался в контекстном меню, которое появляется при щелчке правой кнопкой мыши по пустому пространству в каталоге (фон каталога?), Вы можете использовать следующий файл REG:
Редактор реестра Windows, версия 5.00
[HKEY_CLASSES_ROOT \ Directory \ Background \ shell \ Run Batch script]
@ = "& Выполнить пакетный скрипт"
"Icon" = "% SystemRoot% \\ System32 \\ shell32.dll, 71"
[HKEY_CLASSES_ROOT \ Directory \ Background \ shell \ Run Batch script \ command]
@ = "H: \\ BATCH_FILE_PATH \\ context-batch.bat \"% V \ ""
Вам не нужна "Icon"="%SystemRoot%\\System32\\shell32.dll,71"
линия. Он просто добавляет значок в ваше контекстное меню, которое выглядит следующим образом: