Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2735
Благодарности: 1699

Профиль | Отправить PM | Цитировать


Если не использовать SetLocal EnableDelayedExpansion для связывания времени выполнения
Код: Выделить весь код
set FTMP=%%G.tmp
echo regedit 4 >%%G.tmp
echo HKU\%%G\Software\Microsoft\Windows\CurrentVersion\Explorer  >>%%G.tmp
Цитата bredych:
он создаёт один батник с именем (исходный)-1.бат, и с подставлением S-1-5-18. »
Ваш код в принципе нерабочий. Моё исправление не сработает тоже.
Вы в цикле получили строки типа HKEY_USERS\S-1-5-19.
Файл с именем HKEY_USERS\S-1-5-19.tmp создать нельзя, даже если переменная !FTMP! будет правильно раскрываться, если в текущей папке отсутствует подпапка HKEY_USERS
В Вашем случае Вы определили FTMP=%~n0-1.bat до цикла. В цикле переменная не раскрывается с новым значением (для отладки поставьте Echo %FTMP% - увидите (исходный)-1.bat). То есть, в цикле Вы пересоздаёте один и тот же (исходный)-1.bat файл.
После цикла предсказуемо получите содержимое для последней строки.
Цитата bredych:
он создаёт один батник с именем (исходный)-1.бат, и с подставлением S-1-5-18. »
Не понятно, с каким именем Вы хотите получить выходные файлы. Зачем пытаетесь сделать какие-то tmp

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 04-09-2018 в 13:21.

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:51, 04-09-2018 | #29