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

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

Автор: Elroir
Дата сообщения: 05.06.2008 19:25
JI063uk

Код:
@echo off
cmdow @ /HID
shutdown -s -t 00
Автор: JohnRD
Дата сообщения: 05.06.2008 19:28
01MDM

поидее должно работать, спасибо
сам я уже запутался окончательно

как можно убить те файлы которые были закачаны на фтп?
и если файлов будет очень много 1000и сможет интересно?

идея такая что эти xml будут приходить на почтовый ящик с разных регионов, сервер будет запускать этот батник, в начале батника будет запускаться консольный почтовый клиент, который будет вытаскивать вложения (xml) и класть в папку разбора, далее эти xml должны уйти на FTP согласно 1.csv,
вот я думаю если запуститься батник, начнет работать, а тут придет еще порция xml по почте, что будет?

по поводу удаления отправленных
я думаю может вначале xml стоит отбирать по инн, создавать временную папку с названием текущего времени, перекладывать туда, и от туда пулять на фтп, далее удалять всю временную папку? сложно это?

или какая лучше логика действий чтобы не заклинило?

Автор: JI063uk
Дата сообщения: 05.06.2008 19:33

Цитата:
@echo off
cmdow @ /HID
shutdown -s -t 00



А чтобы вобще небыло черного окна можна так???
Автор: Elroir
Дата сообщения: 05.06.2008 19:52
JI063uk
Сделай ссылку на батник и в ней пропиши:

Код:
hstart /NOWINDOW batnik.cmd
Автор: JI063uk
Дата сообщения: 05.06.2008 19:55

Цитата:
Elroir

Цитата:
01MDM

СПАСИБО за помощь
Автор: JohnRD
Дата сообщения: 05.06.2008 20:06
Elroir
вопрос по поводу запуска батника из VBS скрипта

есть почтовик hMailServer он не может запускать батники по созданным правилам, но может запускать VBS, я нашел на форуме сайта сервера, VBS для запуска cmd, но интересная штука получатся, если просто запускаешь cmd

Код: postie -host:mail.john.org -user:info@john.org -pass:212121 -extract -rm
Автор: vsk94
Дата сообщения: 05.06.2008 21:13
Sorry если уже было , подскажите plz батник для следующей задачи:
Есть две папки в которых находятся файлы типа *.ax
;нужно найти имеющие одинаковые названия и удалить их в одной из папок в которой общее количество *.ax файлов больше.
Сравнение по md5 не нужно , просто удалять по названию.
И вообще возможно ли такое с помощью bat файла?
Спасибо.
Автор: Elroir
Дата сообщения: 06.06.2008 04:18
vsk94

Цитата:
Есть две папки в которых находятся файлы типа *.ax
;нужно найти имеющие одинаковые названия и удалить их в одной из папок в которой общее количество *.ax файлов больше.



Код:
@echo off
setlocal
if "%~1"=="find" goto find_duplicates
set "dir1=c:\temp\dir1"
set "dir2=c:\temp\dir2"
call :count_files count1 "%dir1%"
call :count_files count2 "%dir2%"
set "delete_from=%dir1%"
if %count2% geq %count1% set "delete_from=%dir2%"
for /f "tokens=*" %%a in ('%~0 find') do del /q "%delete_from%\%%~a"
goto :EOF

:count_files
set "%1=0"
for %%a in (%2\*.ax) do set /a "%1+=1"
goto :EOF

:find_duplicates
for %%b in (%dir1%\*.ax) do if exist "%dir2%\%%~nxb" echo "%%~nxb"
Автор: mihla
Дата сообщения: 06.06.2008 07:16
Извеняюсь за офтоп, не смог найти подходящую тему.

Пеосле зарожения и успешного лечения какимто вирусом (не запомнил каким)
на компе перестали запускатся bat и cmd файлы.
Т.е. по двойному клику ни чего не происходит
Из фара батники запускаются нормально.
Может ктонибудь знает как это лечить?

ОС: XP SP2

Автор: Diman_tlt
Дата сообщения: 06.06.2008 09:11
Народ подскажите пожалуста как выгруженную инфу в *.txt (> *.txt) распечатать на сетевой принтер (\\USER\hp LaserJet 1300 PCL 6) без пред просмотра?
ос: xp sp2
Автор: Serhi84
Дата сообщения: 06.06.2008 10:15
Подскажите, пожалуйста, какой командой в XP можно вывести список всех компьютеров в домене?
Автор: KapralBel
Дата сообщения: 06.06.2008 10:31
Serhi84
Net view - это включенных в данный момент

Или тебе надо все, даже выключенные
Автор: JohnRD
Дата сообщения: 06.06.2008 10:47
скажите пожалуйста
как заставить запускаться батник каждые n минут?
Автор: 4aplin
Дата сообщения: 06.06.2008 11:05
Здравствуйте!!! У меня проблема с написанием батника, выполняющего следующую задачу...
Если процессы в системный лог пишут ошибку, тогда вызов blat, весится на команду eventtriggers и отправляет сообщение о том, какой сервис полетел...
Подскажите, как его написать.
Автор: nNau
Дата сообщения: 06.06.2008 12:11
JohnRD, полагаю что только через планировщик задач. Используйте либо встроенный в Windows, либо что-нить типа nnCron


Добавлено:
Diman_tlt


Цитата:
подскажите пожалуста как выгруженную инфу в *.txt (> *.txt) распечатать на сетевой принтер


распечать файл с командной строки можно через команду

print [/d:принтер] [диск:][путь] имя_файла [ ...]


Автор: Elroir
Дата сообщения: 06.06.2008 12:49
JohnRD

Цитата:
скажите пожалуйста
как заставить запускаться батник каждые n минут?

Когда-то igor_andreev давал ссылку на майкрософтовскую утилиту soon - http://www.microsoft.com/downloads/details.aspx?familyid=ca8191e6-9eef-4975-b51c-8d670748ca8e&displaylang=en
В конец батника прописывается строчка:

Код:
soon [количество секунд до след. запуска] batnik.cmd
например
soon 300 batnik.cmd
для запуска через 5 минут
Автор: Diman_tlt
Дата сообщения: 06.06.2008 12:51
nNau можно поподробней на примере, а то делаю так:

print /d:\\USER\hp LaserJet 1300 PCL 6 D:\%date%.txt

пишет: "не удалось инициализировать устройство"
принтер сетевой и доступ открыт, в чем фишка?
Автор: Elroir
Дата сообщения: 06.06.2008 13:01
mihla
Создай .reg файл следующего содержания:
[more]

Код:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.bat]
@="batfile"

[HKEY_CLASSES_ROOT\.cmd]
@="cmdfile"

[HKEY_CLASSES_ROOT\cmdfile]
@="Windows NT Command Script"
"EditFlags"=hex:30,04,00,00

[HKEY_CLASSES_ROOT\cmdfile\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,00,68,00,\
65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,31,00,35,\
00,33,00,00,00

[HKEY_CLASSES_ROOT\cmdfile\shell]

[HKEY_CLASSES_ROOT\cmdfile\shell\edit]

[HKEY_CLASSES_ROOT\cmdfile\shell\edit\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,25,00,31,00,00,\
00

[HKEY_CLASSES_ROOT\cmdfile\shell\open]
"EditFlags"=hex:00,00,00,00

[HKEY_CLASSES_ROOT\cmdfile\shell\open\command]
@="\"%1\" %*"

[HKEY_CLASSES_ROOT\cmdfile\shell\print]

[HKEY_CLASSES_ROOT\cmdfile\shell\print\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,2f,00,70,00,20,\
00,25,00,31,00,00,00

[HKEY_CLASSES_ROOT\cmdfile\shellex]

[HKEY_CLASSES_ROOT\cmdfile\shellex\DropHandler]
@="{86C86720-42A0-1069-A2E8-08002B30309D}"

[HKEY_CLASSES_ROOT\cmdfile\shellex\PropertySheetHandlers]

[HKEY_CLASSES_ROOT\cmdfile\shellex\PropertySheetHandlers\PifProps]
@="{86F19A00-42A0-1069-A2E9-08002B30309D}"

[HKEY_CLASSES_ROOT\cmdfile\shellex\PropertySheetHandlers\ShimLayer Property Page]
@="{513D916F-2A8E-4F51-AEAB-0CBC76FB1AF8}"

[HKEY_CLASSES_ROOT\batfile]
@="MS-DOS Batch File"
"EditFlags"=hex:30,04,00,00

[HKEY_CLASSES_ROOT\batfile\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,00,68,00,\
65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,31,00,35,\
00,33,00,00,00

[HKEY_CLASSES_ROOT\batfile\shell]

[HKEY_CLASSES_ROOT\batfile\shell\edit]

[HKEY_CLASSES_ROOT\batfile\shell\edit\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,25,00,31,00,00,\
00

[HKEY_CLASSES_ROOT\batfile\shell\open]
"EditFlags"=hex:00,00,00,00

[HKEY_CLASSES_ROOT\batfile\shell\open\command]
@="\"%1\" %*"

[HKEY_CLASSES_ROOT\batfile\shell\print]

[HKEY_CLASSES_ROOT\batfile\shell\print\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,2f,00,70,00,20,\
00,25,00,31,00,00,00

[HKEY_CLASSES_ROOT\batfile\shellex]

[HKEY_CLASSES_ROOT\batfile\shellex\DropHandler]
@="{86C86720-42A0-1069-A2E8-08002B30309D}"

[HKEY_CLASSES_ROOT\batfile\shellex\PropertySheetHandlers]

[HKEY_CLASSES_ROOT\batfile\shellex\PropertySheetHandlers\PifProps]
@="{86F19A00-42A0-1069-A2E9-08002B30309D}"

[HKEY_CLASSES_ROOT\batfile\shellex\PropertySheetHandlers\ShimLayer Property Page]
@="{513D916F-2A8E-4F51-AEAB-0CBC76FB1AF8}"

Автор: vsk94
Дата сообщения: 06.06.2008 14:17
Elroir
Респект за проделанную работу!
Опробую завтра утром
(уже 2е сутки на работе )
Автор: JohnRD
Дата сообщения: 06.06.2008 14:25
Elroir

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

for %%p in (E:\install\GetMail\22\*.xml,E:\install\GetMail\22\*.rar) do ..
Автор: Elroir
Дата сообщения: 06.06.2008 15:13
JohnRD

Цитата:
я прописал так, но почти уверен что это не правильно

Правильно
Если в пути есть пробелы, то нужно добавлять кавычки, если нет - можно и так.
Автор: Nagual
Дата сообщения: 06.06.2008 16:57
JI063uk
Код:
CreateObject("WScript.Shell").Run"notepad",0,0
для ожидания выполнения команды поставь вместо второго нуля 1
Автор: Joolz
Дата сообщения: 06.06.2008 17:02
4aplin
Вот пример моего.

Код: @echo off
setlocal
for /f "tokens=5 delims=:" %%i in ('FINDSTR /I "Status:" log.txt') do set aaa=%%i
if NOT %aaa%==OPTIMAL (
sendmail -t < warning.mail
ECHO WARNING        %date% %TIME:~0,8%>>\\Computer\report$\alertlog.txt
) else (
ECHO OK        %date% %TIME:~0,8%>>\\Computer\report$\alertlog.txt
)
pause
Автор: HelioSS
Дата сообщения: 06.06.2008 17:43
Надобы решить такую задачу: запуск Internet-соединения с правами и учётной записью администратора без взаимодействия с Рабочим Столом. В течении работы соединения необходимо с диапазоном в 20 минут по 5 минут пинговать любой адрес.
Автор: Elroir
Дата сообщения: 06.06.2008 18:02
HelioSS

Код:
@echo off
psexec -u ЛОГИН_АДМИНА -p ПАРОЛЬ_АДМИНА rasdial "НАЗВАНИЕ ИНТЕРНЕТ СОЕДИНЕНИЯ"
:loop
ping -n 1201 -w 1000 127.0.0.1>nul
ping -n 301 -w 1000 www.google.com>nul
ping www.google.com | find "TTL=" && goto loop
Автор: utf
Дата сообщения: 06.06.2008 20:27
Это опять я, возвращаюсь к поводу проверки шары.
Да, есть замечательная команда net file, которая отображает открытые пользователями файлы в шаре. Но можно приспособить это команду к условной проверке (if then)?
Т.е. возможно ли реализовать нечто подобное:
if "файл \\server\doc\1.doc открыт пользователем"
then "сделать то то"
else "сделать другое"
За синтаксис не бейте, bat только начал изучать.
Автор: 01MDM
Дата сообщения: 06.06.2008 21:49
utf
Проверить негде, взял за основу справку по net file.


Код:
@echo off

for /f "tokens=1,2*" %%i in ('net file ^| findstr /l "\\server\doc\1.doc"') do (
    if not "%%i"=="" set id=%%i
)

if defined id (
    echo %id% - file id
    net file %id% /close
) else (
    echo file not found
    echo file not opened yet
)

Автор: JohnRD
Дата сообщения: 07.06.2008 05:58
01MDM спаситель

скажите как скрипт заставить удалять те файлы которые были отправлены по FTP? вставлял я del уже но толку нету,

последний вариант

Код: @echo off

set t=%time: =0%
set s=%t:,=%
set s1=%s::=%
set s2=%s1::=%
set d=KONscr%s2%

set d1=%date:~-4%%date:~3,2%%date:~0,2%
set l=E:\install\GetMail\%d1%_%s1%.log

for %%p in (E:\install\GetMail\22\*.xml,E:\install\GetMail\22\*.rar) do (
for /f "tokens=2 delims=_" %%i in ("%%p") do call:inn %%i %%p
)
for %%i in (*.ftp) do (
echo bye>>"%%i"
ftp -n -s:%%i 192.168.60.30>>%l%
------------- поидее тут, но как вписать del %3 , или как сюда передать %%P как параметр тоже?
del "%%i"
)

E:\install\GetMail\soon.exe 100 E:\install\GetMail\91.cmd

goto:eof

:inn
for /f "tokens=1,2 delims=; " %%b in (E:\install\GetMail\1.csv) do if %%b==%1 set login=%%c
set passw=%login%

if not exist "%d%%1.ftp" (
echo user>"%d%%1.ftp"
echo %login%>>"%d%%1.ftp"
echo %passw%>>"%d%%1.ftp"
)
echo put %2>>"%d%%1.ftp"
Автор: mihla
Дата сообщения: 07.06.2008 06:21

Elroir

Цитата:

Создай .reg файл следующего содержания:
Подробнее...
и импортируй его в реестр.
Скорее всего это поможет.


Спасибо огромное! Заработало!!!
Автор: Diman_tlt
Дата сообщения: 07.06.2008 08:31
Подскажите пожалуйста как пингануть диапазон ip адресов (192.168.1.0-192.168.1.100)?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

Предыдущая тема: Сброс пароля администратора


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