Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Bat'ник, который создает bat'ник и RDP (http://forum.oszone.net/showthread.php?t=310656)

ivanxam 22-01-2016 11:02 2598036

Bat'ник, который создает bat'ник и RDP
 
Добрый день!
Вопрос вот какой.
Нужно написать батник, который создает батник и конфигурацию подключения RDP, для автоматической закачки журналов с устройств на сервер. Устройств много, доступ к ним только через RDP. Делаю так подключаюсь по RDP, на удаленной машине запускается батник, который смотрит какие журналы есть на удаленной машине (дир в файл), затем удаляет последнюю строку из файла, так как мне не нужны журналы за текущий день, и затем недостающие журналы качает журналы на сервер и затем логофает машину.
Получается следующее:

Код:

@Echo Off
setlocal enabledelayedexpansion
set number=152356
set ip=10.10.10.0

> "1.txt" echo @echo off
>> "1.txt" echo setlocal enabledelayedexpansion

>> "1.txt" echo dir /b d:\logs\journal\*2016* ^>d:\!number!.txt
>> "1.txt" echo for /f "usebackq" %%%%i in ^("d:\!number!.txt"^) do ^(
>> "1.txt" echo set /a m+=1
>> "1.txt" echo ^)
>> "1.txt" echo ^(
>> "1.txt" echo for /f "usebackq delims=" %%%%i in ^("d:\!number!.txt^) do ^(
>> "1.txt" echo  set /a n+=1
>> "1.txt" echo  call echo %%%%n%%%%^|^>nul findstr /vxc:!m! ^&^& echo %%%%i
>> "1.txt" echo ^)^)^>.tmp
>> "1.txt" echo move .tmp ""d:\!number!.txt""^>nul
>> "1.txt" echo for /f %%%%j in ^(d:\!number!.txt^) do (
>> "1.txt" echo if not exist \\tsclient\q\jurnal\!number!\%%%%j  ^(
>> "1.txt" echo copy d:\logs\journal\%%%%j \\tsclient\q\jurnal\!number! ^&^& echo %%%%j
>> "1.txt" echo ^)^)
>> "1.txt" echo logoff

copy 1.txt 1.bat

Проблема вот в этой строке
Код:

>> "1.txt" echo  call echo %%%%n%%%%^|^>nul findstr /vxc:!m! ^&^& echo %%%%i
Вместо переменной !m! он ничего не пишет, видимо подставляет значение которого нет, помогите исправить.

ivanxam 22-01-2016 14:10 2598119

решение
Код:

>> "1.txt" echo  call echo %%%%n%%%%^|^>nul findstr /vxc:^^!m^^! ^&^& echo %%%%i


Время: 19:07.

Время: 19:07.
© OSzone.net 2001-