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

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

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

Widok (10-03-2009 12:39): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

Widok



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

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

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 12:08 19-11-2007 | Исправлено: Dmitriy05, 22:49 13-04-2008
cracklover



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
 
а что тут приводить? любая команда. ну, например:
 
@echo Вы желаете провести архивацию? ...
@ choice.com
@ c:\avp\7z.exe a -sfx c:\test.exe c:\test2\
 
ожидалось, что в диалоге об архивации при нажатии N архивация отменяется. а она спокойно запускается. где ошибка?
 


----------
Когда-то я вёл авторскую музыкальную передачу на радио. Можно послушать!

Всего записей: 6632 | Зарегистр. 04-10-2004 | Отправлено: 12:08 02-09-2008
Taciturn

Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
cracklover
А зачем choice.com? Вполне достаточно set.

Код:
:CHOICE
@CLS
@SET /P choice=Установить обновления? (Y/N)
@IF "%choice%"=="n" GOTO :EOF
@IF "%choice%"=="N" GOTO :EOF
@IF "%choice%"=="Y" GOTO :SETUP
@IF "%choice%"=="y" GOTO :SETUP
GOTO :CHOICE
 

 
А вообще, choice.com только устанавливет ERRORLEVEL и больше ничего. Если так уж хочется с choice делать, то можно примерно так:

Код:
@CHOICE Установить обновления?
@IF ERRORLEVEL 2 GOTO EXIT
 

Всего записей: 2014 | Зарегистр. 26-07-2003 | Отправлено: 12:16 02-09-2008 | Исправлено: Taciturn, 12:20 02-09-2008
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
cracklover
Нет обработки errorlevel, который возвращает choice

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 12:19 02-09-2008
cracklover



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Taciturn
 
Не удается найти указанную метку пакетного файла - SETUP
 
Добавлено:
все, ступил сам
забыл саму метку поставить)
:SETUP  
после чойса.
 
теперь для идиллии ситуации, как бы мне в пакетнике обыграть момент проверки наличия папки по указанному пути. если папки нет, выводить сообщение и после нажатия любой клавиши сбрасывать выполнение пакетника?

----------
Когда-то я вёл авторскую музыкальную передачу на радио. Можно послушать!

Всего записей: 6632 | Зарегистр. 04-10-2004 | Отправлено: 12:47 02-09-2008 | Исправлено: cracklover, 13:00 02-09-2008
Flashkens



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите создать батник, который будет проводить поиск строки в текстовом файле и при первом вхождениии заменять на свою строку... или генерировать новый файл с измененным текстом

Всего записей: 3 | Зарегистр. 08-08-2008 | Отправлено: 12:58 02-09-2008
Taciturn

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

Код:
if not exist Folder (echo Folder not found
pause
goto :EOF)

Всего записей: 2014 | Зарегистр. 26-07-2003 | Отправлено: 17:42 02-09-2008
Filomat

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Задача:
нужны множественные подключения по telnet к серверам.
При подключении надо вводить лог/пас и давать одну команду на выполнение.
 
Никак не могу сообразить, как же это реализовать.
При команде telnet cmd переключается в некий свой режим с отдельными командами.
 
Если просто открывать
start telnet 192.168.0.1, то он по какой-то причине входит в бесконечный цикл с открытием новых окон.

Всего записей: 5 | Зарегистр. 03-09-2008 | Отправлено: 17:43 03-09-2008
vitrzn



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, а можно добавить чтобы не все файлы copy а только те которые старее на 14 дней от текущей даты:
 
for /f "tokens=*" %%i in ('dir /b /s *.rar') do copy "%%i"

Всего записей: 1497 | Зарегистр. 28-10-2007 | Отправлено: 14:49 05-09-2008 | Исправлено: vitrzn, 15:17 05-09-2008
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vitrzn
С помощью утилиты forfiles.exe:

Код:
 
forfiles -p"Your Root Folder" -s -m*.rar -d-14 -c"cmd /c copy @FILE"
 

 

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 05:09 06-09-2008
LigovoNet



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нужен батник который бы:
1. генерил TXT файл с определённой фразой
2. вставлял бы его, во все ZIP и RAR архивы в папке и её подпапках
 
Сори если уже обсуждалось, тогда ткните носом.

Всего записей: 182 | Зарегистр. 27-06-2007 | Отправлено: 06:23 06-09-2008
Valdon



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто подскажет как с помощью REG ADD добавить пустое значение в конец строки для типа данных REG_MULTI_SZ ? Например, через *.reg-файл это будет выглядеть так:
Код:
REGEDIT4
[HKEY_LOCAL_MACHINE\Software\MyCo]
"MyValue"=hex(7):01,00,00,00

 
ЗЫ:Сори если не фтему....

Всего записей: 428 | Зарегистр. 25-07-2005 | Отправлено: 15:55 07-09-2008 | Исправлено: Valdon, 15:58 07-09-2008
Smitis



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

Цитата:
закачивает какие то левые файлы помимо нужных,  
я хз чо такое, помоги если можешь

Эээ, не понял. Что за файлы скачиваюся?
 

Цитата:
если 2 раза запущу продряд, у мя файлы заменются или как ? (спрашивать о замене буит или нет?)

Файлы будут заменяться, вопросы задаваться не будут.
Для скачивания только обновлённых и новых файлов, нужен ключ -N

----------
Разум когда-нибудь победит

Всего записей: 3457 | Зарегистр. 09-02-2003 | Отправлено: 16:14 07-09-2008
28Diman89

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smitis
насчет левых файлов разобрался, эт были обновления для 4,43 версии Др Веба
напиши плз код чтоб тока обновленные скачивал, еще надо чтоб желательно по датам сортировал, и не знаю как сделать чтоб папку с обновлением создавал не на С а на флехе (запускаю батник с флехи) Вот код
 
copy libeay32.dll "%windir%\system32\"
copy msvcr71.dll "%windir%\system32\"
copy msvcr80.dll "%windir%\system32\"
copy openssl.exe "%windir%\system32\"
copy ssleay32.dll "%windir%\system32\"
copy wget.exe "%windir%\system32\"
mkdir C:\DrWeb_Update\
wget -P C:\DrWeb_Update\ -A zip -r -l 1 -nd ftp://ftp.drweb.com/pub/drweb/bases/

Всего записей: 9 | Зарегистр. 29-08-2008 | Отправлено: 16:26 07-09-2008
Smitis



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
28Diman89
Получить букву диска (с двоеточием), откуда запущен батник, можно так: %~d0
Чтобы не скачивал для 4.33 (там на FTP вложенная папка) после ключа "-l" нужен 0 (уровень просмотра папок)

Код:
 
@echo off
 
:: Переходим в папку к батнику
cd /d "%~dp0"
 
:: Копируем файлы из папки с батником
:: Хотя, в принципе, этого можно не делать, если эти файлы действительно
:: лежат в папке с батником
copy libeay32.dll "%windir%\system32\"
copy msvcr71.dll "%windir%\system32\"
copy msvcr80.dll "%windir%\system32\"
copy openssl.exe "%windir%\system32\"
copy ssleay32.dll "%windir%\system32\"
copy wget.exe "%windir%\system32\"
 
:: Создаём папку для обновлений на том же диске
mkdir %~d0\DrWeb_Update\ 2> nul
 
:: Качаем
wget -P %~d0\DrWeb_Update -A zip -r -l 0 -nd -N ftp://ftp.drweb.com/pub/drweb/bases/
 



----------
Разум когда-нибудь победит

Всего записей: 3457 | Зарегистр. 09-02-2003 | Отправлено: 17:33 07-09-2008 | Исправлено: Smitis, 17:39 07-09-2008
XXXXL



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте! есть больше 1000 файлов в формате .jpg все с разными названиями, помогите переименовать их, чтобы были по номерам 1.jpg, 2.jpg, 3.jpg.........1000.jpg и т.д
Спасибо!

Всего записей: 286 | Зарегистр. 16-05-2007 | Отправлено: 01:58 09-09-2008
Elroir



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

Код:
 
@echo off
setlocal
set "counter=1"
for %%a in (*.jpg) do (
call :renc "%%~fa"
set /a "counter+=1"
)
goto :EOF
:renc
ren "%~1" "%counter%.jpg"
 


----------
"В интернете есть все, но не всегда"

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 02:50 09-09-2008
tolyn77



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет, Всем
подскажите есть такой скрипт
@echo off
set "comp=\\%1"
for /f "tokens=2* delims=: " %%i in ('sc %comp% query state^= all ^| findstr "SERVICE_NAME"') do (
    set "name=%%i"
    for /f "tokens=3* delims=: " %%k in ('sc %comp% qc %%i ^| findstr "START_TYPE"') do (
        set "starttype=%%k"
    )
    for /f "tokens=3* delims=: " %%k in ('sc %comp% query %%i ^| findstr "STATE"') do (
        set "statetype=%%k"
    )
    call:report
)
goto:eof
:report
echo %comp% %name% - %starttype% %statetype%
 
как можно его запустить из другого скрипта что бы не прерывать его работу?
я пытался сделать так
@test.bat com1 > service.log
@test.bat com2 >> service.log
@test.bat com3 >> service.log
так он прерывается на первой строке
заранее благодарен

Всего записей: 1505 | Зарегистр. 07-09-2004 | Отправлено: 09:08 09-09-2008
XXXXL



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

Всего записей: 286 | Зарегистр. 16-05-2007 | Отправлено: 09:33 09-09-2008
sanprocenko

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет всем. Помогите с написанием батника, который переносит все файлы определенного типа с локального диска на шару в сети.  

Всего записей: 9 | Зарегистр. 26-03-2008 | Отправлено: 11:18 09-09-2008
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
sanprocenko
roboсopy d:\ \\server\share\CopyD\ *.xxx /s /MOV

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 11:43 09-09-2008
   

Страницы: 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

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru