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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Rush

Уже за тридцать...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Файл в котором ищется, должен быть в кодировке 866, а не 1251.

Понятно.
А можно задать в комстроке (не батнике) чтобы искал в 1251?

Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 14:01 11-02-2009
KapralBel



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

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 14:22 11-02-2009
SimakPSP

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скажите пожалуйста можно ли создать батник чтоб при помощи его копировать и упаковывать файлы с разных папок в одну папку , например мне нужно скопировать три файла  
 
D:\1C_BASE\Pc\R11.zip
D:\1CB_BASE\PC\RB11.zip
D:\Doc\Price08.xlsx
 
в папку одним архивом
 
C:\Doc\
 
и если возможно отправить потом этот архив по почте через outlook

Всего записей: 1 | Зарегистр. 11-02-2009 | Отправлено: 16:06 11-02-2009
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
SimakPSP
Одним архивом - да
вочти все архиваторы поймут прямое указание в качестве источника всех трех файлов
 
а вот отправить через оутлук - врядли - это чудо нсколько я помню не позволяет полностью автоматизировать процесс.
 
Создать то оно создаст - а вот отправить - придется ручками нажимать на пимпочку

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



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Неоходима еще одна реализация:
1) Засечь время
2) выполнение процедуры
3) засечь время окончания - Вывод времени работы процедуры
Если это не сложно отпишите как?
 
Добавлено:
Вот что нашел: Подробнее... - Кажется работает! Но если есть альтернатива - с удовольствием не откажусь!

Всего записей: 886 | Зарегистр. 04-09-2008 | Отправлено: 16:51 11-02-2009 | Исправлено: Kilyan, 17:12 11-02-2009
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Kilyan
Нужно именно время работы? или время начала/окончания хватит?

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 17:48 11-02-2009
Kilyan



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

Всего записей: 886 | Зарегистр. 04-09-2008 | Отправлено: 20:07 11-02-2009
Studio13 OutlaW



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Так и не смог разобраться, возможно ли сделать в батнике такое:
Чтобы команды срабатывали только после определенной нажатой клавиши...
Например...
@echo off
color 02
echo Чтобы Скопировать файл "Gegrby.txt" нажмите 1, чтобы переместить файл нажмите 2, чтобы удалить файл нажмите 3.
......Какой-то код......
......Какой-то код......
.....goto labelmove
:labelmove
move Gegrby.txt SP\
move SP\Gegrby.txt
.....goto labelmove[q][/q]
 
:labelcopy
copy Gegrby.txt SP\
 
и так же для удаления
 
точно не знаю через goto...может так

Всего записей: 40 | Зарегистр. 04-02-2009 | Отправлено: 18:16 12-02-2009
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Studio13 OutlaW
Команда set /p поможет в решении задачи:

Код:
 
@echo off
setlocal
chcp 1251 1>nul
color 02
 
echo.
echo чтобы скопировать файл "Gegrby.txt" нажмите 1,  
echo чтобы переместить файл нажмите 2,  
echo чтобы удалить файл нажмите 3.
echo -------
 
set answer=0
set /p answer=" > "
 
if %answer%==1 goto:labelcopy
if %answer%==2 goto:labelmove
if %answer%==3 del Gegrby.txt
goto:eof
 
:labelmove
move Gegrby.txt SP\
goto:eof
 
:labelcopy
copy Gegrby.txt SP\  
 

 
Можно и просто без всяких goto:

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 18:28 12-02-2009 | Исправлено: 01MDM, 18:33 12-02-2009
Studio13 OutlaW



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM
Спасибо все заработало)
Немного вопросов...
 
chcp 1251 1>nul - это случайно не относится к кодировки?
 
---------------
 
Что означает setlocal ? О том, что данные проходят на данном компьютере или это вводит в пакет команду SET?
 
---------------
 
Почему после идет goto:eof ? Это ведь команда, которая вызывает передачу управления к концу пакета?
 
 
Справка в cmd хоть и большая, но не с первого раза найдешь в ней, то, что тебе нужно.

Всего записей: 40 | Зарегистр. 04-02-2009 | Отправлено: 20:24 12-02-2009
01MDM



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

Цитата:
chcp 1251 1>nul - это случайно не относится к кодировки?

 
Переключает кодировку в консоли на cp1251 - на случай если батник написан в вин-кодировке. Если он изначально в cp866, то эту строчку надо удалить.
 

Цитата:
Что означает setlocal ?

В данном случае эта команда необязательна, просто привычка. Setlocal ограничивает видимость переменных, которые действуют только после нее до конца файла или до команды endlocal. В противном случае переменные, определенные в батнике, будут "жить" до окончания сеанса в cmd.exe
 

Цитата:
Почему после идет goto:eof

Что бы команды в метках не выполнялись, если будут введено неправильное значение или вообще ничего не будет введено.
 
 
 

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 21:35 12-02-2009
Studio13 OutlaW



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

Цитата:
Переключает кодировку в консоли на cp1251 - на случай если батник написан в вин-кодировке. Если он изначально в cp866, то эту строчку надо удалить.

Написал в вин, только после этого системный текст, например, "перемещение файлов" становится нечитаемым) "‚ᥣ® „®Ўа®Ј®!" -типо вот такого.
 
 
Вообще я сохраняю в Дос кодировки-русский текст читается и системный тоже, но мне просто хочется знать, как быть в таком случае....

Всего записей: 40 | Зарегистр. 04-02-2009 | Отправлено: 22:01 12-02-2009
dimpase

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
привет всем!
Скажите , каким оброзом можно с помощью батника, внести информацию из текстового файла в  exce или в DBF ?

Всего записей: 130 | Зарегистр. 29-09-2008 | Отправлено: 10:34 13-02-2009
Kilyan



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Необходима помощь! Не играет роли(штатными или не штатными средствами).
Есть текстовый файл с содержанием Подробнее... c тучей строк!  
Как указав маску текста: заменить ее на указанную.
В данном случае в тексте встречается ...2009;403/0000425/440801;Креди... - выделенный фрагмент нужно вообще убрать (т.е. от "/" до  "/" .)

Всего записей: 886 | Зарегистр. 04-09-2008 | Отправлено: 10:46 13-02-2009 | Исправлено: Kilyan, 10:47 13-02-2009
Johny_x3mal



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет!
   Кто-нить, скажите, как мне с командной строки осуществить поиск файла по всем разделам жесткого диска?

Всего записей: 222 | Зарегистр. 07-09-2005 | Отправлено: 10:48 13-02-2009
dimpase

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Johny_x3mal
Используй
(q w e r t y u i o p a s d f g h j k l z x c v b n m)

Всего записей: 130 | Зарегистр. 29-09-2008 | Отправлено: 11:56 13-02-2009
Johny_x3mal



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dimpase
опиши, плиз, подробнее
 
 
Добавлено:
dimpase
Опиши команду подробнее, плиииз

Всего записей: 222 | Зарегистр. 07-09-2005 | Отправлено: 14:02 13-02-2009
01MDM



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

Цитата:
Кто-нить, скажите, как мне с командной строки осуществить поиск файла по всем разделам жесткого диска?


Код:
 
@echo off
for %%i in (q w e r t y u i o p s d f g h j k l z x c v n m) do (
     dir /b /s  /a "%%i:\filename.ext"
)
 

Studio13 OutlaW
 

Цитата:
Написал в вин, только после этого системный текст, например, "перемещение файлов" становится нечитаемым)

Все должно быть нормально, выстави шрифт в консоли "Lucida Console"
 

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 15:11 13-02-2009
Maza_Faka



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

Цитата:
выделенный фрагмент нужно вообще убрать


Код:
 
sed "s_\/.*\/__g" < test.txt > out.txt
 

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 15:18 13-02-2009
Johny_x3mal



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

Всего записей: 222 | Зарегистр. 07-09-2005 | Отправлено: 15:57 13-02-2009
   

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