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

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

Автор: ANDREYBON
Дата сообщения: 26.09.2007 16:04
Можно мне попросить ВАС написать батник которы бы просматривал дерик торию к примеру c:\1 на предмет наличия в ней файлов doc, exl, и все эти файлы выводились на печать на принтер.
Автор: KapralBel
Дата сообщения: 26.09.2007 16:11
ANDREYBON

Код:
@Echo Off
C:
CD C:\1
For %%a in (*.doc) Do :_prn_doc %%a
For %%a in (*.exl) Do :_prn_exl %%a
GoTo :EOF

:_prn_doc
Echo команда печати файла %*
GoTo :EOF

:_prn_exl
Echo команда печати файла %*
GoTo :EOF
Автор: Elroir
Дата сообщения: 26.09.2007 16:31
ANDREYBON

Цитата:
команда печати файла

Посмотри утилиту ClassExec
Автор: 1ac3124
Дата сообщения: 26.09.2007 22:58
В общем есть такая задача куча фаилов типа *1.part1.rar, *1.part2.rar, *2.part1.rar, *2.part2.rar и тд, нужно всё это дело разаххивировать в определенную дерикторию, сам написал вот что
dir C:\Downloads\test\*part1.rar /B /S > list.txt
for /f %%A in (list.txt) do C:\PROGRA~1\WINRAR\unrar.exe x %%A D:\
вот только не понимаю как сделать, чтоб если всё хорошо, то архивы удалялись, не понимаю как от unrara получить успешно он отработал или что не так
Автор: Tipulatoid
Дата сообщения: 27.09.2007 05:41
ZloyBehemoth
Советую MSGDetach Прога GUI - шная, но умеет работать с комм. строкой. Триальная версия за раз распаковывает не более 25 аттачей. Думаю, вполне подойдет
Автор: ANDREYBON
Дата сообщения: 27.09.2007 05:56
Elroir

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

[more]
@Echo Off
C:
CD C:\1
Set classExecloc=C:\1\classExec.exe
For %%a in (*.doc) Do :_prn_doc %%a
rem For %%a in (*.exl) Do :_prn_exl %%a
GoTo :EOF

:_prn_doc
Echo %classExecloc% %%a.doc --action print --ifexec %*
GoTo :EOF
[/more]

да вообшем если проше то можно не у казывать дерикторию для проверки а проверять ту где будет лежать сам бат. (удолив "C:" и "CD C:\1" будет достаточно?).

помагите разобратся
Автор: Tipulatoid
Дата сообщения: 27.09.2007 06:08
1ac3124

Цитата:
не понимаю как от unrara получить успешно он отработал или что не так

Обыкновенно, обработав код возврата:

Код:
@echo off
for /f %%A in ('dir C:\Downloads\test\*part1.rar /B /S') do (
C:\PROGRA~1\WINRAR\unrar.exe x %%A D:\
if %errorlevel%==0 del /q %%A
)
Автор: Elroir
Дата сообщения: 27.09.2007 06:10
ANDREYBON
Видимо правильно будет так:

Код:
@echo off
setlocal
set "classExecloc=C:\1\classExec.exe"
for %%a in (*.doc) do call :_prn "%%a"
for %%a in (*.xls) do call :_prn "%%a"
GoTo :EOF

:_prn
start /wait "" %classExecloc% %1 --action print --ifexec
GoTo :EOF
Автор: Tipulatoid
Дата сообщения: 27.09.2007 06:22
Elroir
Да, конечно, сам только сообразил это.
1ac3124
Правильно так:

Код: @echo off
setlocal enabledelayedexpansion
for /f %%A in ('dir C:\Downloads\test\*part?.rar /B /S') do (
C:\PROGRA~1\WINRAR\unrar.exe x %%A D:\
if !errorlevel!==0 del /q %%A
)
Автор: ANDREYBON
Дата сообщения: 27.09.2007 06:43
Elroir

спасиб!!

Подскажите пожалуста команду которая может включить комп по сети?
Автор: Maza Faka
Дата сообщения: 27.09.2007 06:49
Elroir
Tipulatoid
А можно не мурыжиться с SETLOCAL и именами файлов, которые могут содержать символ !, а проверять код возврата так:

Код:
@echo off
setlocal enabledelayedexpansion
for /f %%A in (
'dir C:\Downloads\test\*part?.rar /B /S') do C:\PROGRA~1\WINRAR\unrar.exe x "%%A" D:\ && del /q /f "%%A"
Автор: Elroir
Дата сообщения: 27.09.2007 06:56
Maza Faka
Чего это никто не спит? (все - понял, у меня же на 2 часа меньше)

Цитата:
А можно не мурыжиться с SETLOCAL и именами файлов

Не... все равно придется мурыжиться - стирать-то надо не только первые части архива, а все остальные тоже. А для этого придется вытаскивать общую часть имени.
Автор: Maza Faka
Дата сообщения: 27.09.2007 06:56
ANDREYBON

Цитата:
команду которая может включить комп по сети

Тынц
Автор: Elroir
Дата сообщения: 27.09.2007 07:02
ANDREYBON
Или тынц
Автор: Smitis
Дата сообщения: 27.09.2007 09:29
Tipulatoid
У меня для распаковки многотомных архивов что-то типа такого:

Код:
@echo off
for /f %%a in ('dir /b/s *.part1.rar') do call :unrar "%%~a"
goto:eof

:unrar
setlocal
pushd "%~dp1"
set r=%~n1
set r=%r:.part1=%
unrar x "%r%.part1.rar" *.* && del /q/f "%r%.part*.rar"
popd
endlocal
goto:eof
Автор: ANDREYBON
Дата сообщения: 27.09.2007 10:10
Второй тынц прошел а первый даж не смог посмотреть. СПАСИБ!! ВСЕМ ВАМ!!!

Добавлено:
вот сново нужна помош саздаю папку в формате текушей даты, а после этого мне нужно переместить все файлы из папки где лежит батник в эту созданную папку и эту работу должен проделывать каждый день.

Код:
@echo off
for /f %%d in ('date /t') do set dt=%%d
md %dt%
Автор: 01MDM
Дата сообщения: 27.09.2007 12:16
ANDREYBON

Код:
@echo off
md "folder\%date%"
move *.* "folder\%date%"
Автор: king_stiven
Дата сообщения: 27.09.2007 12:24
ANDREYBON
папка где лежит батник определяется как %~dp0. Попробуй сначала сам написать.
Автор: 01MDM
Дата сообщения: 27.09.2007 12:34
ANDREYBON
Или так из той-же директории

Код:
@echo off
md %date%
for /f "delims=" %%i in ('dir /b ^| find /v "batname.cmd"') do move %%i %date% 2>nul
Автор: ANDREYBON
Дата сообщения: 27.09.2007 15:16
king_stiven
это вы мне за эту строку for /f %%d in ('date /t') do set dt=%%d я ж учусь и буду еще много ошибается, главное учится.

01MDM
спасиб!!
Автор: 1ac3124
Дата сообщения: 27.09.2007 16:53
млин..перепробывал все преложенные варанты, все хорошо, только удаляет первый том архива Ж((( можно же как-то получить общую чатсь имени архивов
Автор: Elroir
Дата сообщения: 27.09.2007 17:16
1ac3124
Вариант Smitis-а как раз и удаляет все части.
Автор: simplix
Дата сообщения: 27.09.2007 21:50
Появилась необходимость перезагружать модем по событию, и мне кажется лучше делать это через telnet и батником. Но проблема в том, что остальные команды выполняются в самом телнете, т. е. подключаемся:

telnet ip

а далее уже внутри него нужно ввести:

-->login
-->pass
-->system restart

Подскажите пожалуйста, как это можно организовать батником или другой аналогичной утилиткой.
Автор: Elroir
Дата сообщения: 27.09.2007 22:31
simplix
Посмотри в шапке, в разделе "Полезные утилиты", утилиту tst - Telnet Scripting Tool.
Автор: AZJIO
Дата сообщения: 28.09.2007 03:33
KapralBel
Пробовал качать батником автоматически с ФТП, три раза пришли битые файлы, хотя трафик закачки показывает и лог-данные пишет, что всё нормально, файл скачан за столько-то секунд. Пробовал на мелких файлах. Качалки качают и файлы не битые. В общем уже с качалкой разабрался, её достаточно.
Автор: vu1tur
Дата сообщения: 28.09.2007 08:46
AZJIO

Цитата:
Пробовал качать батником автоматически с ФТП, три раза пришли битые файлы

возможно нужно было поставить режим binary
Автор: JazzTM
Дата сообщения: 01.10.2007 06:42
Можно ли решить следующую задачу с помощью батника?:
1. Скачать обновление http://downloads1.kaspersky-labs.com/zips/av-i386-daily.zip на диск D:\
2. Разархивировать антивирусные базы в P:\AVPBases
3. Залить разархивированные базы из P:\AVPBases на ФТП. Вход на фтп с логином и паролем.
Автор: Tipulatoid
Дата сообщения: 01.10.2007 07:00
JazzTM
Можно, с использованием сторонних утилит - качалки wget, архиватора rar, а ftp-утилита и так по умолчанию стоит. Сейчас набросаю на скорую руку.
Автор: Elroir
Дата сообщения: 01.10.2007 07:03
Tipulatoid
Консольный Rar не открывает zip-ы. Тут нужно что-нибудь вроде pkunzip.exe.
Автор: KapralBel
Дата сообщения: 01.10.2007 07:04
JazzTM
не в тему, но все таки
Если уж используешь такой тип обновления, то лучше качай не .zip а сразу обновления нормального вида
А то в последнее время с .ZIP какие-то проблемы у ЛК

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869

Предыдущая тема: Доступ к реестру через RegEdit?


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