
Preciso de ajuda com o comando FOR no arquivamento em lote. O que eu quero fazer é ler o arquivo "Test.txt" e ler apenas a terceira linha e transformá-la em uma variável utilizável dentro deste arquivo em lote. Aqui está o que eu tentei, mas não funcionou.
for /f "skip=2 delims=" %%a in (Test.txt) do (
set %%a=%LineThree%
)
Quando executo o programa aparece "O sistema não consegue encontrar o arquivo Test.txt. Toda ajuda é muito apreciada.
Responder1
- O erro indica que seu arquivo
Test.txt
não está no mesmo diretório a partir do qual você está executando o script. Para conseguir capturar melhor apenas a terceira linha de um arquivo de texto, tente o seguinte, que será executado rapidamente emQUALQUERsize, em vez de ter que percorrer um arquivo inteiro como o seu faria (e o seu faria incorretamente ... você está realmente pegandocada terceira linha).
(para /l %%a em (1,1,3) defina /p LineThree=) <Test.txt
eco %LinhaTrês%
Conforme mencionado em outro comentário, você pode tentar o caminho completo para o arquivo em vez de apenas o nome do arquivo.
Responder2
O principal problema com o seu código são as aspas faltantes deem (...)
Deveria ser:
for /f "skip=2 delims=" %%a in ('Test.txt') do (
set %%a=%LineThree%
)
Se ainda não funcionar, tente escrever o caminho completo paraTest.txt
(como outros sugeriram)