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

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

Автор: merphy69
Дата сообщения: 21.08.2008 14:15
камрады, подскажите как реализовать следующую задачу:

есть директории opath и mail
set opath=d:\iconv\outcome\
set mail=d:\iconv\outcome\@mail\

необходимо найти все файлы *.eml в opath и во всех ее поддиректориях и переместить в папку mail

спасибо!

Добавлено:

Цитата:
камрады, подскажите как реализовать следующую задачу:

есть директории opath и mail
set opath=d:\iconv\outcome\
set mail=d:\iconv\outcome\@mail\

необходимо найти все файлы *.eml в opath и во всех ее поддиректориях и переместить в папку mail

спасибо!


ответ нашелся здесь:
http://forum.ru-board.com/topic.cgi?forum=5&topic=25393&start=1200#8
Автор: 7yu8
Дата сообщения: 21.08.2008 16:14
Привет всем.
Такая задача. На сервере 2003 вечером нужно логофить терминальные сессии цитрикса котые висят в дисконнекте, нашол вот такой скрипт:

query session | find /v ">" | find "wdica" | find /v "6553" > session.txt
type session.txt |find /v "ica-tcp#" > noactive.txt
for /f "tokens=1,2,3" %%I in (noactive.txt) do echo Y|logoff %%J
#del noactive.txt
#del session.txt

файлы формируються нормально
а дальше его циклит и сессии не отрубаються,
хотя если просто написать в батнике logoff 22 например - то все работает.
В чем проблема, напишите как правильно
Автор: 01MDM
Дата сообщения: 22.08.2008 09:50
pgofman2

Цитата:
последний вопрос - а как добавить в этот скрипт проверку
на наличие Сетевого Соединения как такового?


Попробуй добавить сам
Вот этот код для проверки:

Код:
@echo off

for /f "tokens=1,2" %%i in ('wmic nic get deviceid^,netconnectionstatus') do (
    if "%%i" equ "1" (
        if "%%j" equ "2" (echo net is on) else (echo net is off)
    )
)
Автор: king_stiven
Дата сообщения: 22.08.2008 11:27
7yu8
Вот эта строчка какая то странная
Код: for /f "tokens=1,2,3" %%I in (noactive.txt) do echo Y|logoff %%J
Автор: 7yu8
Дата сообщения: 22.08.2008 11:48
king_stiven
да я сам догадывась что именно в ней и кроеться нечто
вот пример noactive.txt

Ќ в 15 Disc wdica
filimonova 22 Disc wdica
obezuglaya 23 Disc wdica

нужно чтоб в цикле выполнялась команда logoff с номером сесиии
в данном случае три раза, вот так :
logoff 15
logoff 22
logoff 23

Добавлено:
УРААААА !!!
все, проблема решена

Следует иметь в виду, что данный файл ни в коем случае нельзя называть именем системной команды, например, Logoff.bat, иначе возможно зацикливание выполнения ...

всем спасибо
Автор: NIKZZZZ
Дата сообщения: 22.08.2008 18:08
Не проскакивал где-либо архиватор, позволяющий распаковывать .iso ? Консольная версия 7z работает как-то непонятно.
Автор: yurkesha
Дата сообщения: 22.08.2008 18:50
NIKZZZZ
UltraISO в консольном режиме устроит? А-ля:
ultraiso -silent -input 1.iso -list filename
ultraiso -silent -input 1.iso -extract NEWDIR -get filename

Автор: NIKZZZZ
Дата сообщения: 22.08.2008 19:26
yurkesha

Цитата:
UltraISO в консольном режиме устроит?

UISO требует установки и регистрации, нужен какой-либо бесплатный архиватор, который можно кинуть рядом с батником. Хотя, может и Uiso в консольном режиме пройдет в триальном варианте.



Добавлено:
7za.exe - при попытке полностью распаковать Iso , распаковал только один файл , упакованный в Cab. То-есть он посчитал Iso образ каталогом, нашел там упакованный файл и распаковал его !
Автор: Nagual
Дата сообщения: 22.08.2008 19:34
NIKZZZZ
напиши как распаковываешь
Автор: NIKZZZZ
Дата сообщения: 22.08.2008 20:38
Nagual
7za.exe x file.iso -od:\xxx *.* -r
Автор: Nagual
Дата сообщения: 22.08.2008 20:53
попробуй так
7z(a) x -r -aoa -o"куда" "что"
Автор: NIKZZZZ
Дата сообщения: 22.08.2008 21:11
Nagual
Результат тот-же - если в iso есть упакованный файл, распаковывает его. Иначе "Error: Can not open file as archive"
Автор: yurkesha
Дата сообщения: 22.08.2008 21:11
NIKZZZZ
ultraiso патченный требует один единственный исполняемый файл...
А непатченный требует еще uikey.ini...
Вобщем это не возражение...
Автор: NIKZZZZ
Дата сообщения: 22.08.2008 21:49
Решил проблему - скачал последнюю бетку 7z (v460 beta, не консоль), 7z.exe из нее нормально распаковывает Iso. Странно, что аналогичная консольная версия (7za) этого не делает.
Wim файлы так-же нормально распаковываются.
Автор: Nagual
Дата сообщения: 23.08.2008 20:29
NIKZZZZ
мне кажется тут дело не в последней бета-версии, а в наличии библиотеки поддержки других типов архивов 7z.dll
попробуй положи ее рядом с консольным архиватором
а что ты подразумеваешь под упакованным файлом?
как воспроизвести такой iso-шник?
было бы неплохо, если бы его куда-нить выложил для теста, ессно, не сильно тяжелый
Автор: NIKZZZZ
Дата сообщения: 23.08.2008 20:46
Nagual

Цитата:
мне кажется тут дело не в последней бета-версии, а в наличии библиотеки поддержки других типов архивов 7z.dll

Консольный 7z.exe архиватор не требует 7z.dll, все необходимое в нем самом, это проверено.

Цитата:
как воспроизвести такой iso-шник?

Обычный Iso образ, в котором есть упакованные файлы (например, дистрибутив виндов, файлы с расширением .??_ )

Автор: Nagual
Дата сообщения: 23.08.2008 21:25
NIKZZZZ
только что проверил дистр w2k3, в котором присутствуют указанные тобой cab-файлы
для извлечения использовал команду, указанную мной ранее
все отлично распаковалось при условии наличия указанного мной файла 7z.dll
стоило переименовать 7z.dll, в результате никакой распаковки
что и требовалось доказать
так что читай внимательно справку к архиватору
насколько я помню, архиватор в чистом виде способен распаковать только 7z, даже zip не может без подключения указанной библиотеки, которую, кстати, активно и без стыда использует винни рар
Автор: pgofman2
Дата сообщения: 24.08.2008 09:13
01MDM
спасибо огромное за помощь
Автор: SKHY
Дата сообщения: 25.08.2008 08:19
Здравствуйте!
Кто нибудь подскажите плз еслит знаете.
в батнике использую команду

net use X: \\192.168.10.10\share /User:domen\username fd*AWz%9vbd

при запуске комбинация %9 в пароле пропадает и соответственно получаю ошибку 1326.
если скопировать сие выражение напрямую в командную строку то %9 остается и все работает ок.

как можно сделать так чтобы %9 не выпадал при автозапуске???
Автор: 01MDM
Дата сообщения: 25.08.2008 08:32
SKHY

Цитата:
как можно сделать так чтобы %9 не выпадал при автозапуске???


Удвой знак "%" - %%9

Автор: Elroir
Дата сообщения: 25.08.2008 08:33
SKHY

Цитата:
как можно сделать так чтобы %9 не выпадал при автозапуске???

Удвой знак процента.

Добавлено:
01MDM
Автор: SKHY
Дата сообщения: 25.08.2008 11:57

Цитата:
Удвой знак процента.


Цитата:
Удвой знак "%" - %%9


Спасибо. Все ОК
Автор: SKHY
Дата сообщения: 27.08.2008 06:44
Здравствуйте!

Опять вопрос

Мне необходимо периодически останавливать и запускать сервис. Использую в батнике команду net stop и net start. Проблема в том что сервис запускается очень долго и иногда net start просто переключается обратно в net stop с сообщением о невозможности запустить указанный сервис.

Можно ли установить конкретное время таймаута используя net start для запуска сервиса?
Есть ли другой способ перезапуска сервиса из бат файла?
Автор: NovaC
Дата сообщения: 27.08.2008 07:29
NIKZZZZ
большое спасибо за пример.
можно, пожалуйста, поподробне об этом:

Код: :sum
set s=0000000000000000%1
set s=%s:~-16%
set size=0000000000000000%size%
set size=%size:~-16%
set /a sr=1%s:~-8%+1%size:~-8%-200000000
set sr=0000000000000000%sr%
set sr=%sr:~-16%
set /a sl=1%s:~0,-8%+1%size:~0,-8%+1%sr:~0,-8%-300000000
set sl=0000000000000000%sl%
set sl=%sl:~-8%
set size=%sl%%sr:~-8%
goto :eof
Автор: Mercmer
Дата сообщения: 27.08.2008 09:28
мне нужно создать батник который бы собирал статистику, какие файлы были удалены а какие созданы. То есть в первый месяц просто генерится текстовик со списком файлов. А во второй месяц. Нужно чтобы батник проверил точно ли тот файл был создан в прошлый месяц. Дважды в одном месяце не надо. Потом посторчное сравнение, потом вывод результата. Потом старый затираем, а новый переименовываем. Дак вот главная загвоздка, как выдрать дату создания (а точнее месяц) из старого файла и сравнить?
Автор: Cyril Konst
Дата сообщения: 27.08.2008 11:13
Есть задача скопировать все *.doc файлы в новый каталог с сохранением структуры:
такой код:

Код: for /R "C:\Documents and settings" %f in (*.doc) do xcopy "%f" "d:\111\doc%~pnxf" /i
Автор: SIS33
Дата сообщения: 27.08.2008 12:36
Mercmer
Нашел решение черкни
Автор: Smitis
Дата сообщения: 27.08.2008 13:14
Cyril Konst

Цитата:
"Что означает destination:
имя файла или каталога
(F = файл, D = каталог)?"
Как от него избавиться?

Так

Код:
for /R "C:\Documents and settings" %f in (*.doc) do echo f|xcopy "%f" "d:\111\doc%~pnxf" /i
Автор: king_stiven
Дата сообщения: 27.08.2008 13:49
Cyril Konst

Цитата:
перед копированием каждого файла выдаёт запрос:
"Что означает destination:
имя файла или каталога
(F = файл, D = каталог)?"
Как от него избавиться?


Код: for /R "C:\Documents and settings" %f in (*.doc) do xcopy "%f" "d:\111\doc%~pf" /i
Автор: Mercmer
Дата сообщения: 28.08.2008 08:08
Более или менне разобрался. У меня вопрос по поводу команды fc. Можно ли изменить вид стандартного вывода. Вывести просто какие есть строки в первом файле и нет во втором и наоборот? Или может вообще можно не использовать эту команду а как нибудь по другому?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

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


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