Пакетный сценарий - L oop через текстовый файл и установите каждую строку как переменную и запустите сценарий, затем повторите для следующей строки - PullRequest
0 голосов
/ 10 апреля 2020

У меня есть скрипт, который я пытался создать -

Он не зацикливается, как мне нужно. Кажется, захватывает только последнюю строку файла?

У меня есть текстовый файл с несколькими именами компьютеров, по одному на строку ... Мне нужно установить строку 1 как переменную, повторить эту строку и затем запустить Однострочный код, а затем установите строку 2 как переменную, введите эту строку, а затем пропустите код и включите все остальное и отобразите «Завершить», когда все строки завершены ...

Любая помощь приветствуется , Я искал переполнение стека и нашел похожие вопросы с ответами, но ни один из них не работает, поскольку я намереваюсь их работать ...

@Echo off
SETLOCAL ENABLEDELAYEDEXPANSION
for /f "tokens=*" %%f in (computernames.txt) do (
  set compname=%%f
    echo !compname!
)
echo %compname%
REG ADD "\\%compname%\HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v "fDenyTSConnections" /t REG_DWORD /d 0 /f

pause

1 Ответ

3 голосов
/ 10 апреля 2020

Ваш скрипт захватывает каждую строку в файле, но вы выводите результат только после того, как завершится l oop (т.е. только последняя строка).

Сначала, echo %%f внутри l oop чтобы увидеть все имена компьютеров. Затем вы должны также переместить код реестра в l oop. Вы можете просто использовать %%f.

@Echo off
for /f "tokens=*" %%f in (computernames.txt) do (
  echo %%f
REG ADD "\\%%f\HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v "fDenyTSConnections" /t REG_DWORD /d 0 /f
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...