2

У меня был простой командный файл, который я бы использовал в Windows XP для создания набора определенных подпапок внутри папки. Я настроил его как контекстное меню правого клика, чтобы при щелчке правой кнопкой мыши на папке в проводнике Windows я мог выполнить командный файл и создать в нем 10 определенных папок.

Я переместил тот же командный файл в Windows 7. Я могу запустить пакетный файл вручную, и он работает нормально, однако, когда я запускаю его из контекстного меню, вызываемого правой кнопкой мыши, все папки создаются в каталоге \Windows \System32 \, а не в той папке, в которой я щелкнул правой кнопкой мыши. ,

Я знаю, что "Текущий каталог" в Windows XP использовался для переноса значения папки, нажатой правой кнопкой мыши, теперь в Windows 7 значение "Текущий каталог", похоже, меняется на папку System32.

Я пытался найти способ прочитать текущую директорию, по которой щелкнула правой кнопкой мыши, но не смог найти это значение. "CD" - это папка System32 в начале выполнения пакета.

Какие-либо предложения?

1 ответ1

0

Вы можете изменить запись command в реестре, чтобы добавить параметр:

C:\Users\Me\Batches\make_dir.cmd "%1"

и затем используйте этот параметр в командном файле:

cd /d "%1"
md SomeDirectory
md SomeOtherDirectory

Что касается путаницы, я предполагаю, что рабочий каталог процесса, который запускается для команды оболочки, никогда не указывался, поэтому это может быть что угодно. А в Windows 7 появились библиотеки, которые, вероятно, могли привести к тому, что папки находятся в «непутевых путях».

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .