2014-11-26 2 views
0

. Вопрос в том, что мне нужно удалить из системного реестра каждый ключ и подраздел, содержащие определенное слово (которое может меняться, оно всегда одно и то же слово)Пакет сценариев не работает в .bat-файле, но работает, если он написан в командной строке

до сих пор я создал скрипт в пакетном режиме, который экспортирует в .txt-файл каждый ключ и подраздел, содержащие слово, которое я ищу, с помощью скрипта vbs я могу изменить имя ключа (потому что ключ экспорта REG QUERY как «HKEY_LOCAL_MACHINE» и REG DELETE нужно только «HKLM», то с другим сценарием, мне нужно искать каждый ключ (или подраздел) экспорт ЗАПРОСА и удалить их. сценарий как

SET /P keyword="insert keyword to search: " 
REG EXPORT HKCU HKCU.reg 
REG QUERY HKCU /f %Chiavediricerca% /s >logHKCU.txt 
cscript replace.vbs "logHKCU.txt" "HKEY_CURRENT_USER" "HKCU" 
FOR /F "delims=;" %i in (logHKCU.txt) do REG DELETE "%i" /va /f 

теперь моя проблема в том, что если я пишу каждую строку в командной строке, скрипт работает очень сильно, но если я поместил этот код в .bat-файл, скрипт остановится, когда в команде FOR, закрыв cmd, не показывая никаких ошибок. ..

любое предложение? извините, если мой английский не совершенен, и благодарим за любую помощь, которую вы можете мне дать!

+0

Это невероятно ошибочный пакетный файл, не так ли? Я не имею в виду сам код, но цель задачи - так много может пойти не так. – foxidrive

+0

Да, но я должен был использовать его для некоторого действительно определенного слова, что невозможно было удалить неправильный ключ (раздел реестра, созданный из старой настройки, которая теперь дает проблемы, в противном случае мне пришлось искать 32-х хэш-код вручную в реестре) – Came19xx

ответ

3

В командных сценариях вы должны удвоить знаки процента переменных для команды FOR. Об этом отмечается в командных помощи (for /? в командной строке):

Чтобы использовать для команды в пакетной программе, укажите %% переменная вместо переменной%. Переменные имена чувствительны к регистру, поэтому% i отличается от% I.

+0

Боже, это сработало отлично! извините, но я новичок в командных сценариях Действительно спасибо мужчине – Came19xx

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