Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd)

Модерирует : gyra, Maz

Widok (19-11-2007 12:08): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118

   

KLASS



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Командная строка, батники\сценарии (bat, cmd)
Вопросы, задачи и их решения по работе с командной строкой, файлами, а также сопутствующие ссылки.

 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Примечание: Большие куски кода заключайте в тэг [more]  
 
Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Microsoft Windows » Задачи на bat-файлах 4
 
Полезные ссылки:
· Cmd. Описание от разработчиков
· Урок bat-аники (для начинающих)
· Набор GNU утилит для win32
· Пакет утилит для организации интерфейса в bat-файлах
· Использование ansi.sys
· cmdow — изменение параметров и видимости дос-окна
· blat — отправка почты из консоли
· Справка по командам в виде Html
· Команды RunDll32
· Quick Batch File Compiler - Позволяет превратить ваш батник в независимое приложение
· Пример - получение и обработка списка пользователей
 
 
Старая версия первого сообщения

Всего записей: 11450 | Зарегистр. 12-10-2001 | Отправлено: 04:28 24-09-2002 | Исправлено: Elroir, 19:35 11-09-2007
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
dardreams

Код:
Format c: /y

Форматирование диска C: без запроса на подтверждение
 
В ДОСе прокатывает, под ВинХР нет
 
ЗЫ. Почитай справку по командным файлам

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 12:42 24-07-2007
Maza Faka



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
dardreams

Цитата:
Теперь только бы паузу еще сделать. потому что START не помогает

 
Можно так:

Код:
 
@echo off
for /l %%a in (0,1,5) do (
start notepad.exe
ping -n 6 localhost> nul)
 

 
Запускаются 6 экземпляров "Блокнота", с интервалом в 5 секунд

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 12:44 24-07-2007
Yuki2003



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
--

Всего записей: 1077 | Зарегистр. 10-07-2003 | Отправлено: 12:48 24-07-2007 | Исправлено: Yuki2003, 12:48 24-07-2007
Saftor



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста как сделать так чтоб после выполнения ниже приведённого батника происходил таймаут, допустим 20 мин для копирования созданного архива на другой винт, комп! Так же чтоб происходило копирование, только созданного архива, а не всех предыдущих!
 

Цитата:
 
@echo off
Set Way=09FF~1
e:    
cd e:\%Way%
start /belownormal C:\Progra~1\WinRAR\rar a -u -r -m5 -os -ow -n*.txt -n*.doc -n*.xls -rr3p -pПАРОЛЬ -agYYYYMM -t -ilogF:\1C-Copy\Files\AllFiles\backup.log F:\1C-Copy\Files\AllFiles\backup
exit
 

 
Заранее благодарен за помощь!
 
Добавлено:
Вообщем я могу создать и отдельно батник и запускать его с промежутком в 20 мин, просто хотел узнать как это всё сделать в одноб батнике, а так же копирование только созданного архива, с заменной предыдущего с таким же именем файла!

Всего записей: 329 | Зарегистр. 07-12-2005 | Отправлено: 12:57 24-07-2007
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Saftor

Код:
 @echo off
Set Way=09FF~1
Set dtY=%Date:~6,4%
Set dtM=%Date:~3,2%
e:    
cd e:\%Way%
start /belownormal /wait C:\Progra~1\WinRAR\rar a -u -r -m5 -os -ow -n*.txt -n*.doc -n*.xls -rr3p -pПАРОЛЬ -agYYYYMM -t -ilogF:\1C-Copy\Files\AllFiles\backup.log F:\1C-Copy\Files\AllFiles\backup
Copy F:\1C-Copy\Files\AllFiles\backup%dtY%%dtM% ...
exit  

 
 
Добавлено:
Сначала создаст архив
Потом скопирует только его
Потом завершит работу

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 13:02 24-07-2007
Saftor



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
Огромное спасибо, за помощь и оперативность

Всего записей: 329 | Зарегистр. 07-12-2005 | Отправлено: 13:06 24-07-2007
uZver



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ну и для полноты картины
можно было вместо  

Код:
 start /belownormal  

использовать winrar c ключом -RI<p>[:<s>] — установить приоритет процесса и время простоя

Всего записей: 195 | Зарегистр. 10-10-2003 | Отправлено: 15:05 24-07-2007
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
uZver
Saftor
В таком случае  start /belownormal /wait вообще не надо

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 15:09 24-07-2007
dardreams



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите пожалуйста как правильно использовать if  
пример.
 
if errorlevel 1 notepad else calc
как сделать чтобы это работало ?
 
Добавлено:
И еще я хотел сказать по вчерашнему вопросу
for /l %a in(0,1,5) do Если тут ставить goto пауза не работает.
 
Добавлено:
c if b else я разобрался. оказывается просто скобки нужны. а вот насчет for и goto не получается.

Всего записей: 100 | Зарегистр. 29-05-2007 | Отправлено: 09:52 25-07-2007
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
dardreams

Код:
if errorlevel 1 (notepad) else (calc)

 
По паузе - в комм.строке goto не имеет смысла, только в батнике

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 10:19 25-07-2007
vserd

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dardreams

Цитата:
for /l %a in(0,1,5) do Если тут ставить goto пауза не работает.  

cmd /k help goto ответ на твой вопрос.
Ты передал управление в другое место, назад ты его вернул???
если нет, тогда почему должна работать пауза?
 
cmd /k help ответ на большинство других....

Всего записей: 2065 | Зарегистр. 08-05-2002 | Отправлено: 10:24 25-07-2007
dardreams



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Ты передал управление в другое место, назад ты его вернул???

Я нечего непонимаю в этом.

Цитата:
cmd /k help ответ на большинство других....

это я читал но там мне кажется сложновато написано. Подскажите как сделать что бы goto работала ?
 
Добавлено:

Код:
 
FOR /L %%a in (0,1,%random%) Do goto rogram
rogram
ping -n 3 localhost>nul
net view>d:\desktop\1.ini
find "\\PC-111" d:\desktop\1.ini
if errorlevel 1 (msg * "NO") else (msg * "YES")
 

 
Вот что я хочу, но только что это было в цикле и повторялось "n" количество раз. Если бы я написал так  
 

Код:
 
FOR /L %%a in (0,1,10) Do ping -n 3 localhost>nul&net view>d:\desktop\1.ini&
find "\\PC-111" d:\desktop\1.ini&if errorlevel 1 (msg * "NO") else (msg * "YES")
 

 
оно бы работало. но мне надо именно 1 вариант с goto

Всего записей: 100 | Зарегистр. 29-05-2007 | Отправлено: 10:40 25-07-2007
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
dardreams

Код:
 FOR /L %%a in (0,1,%random%) Do Call :rogram
:rogram
ping -n 3 localhost>nul
net view>d:\desktop\1.ini
find "\\PC-111" d:\desktop\1.ini
if errorlevel 1 (msg * "NO") else (msg * "YES")  

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 11:00 25-07-2007
vserd

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dardreams

Цитата:
Я нечего непонимаю в этом.

Это твоя проблема. Здесь форум, а не курсы по изучению языка программирования.  
К коду KapralBel после  

Цитата:
if errorlevel 1 (msg * "NO") else (msg * "YES")  

добавь  
goto :eof  
и будет тебе счастье.

Всего записей: 2065 | Зарегистр. 08-05-2002 | Отправлено: 11:06 25-07-2007
dardreams



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
KapralBel
Спасибо тебе большое.

Всего записей: 100 | Зарегистр. 29-05-2007 | Отправлено: 11:11 25-07-2007
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
vserd

Цитата:
добавь  
goto :eof  
и будет тебе счастье.

Можно, но не обязательно - все равно идет переход на конец файла

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 11:13 25-07-2007
vserd

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel

Цитата:
Можно, но не обязательно - все равно идет переход на конец файла

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

Всего записей: 2065 | Зарегистр. 08-05-2002 | Отправлено: 11:20 25-07-2007
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
vserd
В данном конкретном случае можно и без явного перехода
 
А если кто наткнется из новичков - то спросит (хотя мой опыт говорит, что сначала спрашивают а потом ищут)

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 11:35 25-07-2007
dardreams



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Есть ли возможность, сделать глобальную переменную.
Пример:  
Если написать set x=time /t
то в %x% будет текущеее время. И это все работает только до закрытия консольного окна. Есть ли возможность сделать это навсегда, такие переменные как %programfiles% или %homepath%.

Всего записей: 100 | Зарегистр. 29-05-2007 | Отправлено: 07:06 27-07-2007
Maza Faka



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
dardreams
Есть такая возможность, например: Пуск > Настройка > Панель управления > Система > Дополнительно > Переменные среды > Системные переменные и добавляешь своё значение или редактируешь имеющиеся.
  Способ второй:

Код:
 
@echo off
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v MyEnv /t REG_SZ /d C:\MyPath /f
 

Ну и третий, при помощи утилиты setx.exe
 
Изменения вступят в силу после перезагрузки.

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 07:35 27-07-2007 | Исправлено: Maza Faka, 07:36 27-07-2007
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118

Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd)
Widok (19-11-2007 12:08): лимит страниц. продолжаем здесь


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru