Пакетный файл Windows 7 для создания каталога

2676
Calvin

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

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

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

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

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

2
Как вы добавляете его в контекстное меню? nhinkle 13 лет назад 0
Используете ли вы относительные или абсолютные пути в сценарии? Windows 7 изменила множество путей, поэтому может быть по умолчанию указано, где находится исполнитель пакетного файла, если он не может найти путь. beatgammit 13 лет назад 0
Это помогло бы, если бы вы опубликовали сам скрипт. У меня есть ощущение, что это связано с путями, указанными в файле и где находится пакетный файл. Это также, вероятно, во многом связано с точными записями реестра, которые использовались, чтобы сделать его доступным в контекстном меню правой кнопкой мыши. В пакетном режиме% CD% будет путем, из которого запускается пакетный файл. MaQleod 13 лет назад 0

1 ответ на вопрос

0
Joey

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

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

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

cd /d "%1" md SomeDirectory md SomeOtherDirectory 

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

My registry entries were simply to HKCR\Directory\Shell\ where I added the Key "CreateFolders" and the command pointing to the batch file. It works, But it is only placing the folders in the System32 directory. It does not consider the "Current Directory" to be the folder that I am right-clicking on, which is what WinXP used to do. There are no paths in the script, only MD commands, so a very simple script. Calvin 13 лет назад 0
The suggestion by Joey worked. Thanks very much. Cal Calvin 13 лет назад 0