1

Мне нужна помощь с командой FOR в пакетной регистрации. Что я хочу сделать, так это прочитать файл «Test.txt» и прочитать только третью строку и превратить его в пригодную для использования переменную в этом пакетном файле. Вот то, что я пытался, но это не сработало.

for /f "skip=2 delims=" %%a in (Test.txt) do (
  set %%a=%LineThree%
)

Когда я запускаю программу, она говорит: «Система не может найти файл Test.txt. Вся помощь очень ценится.

2 ответа2

1
  1. Ошибка указывает, что ваш файл Test.txt не находится в той же директории, из которой вы запускаете скрипт.
  2. Чтобы лучше выполнить захват только третьей строки из текстового файла, попробуйте следующее, которое будет быстро выполняться для файла ЛЮБОГО размера, вместо того, чтобы выполнять весь файл, как ваш (а ваш неправильно) ... вы на самом деле захватываете каждая третья строка).

    (для /l %% a in (1,1,3) установите /p LineThree =) <Test.txt

    echo% LineThree%

Как уже упоминалось в другом комментарии, вы можете попробовать указать полный путь к файлу, а не просто имя файла.

0

Основная проблема с вашим кодом - пропущенные кавычки в (...)

Так должно быть:

for /f "skip=2 delims=" %%a in ('Test.txt') do (
  set %%a=%LineThree%
)

Если все еще не работает, попробуйте написать полный путь для Test.txt (как другие предложили)

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