Lote obter o conteúdo do arquivo


0

Eu tenho um arquivo de lote que é suposto para procurar um arquivo com uma extensão específica no diretório e, em seguida, obter as extensões desse arquivo. Ele encontra o arquivo com sucesso, mas por algum motivo não consegue lê-lo. Qual poderia ser o problema?

Aqui está o meu código:

@echo off

setlocal enabledelayedexpansion



::Find the file
for /r %%i in (*.extension) do set file=%%~nxi

::Get that file's contents (not working)
for /f "delims=" %%x in (%file%) do set Build=%%x




::returns nothing.
echo %Build%

Respostas:


1

Seu script define "arquivo" de variável apenas para o nome do arquivo (sem caminho). Então você tenta abrir o nome do arquivo (sem caminho). No meu sistema, recebi um erro "O sistema não pode encontrar o arquivo ...".

Isso me leva a acreditar que em seu script, a linha do arquivo de localização usa o caminho atual do arquivo bat, mas o arquivo de leitura não. Meu palpite é por causa do "*" na linha de localização.

Eu consertei simplesmente alterando sua linha de arquivo de localização para:

for /r %%i in (*.txt) do set file=%%i

Agora a variável "file" será o caminho completo + filename e o arquivo de lote encontrou meu arquivo e leu o texto.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.