Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Задачи на bat-файлах 6

Автор: Capitolyst
Дата сообщения: 21.05.2009 16:25
Я понимаю задачу так:
имеется папка с фаилами и "нашим" батником,который раз в месяц выдает отчет только об измененных фаилах и ничего больше.
Сеичас сижу и парюсь, пробую вот как dir/a-d/o-d>6.txt
Автор: HaK1R
Дата сообщения: 21.05.2009 16:25
tatuchipapa
Думаю что вот так, проверить не могу

Код: @echo off
:loop
ping ya.ru | find "TTL=" 1>nul 2>&1
if errorlevel 1 (
rasdial ECB-3610-S /disconnect
rasdial ECB-3610-S user password
)
ping -n 61 localhost 1>nul 2>&1
goto :loop
Автор: Capitolyst
Дата сообщения: 21.05.2009 16:49
Короче говоря отчет должен быть следующего вида: фаил создан/изменен андерстенд
Автор: DJLyolik
Дата сообщения: 21.05.2009 17:05
Пытаюсь воспользоваться встроенным в Windows консольным FTP-клиентом, который вызывается командой ftp. Проблема в том, что при запуске из батника получаю бесконечный запуск ftp. Подскажите, плиз, чего надо дописать хитрого?
Автор: strat
Дата сообщения: 21.05.2009 17:17
DJLyolik

надо батник обозвать не как ftp.bat а напрмиер ftp1.bat
Автор: NIKZZZZ
Дата сообщения: 21.05.2009 17:20
DJLyolik

Цитата:
FTP-клиентом, который вызывается командой ftp.

И конечно, батник то-же называется ftp, который сам себя и вызывает.
Автор: DJLyolik
Дата сообщения: 21.05.2009 17:53
strat
ыыыы )) спасибо
NIKZZZZ
во я затупил
Автор: HaK1R
Дата сообщения: 21.05.2009 18:06
Capitolyst
Такой подойдет, или надо контролировать изменение файлов?

Код: @echo off
set "MainWay=%CD%"
echo Step 1: The analysis of files on the computer.
echo Step 2: Comparison of lists.
:GETstep
set /p "STEP=Enter a step: "
if "%STEP%."=="1." (goto :1)
if "%STEP%."=="2." (goto :2)
goto :GETstep

:1
set "FileName=%date:.=-%.txt"
chcp 1251>nul
call :RecordOfFiles "%MainWay%" ""
chcp 866>nul
goto :EOF

:2
echo The first file should be created before the second file.
set /p "FileName1=Enter a name of the first file "
set /p "FileName2=Enter a name of the second file "
set "FileReport=Report.txt"
echo Please wait...
chcp 1251>nul
call :ComparisonOfFiles
chcp 866>nul
start "" %SystemRoot\system32\notepad.exe% "%FileReport%"
goto :EOF

:ComparisonOfFiles
echo Create:>%FileReport%
for /f "tokens=*" %%i in (%FileName2%) do (
find /i "%%~i" "%FileName1%" 1>nul 2>&1
if errorlevel 1 (echo "%%~i">>%FileReport%)
)
echo.>>%FileReport%
echo Delete:>>%FileReport%
for /f "tokens=*" %%i in (%FileName1%) do (
find /i "%%~i" "%FileName2%" 1>nul 2>&1
if errorlevel 1 (echo "%%~i">>%FileReport%)
)
goto :EOF

:RecordOfFiles
pushd "%~1"
dir /a-d /b>nul 2>&1
if not errorlevel 1 (
for /f "tokens=*" %%i in ('dir /a-d /b') do (
if "%~2."=="." (
echo "%%i">>"%MainWay%\%FileName%"
) else (
echo "%~2\%%i">>"%MainWay%\%FileName%"
)
)
)
dir /ad /b>nul 2>&1
if not errorlevel 1 (
for /f "tokens=*" %%i in ('dir /ad /b') do (
if "%~2."=="." (
echo "%%i\">>"%MainWay%\%FileName%"
call :RecordOfFiles "%%~fi" "%%i"
) else (
echo "%~2\%%i\">>"%MainWay%\%FileName%"
call :RecordOfFiles "%%~fi" "%~2\%%i"
)
)
)
popd
goto :EOF
Автор: tatuchipapa
Дата сообщения: 21.05.2009 18:32
HaK1R

Цитата:
Думаю что вот так, проверить не могу


При выполнении пишет:

Отсутствуют подключения
Команда успешно завершена.

Ошибка службы удалённого доступа 623 - Системе не удалось найти запись телефонной книги для этого подключения.

...

Возможно если бы поключение было через роутер, такой бы батник сработал...

если вместо rasdial прописать telnet ?
Автор: HaK1R
Дата сообщения: 21.05.2009 18:54
tatuchipapa
какой у тебя тип соединения?

Добавлено:
tatuchipapa

Цитата:
если вместо rasdial прописать telnet

это зависит от типа соединения, попробуй
Автор: tatuchipapa
Дата сообщения: 21.05.2009 19:28
HaK1R

Цитата:
какой у тебя тип соединения?

точка доступа просто раздаёт по LAN инет на 1 комп. Инет(ADSL) подключен через роутер на втором конце (9км), там всё работает не зависает.

проверил, прописал в батнике telnet, вместо дисконект внутреннюю команду точки для телнета Rebt

Код: @echo off
:loop
ping ya.ru | find "TTL=" 1>nul 2>&1
if errorlevel 1 (
telnet 192.168.0.103 /Rebt
telnet 192.168.0.103 admin root
)
ping -n 61 localhost 1>nul 2>&1
goto :loop
Автор: romrub
Дата сообщения: 21.05.2009 19:32
Andrey128

Цитата:
Как вывести объем диска и сколько свободно (или занято) в мегах (или лучше гигах) не используя сторонних утилей для Windows XP?

стандартная утилита freedisk.exe из ResourceKit
Автор: HaK1R
Дата сообщения: 21.05.2009 21:27
Capitolyst
сделал как просил

Код: @echo off
set "MainWay=%CD%"
echo Step 1: The analysis of files on the computer.
echo Step 2: Comparison of lists.
:GETstep
set /p "STEP=Enter a step: "
if "%STEP%."=="1." (goto :1)
if "%STEP%."=="2." (goto :2)
goto :GETstep

:1
set "FileName=%date:.=-%.txt"
chcp 1251>nul
call :RecordOfFiles "%MainWay%" ""
chcp 866>nul
goto :EOF

:2
echo The first file should be created before the second file.
set /p "FileName1=Enter a name of the first file "
set /p "FileName2=Enter a name of the second file "
set "FileReport=Report.txt"
echo Please wait...
chcp 1251>nul
call :ComparisonOfFiles
chcp 866>nul
start "" %SystemRoot%\system32\notepad.exe "%FileReport%"
goto :EOF

:ComparisonOfFiles
for /f "delims=? tokens=1*" %%a in (%FileName2%) do (
find /i "%%a" "%FileName1%" 1>nul 2>&1
if errorlevel 1 (
echo "%%~a" сreate>>%FileReport%
) else (
find /i "%%a?%%b" "%FileName1%" 1>nul 2>&1
if errorlevel 1 (
echo "%%~a" сhange>>%FileReport%
)
)
)
goto :EOF

:RecordOfFiles
pushd "%~1"
dir /a-d /b 1>nul 2>&1
if not errorlevel 1 (
for /f "tokens=*" %%i in ('dir /a-d /b') do (
if "%~2."=="." (
(echo %%i?%%~ti)>>"%MainWay%\%FileName%"
) else (
(echo %~2\%%i?%%~ti)>>"%MainWay%\%FileName%"
)
)
)
dir /ad /b 1>nul 2>&1
if not errorlevel 1 (
for /f "tokens=*" %%i in ('dir /ad /b') do (
if "%~2."=="." (
call :RecordOfFiles "%%~fi" "%%i"
) else (
call :RecordOfFiles "%%~fi" "%~2\%%i"
)
)
)
popd
goto :EOF
Автор: yurkesha
Дата сообщения: 21.05.2009 21:59
HaK1R
описка
Код: start "" %SystemRoot\system32\notepad.exe% "%FileReport%"
Автор: HaK1R
Дата сообщения: 21.05.2009 22:06
yurkesha
Верно подметил

Добавлено:
Спасибо
Автор: yurkesha
Дата сообщения: 21.05.2009 22:11
01MDM
HaK1R
И кстати 1>nul - это на самом деле надо брать на вооружение! Такое перенаправление как раз страхует от потери последнего символа 1 или 2 в исполняемой строке! Маст хэв!
Автор: HaK1R
Дата сообщения: 21.05.2009 22:15
все, исправил
Автор: 01MDM
Дата сообщения: 21.05.2009 22:28
Добавил в шапку, в "Полезные Утилиты" ссылку на MediaInfo. Программа для получения различных сведений из мультимедийных файлов.
yurkesha

Цитата:
И кстати 1>nul - это на самом деле надо брать на вооружение!

Единственный совет. При записи в файл, с обозначеным дескриптором, лучше использовать следующую конструкцию:

Код:
1>file.txt (echo %variable%)
Автор: yurkesha
Дата сообщения: 21.05.2009 22:56
01MDM
я правильно понимаю что
Код: (echo %variable%) 1>file.txt
Автор: HaK1R
Дата сообщения: 21.05.2009 23:03
yurkesha
дак попробуй
Автор: tatuchipapa
Дата сообщения: 22.05.2009 00:12
Батник пингует, но при обращени к телнету не ребутит точку, неможет зайти. Как(где) изменить кодировку?



Напрямую через командную строку telnet 192.168.0.103 admin root или telnet 192.168.0.103 /admin /root тоже не пускает.
Автор: Kardinalli
Дата сообщения: 22.05.2009 00:36
В Win98, была такая команда для командной строки, которая позволяла рестартануть Windows Explorer из командной строки
rundll32 shell32,SHExitWindowsEx -1
Как можно рестартануть Explorer в WinXP из командной строки?
Автор: Rush
Дата сообщения: 22.05.2009 01:41
Kardinalli

Код: cmd /c taskkill /f /im explorer.exe & start explorer.exe
Автор: DJLyolik
Дата сообщения: 22.05.2009 06:13
Необходимо выкладывать файлы батником, причем предварительно подключаться к удаленному компу, с выкладываем почти разобрался, юзаю встроенную прогу в Windows - ftp.
С подключением/отключением тоже понятно - rasdial. Но проблема в том, что start /wait ftp не работает, батник сразу же после нее отрабатывает остальные строки, не дожидаясь завершения работы ftp. Подскажите, плиз, как сделать правильно.
Автор: tcnm
Дата сообщения: 22.05.2009 06:49
други объясните в какую сторону копать...
ситуация:
есть доменная сеть, вин2к3 стандарт р2 + хп-шки сп3, часть сети так скажем отделена по месту, но не по сети (направленный вай-фай)

в удаленной части находится главбух, ей требуется каждый день работать с сетевой частью клиент-банка УралСиба (это не реклама, я с его клиентом вобще впервые сталкиваюсь)

основная часть банк-клиента + дискета с ключом находятся на директорском компьютере в основной сети, когда директор под своей учеткой - то все нормально, служба банк-клиента видимо запущена - у бухгалтера все работает

но, как только дир уходит с рабочего места - компьютер не выключается, а пользователь выходит, то связь прекращается...

как временное решение был создан пользователь, на рабочем столе которого тупо 2 ярлыка для запуска клиент-банковской части, но бегать 200 метров по улице как вы понимаете бухгалтер не сильно желает, да и жалко уже...

собс-но передо мной стоит задача - с помощью батничка или скрипта, с компьютера главбуха запускать клиент-банковские приложения на директорском компе, что возможно, как я понял, только после входа в систему
решаема ли в принципе такая задача?

P.S.
есть конечно второй вариант - перенести банк-клиент+флопик с дискетой-ключом на сервак, работать то оно будет, но сервак так скажем лишнего public - стоит на полке около дизайнеров - проходной двор в общем...хотя можно морду на ключ закрыть - в общем это скорее не вариант...
и все-таки возможно ли удаленно в домене (например от имени администратора) запустить нерасшаренные проги, да еще и возможно придется осуществить таки вход в систему? или я с утра себе придумал, что такое возможно?
Автор: Maza_Faka
Дата сообщения: 22.05.2009 06:50
DJLyolik
А если так?

Код:
Start /Wait Cmd.exe /C Ftp.exe -ключ -параметр
Автор: 01MDM
Дата сообщения: 22.05.2009 07:12
yurkesha
Да, все правильно. Но это становится понятно потом. Сначала я вообще не мог разобраться в чем ошибка. Если учесть, что пришлось экранировать скобки (и не только) в самой переменной, а плейлист открывался некорректно... Сначала не мог понять вообще почему.
Автор: garri671
Дата сообщения: 22.05.2009 08:13
Всем привет!
Нужно подчистить кеш интернета на сервере у пользователей в папке c:\Document an..\пользователь\Local Set..\Temporary Internet..\ или уменьшить объем кеша для всех пользователей. Создал батник но для данного каталога не работает
set P="c:\Documents and Settings\"
set f="Temporary Internet Files"
for /r %P% /d %%b in (%f%) do rmdir /s /q %%b
Может есть другое решение, подскажите. Спасибо
Автор: Kardinalli
Дата сообщения: 22.05.2009 08:15
Rush
Спасибо, все работает! А для Win2000 и Win2003 она подойдет?
Автор: khrusTby
Дата сообщения: 22.05.2009 09:59
Ребята, подскажите, можно ли так сделать, чтобы батник, отсчитав n секунд выполнил команду, НО В ЭТО ВРЕМЯ МОЖНО БЫЛО БЫ ВВЕСТИ ЧТО-НИТЬ С КЛАВИАТУРЫ? Или нужно консольку писать на дельфе какой-нить?
что-то типа такого?

@echo off
set nt=
set Vib = "0"
:_loop
SET /A nt=%nt%+1
cls
echo Через %nt% sec. base "ELEKT" start automatic...
ping -n 2 -w 1000 127.0.0.1 > nul
if NOT "%nt%"=="10" goto :_loop

if "%nt%"=="10" set /a Vib = 1
if "%Vib%"=="0" set /p "Vib=Enter you base (1 - is ELEKT; 2 - is ANAIS)"

if "%vib%"=="1" (
start D:\1Cv77\Bin\1cv7.exe enterprise /D "D:\ELEKT")

if "%vib%"=="2" (
start D:\1Cv77\Bin\1cv7.exe enterprise /D "D:\ANAIS")

echo @ exit

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: как сохранить сетевые настройки


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.