hroft_clone3: (Default)
[personal profile] hroft_clone3
Многие незаслуженно игнорируют командную строку в Windows.
Однако, с ее помощью можно творить чудеса.
Представляю маленькую задачу.
Дано.
Есть программа, выдающая запрос в интернет, получающая несколько файлов данных, долго их обрабатывающая, а потом убивающая.
Задача запускается по таймеру.
Требуется.
Перехватить файлы данных и скопировать на другой сервер.
Решение.

Создаем командный файл file1.cmd В него помещаем вызов программы, прием данных которой надо перехватить. Ставим вызов этого командника в шедулер.

Потом немного обвешиваем этот вызов дополнительной хренью.

===== file1.cmd ===========
echo 1 > ~\run.flag
rem в папке ..\~ создаем флаг
start ttt.cmd
rem запускаем второй файлик, вот он-то и будет утаскивать данные. Так как работает параллельно.

rem ну идем и обрабатываем то, что нам надо ... пока работает этот модуль, нужные файлу как раз появляются постепенно, а потом самоудаляются.

del ~\run.flag
rem убиваем флаг

Второй файлик, собственно ворюга тут :)
===== tt.cmd =====
echo Test > ~\tt.txt
echo Begin > ~\tt.txt
rem Ну это просто для теста строчки, так, чтобы смотреть как много раз скопировалось подряд.
:begin
rem ну begin и есть begin, метка такая будет у нас
if not exist ~\run.flag goto end
rem Если флага нет, выходим
echo once more >> ~\tt.txt
rem Создаем засечку в логе
copy ***** c:\up\*.* >>\tt1.txt
rem вот и копируем куда-то в сторону эти файлики/
rem Заодно и вывод команды копирования посмотрим :)
goto begin
Rem Вот и и в начало вернемся, вдруг не все файлики спёрли :)
:end
rem Ну а сюда идем, когда нету флага. Соответственно дальше на выход и передачу того, что сперли
c:
rem Уходим на диск C:
cd \up
rem Переходим в каталог UP
rar m receive.rar *.ххх
rem Перемещаем в архив receive.rar то, что сперли.
copy /z receive.rar "\\***\***\Robot v2\*.*"
rem копируем на другой сервер.
del receive.rar
Rem Зачищаем файлик.
exit
rem закрываем окошко.


Теперь все красиво, файлики спёрты, можно и обработать спокойненько на другой системе.



Ну что, кто-нибудь догадался как эту задачку решить иначе? Притом только штатными средствами Windows.


Profile

hroft_clone3: (Default)
hroft_clone3

April 2022

S M T W T F S
     12
3456789
10111213141516
17181920 212223
24252627282930

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 7th, 2025 06:27 pm
Powered by Dreamwidth Studios