Показать полную графическую версию : [решено] Копирование в метку содержимого файла на сервере без скачивания
idlazarev_alex@vk
19-04-2014, 15:41
Всем салют! Можно ли с файла на сервере (текстового) скопировать всё его содержимое в метку (например %read%) без его скачивания, т.е просмотр?
Опишу полностью:
Есть строка findstr /c:"TEST" %file% && goto :YES|| goto :NO, она ищет текст "TEST" в файле %file%, так вот можно сделать также , но чтобы текст искался в файле на сервере без его скачивания, можно использовать ncftp. Заранее спасибо.
с файла на сервере »
Какой сервер имеется в виду — SMB, HTTP, FTP?
В любом случае без:
его скачивания»
не выйдет. Ибо «просмотр» возможен только после загрузки содержимого.
ожно использовать ncftp »
Видимо, всё-таки ftp-сервер ;).
P.S. В «метку» файл скопировать нельзя. Что подразумевается — не очень понятно.
idlazarev_alex@vk
19-04-2014, 15:58
Какой сервер имеется в виду — SMB, HTTP, FTP? »
FTP
не выйдет. Ибо «просмотр» возможен только после загрузки содержимого »
В том и смысл, что на FTP возможно просмотреть файл без скачивания, для этого есть команда "CAT" (в ncftp)
Что подразумевается — не очень понятно. »
Ну примерно так:
Надо чтобы в файле на FTP сервере искался текст без скачивания, если бы текст был найден, то переход к метке :START, если нет, то переход к :EXIT.
В том и смысл, что на FTP возможно просмотреть файл без скачивания, для этого есть команда "CAT" (в ncftp) »
Нельзя. Читаем ncftp(1) manual page (http://www.ncftp.com/ncftp/doc/ncftp.html):
cat
Acts like the ``/bin/cat'' UNIX command, only for remote files. This downloads the file you specify and dumps it directly to the screen. You will probably find the page command more useful, since that lets you view the file one screen at a time instead of printing the entire file at once.
Т.е., в клиенте ncftp ftp-команда загрузки GET/RETR объединяется с выводом содержимого загруженного файла на консоль.
Ну примерно так:
Надо чтобы в файле на FTP сервере искался текст без скачивания, если бы текст был найден, то переход к метке :START, если нет, то переход к :EXIT. »
@echo off
setlocal enableextensions enabledelayedexpansion
2>nul "%ProgramFiles%\NcFTP Software\NcFTP\ncftpget.exe.lnk" -c ftp.opera.com /pub/opera/win/lng/711/el/ow711_2887el.lng | 2>nul 1>&2 find.exe /i "Languages" && call :YES || call :NO
endlocal
exit /b 0
:YES
echo Yes
exit /b 0
:NO
echo No
exit /b 0
idlazarev_alex@vk
19-04-2014, 17:59
@echo off
setlocal enableextensions enabledelayedexpansion
2>nul "%ProgramFiles%\NcFTP Software\NcFTP\ncftpget.exe.lnk" -c ftp.opera.com /pub/opera/win/lng/711/el/ow711_2887el.lng | 2>nul 1>&2 find.exe /i "Languages" && call :YES || call :NO
endlocal
exit /b 0
:YES
echo Yes
exit /b 0
:NO
echo No
exit /b 0 »
если уже так, то проще сделать без FTP,:
@echo off
SET WGET=GET.EXE > nul
SET URL=http://serv.test/test.txt > nul
SET LOG=LOG.tmp
SET FILE=test.txt
SET FIND=TEXT
GET -a -b --spider %URL% -o %LOG% > nul
GET -t 10 -w 5 -nd -N -a -b -o %LOG% %URL% -o %LOG% > nul
findstr /c:"%FIND%" %FILE% > nul && cal :TEMP && goto :TEST_ON||cal :TEMP && goto :TEST_OFF > nul
exit
:TEST_ON
echo найдено!
pause > nul
exit
:TEST_OFF
echo не найдено!
pause > nul
exit
:TEMP
title TEST
del %FILE% \q > nul
del %LOG% \q > nul
Но всё равно спасибо!
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.