Como ler de um arquivo de texto sendo hospedado em um site em um arquivo em lotes

6

Eu quero ler o conteúdo de um arquivo de texto linha por linha sendo hospedado em um site com um arquivo em lotes. Ex: de example.com/text.txt

Eu tentei

@echo off
for /f "tokens=*" %%A in (http://example.com/text.txt) do (echo%%A)

Mas procura por um arquivo chamado que não seja o URL.

    
por INTENSEFIRE 28.06.2018 / 13:54

4 respostas

7

Você precisa fazer o download do arquivo primeiro.

Supondo que você esteja em um Windows que suporte o powershell e esteja usando batch (caso contrário, basta usar o Powershell e usar diretamente o comando entre aspas):

@echo off
powershell -Command "(New-Object Net.WebClient).DownloadFile('http://www.example.com/text.txt', 'txtfile.txt')"
for /f "tokens=*" %%A in (txtfile.txt) do (echo%%A)

A segunda linha irá baixar o arquivo text.txt do link especificado e salvá-lo como txtfile.txt no mesmo diretório.

EDIT: Se você tiver uma versão mais recente do Windows que suporte o PowerShell 3.0 e superior, verifique a resposta do @rahuldottech, é mais simples e rápido.

    
por 28.06.2018 / 14:01
3

Você pode usar o seguinte código:

powershell wget http://example.com/file.txt -OutFile file.txt
for /f "tokens=*" %%A in (file.txt) do (echo%%A)

Usamos o powershell para baixar o arquivo e processá-lo em lote. Usar wget é mais simples do que criar um objeto e, em seguida, fazer o download do arquivo.

    
por 28.06.2018 / 14:02
2

você precisa primeiro fazer o download. Para isso, você pode usar winhttpjs.bat :

call winhhtpjs.bat http://example.com/text.txt -saveTo c:\text.txt
for /f "usebackq tokens=*" %%A in ("c:\text.txt") do (echo%%A)

Mais sobre como você pode download um arquivo com um arquivo em lote

    
por 28.06.2018 / 14:02
1

Você pode baixar e ler o conteúdo do arquivo usando linha de comando Certutil como este script em lote:

@echo off
Color 0A
Title Download and read file contents with Certutil line command by Hackoo 2018
set "URL=http://www.example.com/text.txt"
for %%a in (%URL%) do Set "File=%%~nxa"
Set "DownloadFolder=%Temp%"
Call :Download "%URL%" "%DownloadFolder%\%File%"
Rem To read the contents of the text file downloaded in temp folder
for /f "tokens=*" %%A in ('Type "%DownloadFolder%\%File%"') do (echo %%A)
pause>nul & Exit
::--------------------------------------------
:Download <Url> <File>
certutil.exe -urlcache -split -f %1 %2 >nul
exit /b
::-------------------------------------------
    
por 03.07.2018 / 06:00

Tags