Ru-Board.club
← Вернуться в раздел «Программы»

» Командная строка, батники, сценарии (bat, cmd)

Автор: Crash Master
Дата сообщения: 25.09.2002 18:22
ymy

Цитата:
Я же написал по маске, на правой клавиатуре +,
ну или через меню Files\Select Group и пишешь *.*|*.old

Ок, так и сделал в вин соммандере и запустил на ночь, большой sanx
Автор: KLASS
Дата сообщения: 25.09.2002 18:41
ymy

Цитата:
("%DATE%")

Ну и я туда же... тока без кавычек

Цитата:
А насчёт двух команд их можно в отдельный батник и передавать имя как параметр

Учту! Сенкс

Добавлено
ymy
Исправь в последнем посте код, а то кто нить не разбираясь скопирует и будет потом репу ломать не хватает команды reg import.
Автор: retro
Дата сообщения: 12.05.2003 23:00
Прошу прощения, не нашел сразу такую тему, запостил в топике про backup, а оно прямо сюда просится... Пусть здесь тоже побудет?



На компе стоит Backup2001 Pro и каждую ночь делает два Job'a в разное время. Каждый Job примерно 25-30мг. Все это собирается в одной папке на одном и том же физическом диске и хранится (не стирается год). Кроме этого, на другом компе имеется Zip на 250мг. Как раз на рабочую неделю. На самый черный день... Надо 3 простейших батника, один из которых del *.* я написал сам Остальные два уже сложнее... В общем нужно, чтобы:
1) каждое воскресение (понедельник) все стиралось с Zip';
2) каждое утро из папки с файлами Backup'oв забирались два ПОСЛЕДНИХ (свежих, по числу) и разных (по названию) файла;
3) все это записать в log;
4) никаких prog, КРОМЕ DOS, комп куда уходят файлы (где Zip), абсолютно пустой, харда нет (не совсем обычный - промышленный, но есть BIOS, 20 мг RAM, грузится с 5,25'' дискеты DOS 6.22 + сеть, модем и т.д.)...

Какие-то есть переключатели в команде copy? Не смог найти...
Автор: Uncle KILLER
Дата сообщения: 13.05.2003 02:47
KLASS, загляни сюда: http://www.ss64.com/nt/regedit.html , там про реестр вроде бы подробно сказано... На будущее...
Автор: KLASS
Дата сообщения: 13.05.2003 07:34
Uncle KILLER

Цитата:
там про реестр вроде бы подробно сказано... На будущее...

Старик, не сочти меня неблагодарным свинтусом, спасибо конечно за ссылу, но я често не понял, что ты имел ввиду, давая ее. Поясни пожалуйста.
Автор: retro
Дата сообщения: 13.05.2003 16:38
KLASS
Помоги мне, пожалуйста... Если, конечно, не в лом... Два поста выше.
Автор: KLASS
Дата сообщения: 13.05.2003 17:19
retro

Цитата:
Помоги мне, пожалуйста... Если, конечно, не в лом...

Да дело не в том, что в лом, я видел твой пост, просто все как-то для меня запутано. Давай попробуем вслух начать разбираться, а народ думаю подключится.
1. пункт я так понял ты освоил, т.е. все у тя стирается
2.
Цитата:
каждое утро из папки с файлами Backup'oв забирались два ПОСЛЕДНИХ (свежих, по числу) и разных (по названию) файла;

Что значит забирались, по загрузке\перезагрузке или по расписанию или еще как. Если по расписанию то командой АТ, если по перегрузке у мя это файлы сценарии делают, как выше ymy подсказывал. Сразу возникает вопрос, кторый задал мне он:

Цитата:
а как у тебя имена .reg файлов генерятся?

А как у тя имена генерятся? Я вот к примеру программой
Цитата:
Backup2001 Pro
не пользуюсь и не знаю чего она там бекапит. Возможно тебе стоит описать не только какими программами ты это делаешь, а еще и то, что ты бекапишь. Возможно есть разные пути осуществления твоей цели. Давай подробней все изложи.
Автор: retro
Дата сообщения: 13.05.2003 18:28
KLASS Ну, до сегодняшнего дня было так: один сет backup собирает все из папки "Мои документы" с диска C и пишет на другую партицию в свою папку, второй сет просто копирует всю папку с почтовыми делами (там балаган страшный, я просто целиком ее копирую, со всеми папками-подпапками) в ту же папку, где первый). Т.о. получается два файла каждый день. Backup каждый день полный - не инкреминтальный и не дифференциальный, поскольку они не большие - оба где-то 35-40 мг. Как я уже писал, компы не совсем обычные, стоят на мебельном заводике. Нет никакой возможности что-то физически всунуть, вот только есть встроенный накопитель типа Зип. На 1 компе Win98, где я поставил Backup2001 Pro из-за малого размера, хорошей работы и идеальной простоты... Вот по последнему пункту есть свои минусы, вернее нет никаких дополнительных установок, просто копирует и все. Главный диск (на 98) дышит на ладан, не сегодня-завтра гавкнется... В этом случае просто заменяется диск, на котором весь их софт и свой backup, t.e. никаких проблем с этим нет, а вот для почты и документов это просто не предусмотренно и все пропадет. Имя файла генерируется так: Mail_030510_1527.bkk и Doc_030510_1435.bkk, что означает год, месяц, число, время (час и минут). Я это могу изменить (для понимания DOS'om). Компы не выключаются, Backup делается по своему расписанию. Чего-то я путанно описал... Спроси еще, что надо добавить...


Добавлено
QBO_20030513_17-54-45.001 (Quick Backup Outlook)
Test_20030513_17-55-37.001 (Это я сам дал имя)

Вот так генерятся имена, и изменить их нельзя, я перепутал с другой прогой...
Можно только само имя, Тест, например. Все остальное добавляется само. Завтра, очевидно будут *****.002 и т.д.
Автор: KLASS
Дата сообщения: 13.05.2003 20:38

Цитата:
На 1 компе Win98,

Упс.. во первых у мя ее нет в ящике, во вторых, я не уверен на 100, но думаю, что это так: дабы хоть что-то подобное можно было сделать автоматом, 98 не прокатит. У меня нечто подобное (ХР) с вычислением имени и даты делается при помощи команды FOR (запуск некоторой команды для каждого файла из заданного множества) см. выше в теме. В 98х эта команда ваще никакая. Попробуй посмотри в справке, чего она может. Но я сильно сомневаюсь, что на 98 можно такое замутить. Там ведь даже наверное и Xcopy нет команды? Я просто уже и не помню.
Давай я буду просто нести ахинею, как я бы пытался это сделать теоретически в ХР, а ты смотри команды от 98. Чем черт не шутит. Значит так, у тя в определенном каталоге собираются туева хуча файло и те надо чтобы от теда брались тока два последних файло. Значит, думаю, надо убить все файло в папке кроме последних, новых двух, а их уже копировать куда угодно. К примеру у меня есть такой каталог куда скидывается файло типа твоего и мне надо, так чтобы файло накапливалось не более 2, а старые убивались. Для этого у мя в батнике прописана строка

Цитата:

cd /d E:\!\BAK\REG\DAY - это каталог кда файло валится
@for /f "skip=2" %%i in ('dir /b /o:-d /t:w *.reg') do @del /q %%i

Все команды я ессно наизусть не помню, но теоритически у мя в данном каталоге всегда остается только 2 файла и потом я могу делать с ними все что хочу из этого же батника, той же командой COPY.
А вот теперь у кого стоит 98 пускай скажут, если там такая возможность команды FOR в чем я шибко сомневаюсь.
Автор: retro
Дата сообщения: 13.05.2003 21:41
KLASS

Цитата:
надо убить все файло в папке кроме последних, новых двух, а их уже копировать куда угодно

Нет, в том-то и дело, что нельзя... А вдруг 2 последних (предпоследних) как раз и выйдут плохо, а все другие угроблю? Я могу делать все, что хочу, но только на 2 компе. В 98 есть Xcopy, а зачем она нужна, ведь папок нет, только файлы. У меня тоже нет 98, она просто на мой комп не ставится... Сколько раз хотел поставить и имидж сделать, чтобы всякие такие задачки решать, но увы, не дружит с железом. Много его у меня...
For есть и в DOS, но имена длинные опять же...
Автор: KLASS
Дата сообщения: 13.05.2003 22:26
retro

Цитата:
В 98 есть Xcopy, а зачем она нужна, ведь папок нет, только файлы.

Да не бери в голову это я так типа чего там ваще можно сделать-то в 98?

Цитата:
Нет, в том-то и дело, что нельзя...

Тогда ахинея №2, не убивай их, но копируй сначала в соседнюю папку все, а потом убей из предыдущей папки, оставив тока два последних и после их копируй. Или во еще, вместо команды DEL попытаться прикрутить COPY в ту строку, чтобы сразу твои два файла копировались.

Цитата:
For есть и в DOS

Дело то в том что FOR в ХР уж больно сильно выросла по сравнению с той же 98, я потому и печалюсь, что не поможет.
Автор: Uncle KILLER
Дата сообщения: 14.05.2003 00:56
KLASS, я, грешным делом, подумал, что тебе может такая мелочь пригодиться, а потом уж вспомнил, что ты s2709 консультировал по тому же реестру, и довольно избыточно... Так что бум считать пост непреднамеренным...
Автор: rits
Дата сообщения: 14.05.2003 02:23
в 98 у for никаких опций нет.
т.е. синтаксис такой:
FOR %переменная IN (набор) DO команда [параметры]

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

Код: for %%i in ('dir /b /o:-d /a:-d /t:w *.*') do copy %%i targetpath
Автор: tumber
Дата сообщения: 14.05.2003 14:36
В xcopy (98) есть параметр /D:дата - копировать файлы, измененные не ранее указанной даты. Плохо, что команда date (98) не знает параметра /T.
Поэтому я в аналогичной ситуации сделал простенький вспомогательный exe-шник, который генерит нужный bat-ник. В данном случае может быть так:

{Turbo Pascal}
uses Dos;
var
Year, Month, Day, DayOfWeek : Word;
Month_str, Day_str : String;
f : Text;
begin
GetDate(Year, Month, Day, DayOfWeek);
Str(Month, Month_str);
if Length(Month_str) = 1 then Month_str := '0' + Month_str;
Str(Day, Day_str);
if Length(Day_str) = 1 then Day_str := '0' + Day_str;
Assign(f, 'rezerv.bat');
Rewrite(f);
Writeln(f, 'copy QBO_', Year, Month_str, Day_str, '*.* ', 'destination_path');
Writeln(f, 'copy Test_', Year, Month_str, Day_str, '*.* ', 'destination_path');
Close(f);
end.

В результате создается файл rezerv.bat такого содержания:

copy QBO_20030514*.* destination_path
copy Test_20030514*.* destination_path

Это, конечно, не чистая командная строка, но задачу решает.
Автор: gera serg
Дата сообщения: 14.05.2003 18:15
Народ, переползайте с батников на vbScript !
почитать можно http://www.borncity.de/WSHBazaar/
да и книжка Борна на русском есть в продаже.

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

програмка в виде текста на 100 строк (с всевозможными проверками наличия, правильности типа...) 4 кБ весом

И все необходимое есть уже в Виндузе или скачивается с MS
Автор: help
Дата сообщения: 16.05.2003 12:56
gera serg
ага , jscript незабудь, а еще perl есть

Автор: gera serg
Дата сообщения: 16.05.2003 14:08
help
Не надо иронии
Возьми Блокнот, вбей туда ОДНУ строчку

MsgBox "Привет, Help!"

И сохрани на Рабочий стол в test.vbs

Кликни по иконке мышей - и вот она, самая простая работающая программа
И не надо никаких сред разработки, компиляторов...

Язык упрощенный Basic изучается за неделю, можно писать программки для манипуляции файлами системы на уровне самых крутых Батников.
Через месяц сможешь работать с начинкой текстовых файлов (формировать логи на вход и выход для пакетной обработки). А если голова позволяет и раньше

С MS свободно скачиваются Хелп и Дебагер скриптов, весит все копейки...
Автор: help
Дата сообщения: 16.05.2003 16:24
gera serg
тогда почему то что работает в wsh5 не работает в wsh2, а bat или cmd работают везде,
а если добрый админ отключит vbs, js или сделает чтобы сценарии открывались в блокноте. Кстати есть книга Попова на эту тему, рекомендую прочесть

Автор: gera serg
Дата сообщения: 16.05.2003 18:31
Признаюсь, я не сталкивался со злобными админами, видимо потому, что пишу полезняшки на VBScript в первую очередь для себя и своего персонального друга. И себе отключать возможность запускать vbs не собираюсь. Добрый я.
Посколько я недавно обнаружил возможности vbs, поставил последнюю версию wsh5, что на их сайте.
Ну а возникнет необходимость, распакую VB5 и превращу vbs в exe с минимальными переделками в коде. Язык один - MSBasic . Визуальная часть (формы) мне ненужна, стандартные диалоги выбора файла вызываются из vbs, логи вход-выход текстовые...
Что еще для автоматизации рутинной работы надоть?

То что работает в wsh5 и не работает в wsh2, это отловить наверно можно, работа с FSO недолжна сильно отличаться. Но проще попить с админом пива и поставить на сервере wsh5. Ведь для работы же...
Автор: Leshyi
Дата сообщения: 13.06.2003 09:38
ping оставляет после выполнения несколько строк:
 
после успешного прохождения пакетов - время прохождения,... ;
после неудачной попытки - "Превышен интервал ожидания"
 
как можно сделать, чтобы в батнике эта информация сохранилась в какой-то переменной или отправилась по net send ?
Автор: counter
Дата сообщения: 13.06.2003 16:48
Leshyi
тебе именно в переменную нужно или достаточно
ping hostname > filename.txt
какая конечная цель?
Автор: ironwit
Дата сообщения: 19.06.2003 11:21
как получить в батнике текущий день? То есть из даты 19,06,2003 выковырять 19.

Добавлено
вот программа

section 1 of 1 of file exprdate.exe (SKUUE 0.4.6beta/FAR)
table
`!"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
SKUUEAttr )@``````%``````````````!``$`````````````````!#8````
begin 700 exprdate.exe
M35I0``(````$``\`__\``+@`````````0``:````````````````````````
M``````````````````````$``+H0``X?M`G-(;@!3,TAD)!4:&ES('!R;V=R
M86T@;75S="!B92!R=6X@=6YD97(@5VEN,S(-"B0W````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M`````````````````````````````````````````%!%``!,`08`&5Y"*@``
M````````X`".@0L!`AD`!`````P```````#H$0```!`````@`````$```!``
M```"```$``````````0``````````'`````$`````````P``````$```0```
M```0```0````````$````````````````$```*0$````8`````(`````````
M````````````````4```L```````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````0T]$10````#D`P```!`````$````!```````````````````
M(```8$1!5$$`````)``````@`````@````@``````````````````$```,!"
M4U,``````!4`````,``````````*``````````````````````#`+FED871A
M``"D!````$`````&````"@``````````````````0```P"YR96QO8P``L```
M``!0`````@```!```````````````````$```%`N<G-R8P`````"````8```
M``(````2``````````````````!```!0`````````````````'``````````
M%```````````````````0```4```````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M`````````````````````````````````````````````/\EL$!``(O`_R6L
M0$``B\#_):A`0`"+P/\EI$!``(O`_R6@0$``B\#_)9Q`0`"+P/\EF$!``(O`
M_R640$``B\#_)9!`0`"+P/\EC$!``(O`_R6(0$``B\#_)81`0`"+P/\E@$!`
M`(O`_R5\0$``B\#_)7A`0`"+P/\EP$!``(O`N`0@0`#HUO___\.04XO8,\"C
M`"!``&H`Z-O___^C`#!``*$`,$``HP@@0``SP*,,($``,\"C$"!``.C!____
MN@0@0`"+P^AE____6\.-0`!5B^PSP%5H]1!``&3_,&2)(/\%!#!``#/`6EE9
M9(D0:/P00`##Z2[____K^%W#B\"#+00P0``!P_\ES$!``(O`_R7(0$``B\#_
M)=A`0`"+P/\EU$!``(O`58OL,\!5:$T10`!D_S!DB2#_!0@P0``SP%I9662)
M$&A4$4``P^G6_O__Z_A=PXO`@RT(,$```</_)>Q`0`"+P/\EZ$!``(O`_R7D
M0$``B\#_)>!`0`"+P%6+[#/`56B?$4``9/\P9(D@,\!:65EDB1!HIA%``,/I
MA/[__^OX7<,'````L!%````10`#0$$``<!!``&@00``@$4``&!%``%@10``H
M$4``$!%```@10`!X$4``<!%```````"`$4``58OLN00```!J`&H`277Y4:&X
M0$``Q@`!N*@10`#H@O[__S/`56AZ$T``9/\P9(D@Z$O___^#Q/C='"2;N1`P
M0`"Z#C!``+@,,$``Z"C___^-5>RX`0```.C#_?__BT7LZ/O]__^%P'X4C57H
MN`$```#HJOW__XM%Z(H`ZP*P("QD=`HL"71&+`QT(NM@#[<5$#!``*&T0$``
MZ)+]___HA?W__^AP_?__Z<H````/MQ4,,$``H;1`0`#H<OW__^AE_?__Z%#]
M___IJ@````^W%0XP0`"AM$!``.A2_?__Z$7]___H,/W__^F*````C57D,\#H
M*?W__XU%Y+J0$T``Z&3]__^+5>2AM$!``.A?_?__Z"+]___H_?S__XU5X#/`
MZ/O\__^-1>"ZK!-``.@V_?__BU7@H;1`0`#H,?W__^CT_/__Z,_\__^-5=PS
MP.C-_/__C47<NLP30`#H"/W__XM5W*&T0$``Z`/]___HQOS__^BA_/__,\!:
M65EDB1!H@1-``(U%W+H%````Z,?\___#Z:G\___KZ^BR_/__``#_____$P``
M`"!D87D@;W5T<'5T(&-U<B!D87D`_____Q<````@;6]N=&@@;W5T<'5T(&-U
M<B!M;VYT:`#_____%0```"!Y96%R(&]U='!U="!C=7(@>65A<@``````````
M``````````````````````````````#_____````````````````````````
M````````M$!``+A`0```````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M`````````/1```!X0```````````````````8D,``,!`````````````````
M``"$0P``R$```````````````````,Q#``#40```````````````````$$0`
M`.!``````````````````````````````/Y````<00``.$$``&I!``"N00``
MQD$``/)!```20@``*$(``&Y"``",0@``MD(``.1"```,0P``)$,``#Q#``!.
M0P```````'!#````````CD,``*Y#````````UD,``/1#````````&D0``#I$
M``!81```;D0```````!R=&PW,"YB<&P```!`4WES=&5M0&EN:71I86QI>F%T
M:6]N)'%Q<G8```!`4WES=&5M0$9I;F%L:7IA=&EO;B1Q<7)V````0%-Y<W1E
M;4!296=I<W1E<DUO9'5L921Q<7)P,3=3>7-T96U`5$QI8DUO9'5L90````!`
M4WES=&5M0$!7<FET93!,4W1R:6YG)'%Q<G(Q-5-Y<W1E;4!45&5X=%)E8W@Q
M-U-Y<W1E;4!!;G-I4W1R:6YG`````$!3>7-T96U`0$Q3=')#870D<7%R=@``
M`$!3>7-T96U`0$Q3='),96XD<7%R>#$W4WES=&5M0$%N<VE3=')I;F<`````
M0%-Y<W1E;4!`3%-T<D%R<F%Y0VQR)'%Q<G!V:0````!`4WES=&5M0$!(86QT
M,"1Q<7)V````0%-Y<W1E;4!`4W1A<G1%>&4D<7%R<#(S4WES=&5M0%!A8VMA
M9V5);F9O5&%B;&5P,3=3>7-T96U`5$QI8DUO9'5L90```$!3>7-T96U`0$AA
M;F1L949I;F%L;'DD<7%R=@```$!3>7-T96U`0%=R:71E3&XD<7%R<C$U4WES
M=&5M0%1497AT4F5C`````$!3>7-T96U`0%=R:71E,$QO;F<D<7%R<C$U4WES
M=&5M0%1497AT4F5C:0````!`4WES=&5M0$!&;'5S:"1Q<7)R,353>7-T96U`
M5%1E>'1296,`````0%-Y<W1E;4!087)A;5-T<B1Q<7)I````0%-Y<W1E;4!`
M7TE/5&5S="1Q<7)V````0%-Y<W1E;4!/=71P=70`````0%-Y<W1E;4!)<T-O
M;G-O;&4`:V5R;F5L,S(N9&QL`````$=E=$UO9'5L94AA;F1L94$``')T;#<P
M+F)P;````$!3>7-C;VYS=$!I;FET:6%L:7IA=&EO;B1Q<7)V````0%-Y<V-O
M;G-T0$9I;F%L:7IA=&EO;B1Q<7)V`')T;#<P+F)P;````$!4>7!E<T!I;FET
M:6%L:7IA=&EO;B1Q<7)V`````$!4>7!E<T!&:6YA;&EZ871I;VXD<7%R=@``
M<G1L-S`N8G!L````0%-Y<W5T:6QS0&EN:71I86QI>F%T:6]N)'%Q<G8```!`
M4WES=71I;'-`1FEN86QI>F%T:6]N)'%Q<G8```!`4WES=71I;'-`1&%T921Q
M<7)V````0%-Y<W5T:6QS0$1E8V]D941A=&4D<7%R>#$V4WES=&5M0%1$871E
M5&EM97)U<W0R=#(`````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M```0``"@`````C`*,!(P&C`B,"HP,C`Z,$(P2C!2,%HP8C!J,'(P>C"!,)(P
MGC"C,*@PKS"V,,`PUS#C,/`P`C$*,1(Q&C$B,2\Q.S%(,5HQ8C%J,7(Q>C&'
M,9HQK#&P,;0QN#&\,<`QQ#'(,<PQT#'4,=@QW#'D,?DQ`3(.,B4R*C(O,G@R
M?3*8,ITRN#*],N,R\#(1,QXS/S-,,V@S````(```$````!PP(#``````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M`````````````````````````````#)HTRX````````!``H````8``"`````
M`#)HTRX``````@```(@``(`X``"`E@``@%```(``````,FC3+@````````$`
M`````&@`````````,FC3+@````````$``````'@```"P8```$```````````
M````P&```"0```````````````8`1`!6`$,`3`!!`$P`"P!0`$$`0P!+`$$`
M1P!%`$D`3@!&`$\````F/4\XPH(WN/,D0@,7FSJ#`0``S``````"`````6=E
M>'!R9&%T90``@5-Y<TEN:70`````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
C````````````````````````````````````````````````
`
end
sum -r/size 32014/5120 entire input file

при запуске с параметром day выдает текущий день
при запуске с параметром month выдает текущий месяц
при запуске с параметром year выдает текущий год

P.S. надеюсь не
Автор: dadu
Дата сообщения: 28.06.2003 17:39
Есть ли коды выполнения для команды START ?
Автор: dadu
Дата сообщения: 29.06.2003 06:09
Помогите !!! справится не могу...

Из батника запускается hotfix.exe :

START "" /WAIT Q330994.exe -X:C:\1 -Q

НО.... так как именно Q330994.exe и еще некоторые фиксы не понимают ключъ /x, то выскакивает окошко "ошибка синтаксиса коммандной строки".

Нужно чтоб это окошко не выскакивало, а все было именно silent-установка , что подразумевает ключ /q

Т.е. если не хочет распоковываться с ключом /x , то переходит на ключ /c и при этом без вопросов.... без окошек.

Чего можно сделать? не молчите только
Автор: exMIB
Дата сообщения: 14.08.2003 12:56
1. Какой командой можно узнать размер папки (изменился или нет)?
2. Как сделать: в папке источнике два файла мне надо чтобы за раз эти два файла были скопированы в другую папку с генерацией имени по дате и времени, но так как это происходит быстро то у них получиться одиноковое имя
А как сделать добавку к имени?
Случайное число сгенерировать или как счетчик сделать?
3. Лог-файл у меня почему-то в дос-кодировке записывается, а в виндовс можно как-нибудь?
4. Вверху есть пример генерации имен файлов по дате и времени:
как добавить секунды и десятые доли секунды к имени?
Что-то не получается
5. Как скрытно запускатть bat-файл, чтобы не вылезало досовское окно?
Автор: tumber
Дата сообщения: 14.08.2003 18:26
exMIB
По пунктам 2 и 4.

Файл rezerv.pas, который надо скомпилировать в rezerv.exe, возможно, что-то изменив (по желанию):

{Turbo Pascal}
uses Dos;
var
fn, dp, dt: string;
f : text;

procedure Add0(var s : string);
begin
if Length(s)=1 then s:= '0'+s;
end;

function DateTime : string;
var
Year, Month, Day, DayOfWeek : Word;
Year_s, Month_s, Day_s : String;
Hour, Minute, Second, Sec100 : Word;
Hour_s, Minute_s, Second_s, Sec100_s : String;
begin
GetDate(Year, Month, Day, DayOfWeek);
GetTime(Hour, Minute, Second, Sec100);
Str(Year, Year_s);
Str(Month, Month_s);
Str(Day, Day_s);
Str(Hour, Hour_s);
Str(Minute, Minute_s);
Str(Second, Second_s);
Str(Sec100, Sec100_s);
Add0(Month_s);
Add0(Day_s);
Add0(Hour_s);
Add0(Minute_s);
Add0(Second_s);
Add0(Sec100_s);
DateTime:= Year_s+'_'+Month_s+'_'+Day_s+'_'+Hour_s+'_'+Minute_s+'_'+Second_s+'_'+Sec100_s;
end;

begin
if ParamCount<>2 then
begin
Writeln('Error in ParamCount.');
Writeln(' 1 - source file');
Writeln(' 2 - target path with last slash \');
Write ('Press Enter...');
Readln;
Halt(0);
end;
fn:= ParamStr(1);
dp:= ParamStr(2);
dt:= DateTime;
Assign(f, 'rezerv.bat');
Rewrite(f);
Writeln(f, '@echo off');
Writeln(f, 'copy ', fn, ' ', dp, dt, ' > nul');
Close(f);
end.
Конец файла rezerv.pas

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

Пример запуска:
rezerv.exe filename1 e:\aaabbbccc\

Создается файл rezerv.bat примерно такого содержания:
@echo off
copy filename1 e:\aaabbbccc\2003_08_14_19_56_30_58 > nul

Последняя цифра - сотые доли секунды.

Пусть у тебя в текущей папке лежат файлы filename1 и filename2, которые надо скопировать в папку e:\aaabbbccc\
Помещаешь в текущую папку файл rezerv.exe и свой основной батник, в который вставляешь такие строки:

rezerv.exe filename1 E:\aaabbbccc\
call rezerv.bat
rezerv.exe filename2 E:\aaabbbccc\
call rezerv.bat

Все.

Если проблемы с TurboPascal'ем, могу выслать готовый exe-шник.
Автор: exMIB
Дата сообщения: 14.08.2003 23:18
tumber
Спасибо за такую программку.
Я тут немного по другому решил сделать, но это тоже пригодиться.

У меня сейчас ОЧЕНЬ ОСТРО стоит проблема как скрыть запуск батника?
Надо чтобы всё происходило незаметно для юзера. А то сейчас мелькает досовское окно
Хоть и доли секунды, но неприятно.
Автор: tumber
Дата сообщения: 15.08.2003 10:08
exMIB
А start /m не подходит?
Особенно, если убрать панель задач?
Автор: AntonRNB
Дата сообщения: 15.08.2003 10:10
Подскажите, как можно отправить небольшой е-мэил из командной строки.

Кстати, тем кто не знает nnCron очень рекомендую узнать. Автоматизирует всё. И с командной строкой работать умеет.
Автор: WildCat
Дата сообщения: 15.08.2003 10:24
exMIB
Очень рекомендую посмотреть в сторону nnCron'a -- делает все что тебе нужно, и намного больше

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879

Предыдущая тема: Problemi s zagruzkoy XP!


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