
Мне нужна помощь с командой FOR в пакетном файлировании. Я хочу прочитать файл "Test.txt" и прочитать только третью строку и превратить ее в пригодную для использования переменную в этом пакетном файле. Вот что я попытался сделать, но это не сработало.
for /f "skip=2 delims=" %%a in (Test.txt) do (
set %%a=%LineThree%
)
При запуске программы появляется сообщение: «Система не может найти файл Test.txt. Любая помощь будет высоко оценена.
решение1
- Ошибка указывает на то, что ваш файл
Test.txt
находится не в том каталоге, из которого вы запускаете скрипт. Чтобы лучше выполнить захват только третьей строки из текстового файла, попробуйте следующее, которое быстро выполнится наЛЮБОЙразмер файла, вместо того, чтобы проходить по всему файлу, как это было бы у вас (и это было бы неправильно... вы на самом деле захватываетекаждая третья строка).
(для /l %%a в (1,1,3) сделать set /p LineThree=) < Test.txt
эхо %LineThree%
Как уже упоминалось в другом комментарии, вы можете попробовать ввести полный путь к файлу, а не только имя файла.
решение2
Основная проблема вашего кода — это отсутствующие кавычки изв (...)
Должен быть:
for /f "skip=2 delims=" %%a in ('Test.txt') do (
set %%a=%LineThree%
)
Если все еще не работает, попробуйте написать полный путь дляTest.txt
(как предлагали другие)