6

Я хочу читать содержимое текстового файла построчно, размещенного на веб-сайте с командным файлом. Пример: from example.com/text.txt

Я пытался

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

Но он ищет файл с именем, а не URL.

4 ответа4

7

Вам нужно сначала скачать файл.

Предполагая, что вы работаете в Windows, которая поддерживает powershell, и используете пакет (в противном случае просто используйте Powershell и напрямую используйте команду в кавычках):

@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)

Вторая строка загрузит файл text.txt по указанной ссылке и сохранит его как txtfile.txt в том же каталоге.

РЕДАКТИРОВАТЬ: Если у вас есть более новая версия Windows, которая поддерживает PowerShell 3.0 и выше, проверьте ответ @ rahuldottech, это проще и быстрее.

3

Вы можете использовать следующий код:

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

Мы используем PowerShell, чтобы загрузить файл, а затем обработать его в пакетном режиме. Использовать wget проще, чем создать объект и затем загрузить файл.

2

Вы должны сначала загрузить это.Для этого вы можете использовать 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)

Подробнее о том, как вы можете скачать файл с командным файлом

1

Вы можете скачать и прочитать содержимое файла, используя командную строку Certutil, как этот пакетный скрипт:

@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
::-------------------------------------------

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