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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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 | Цитировать | Сообщить модератору
Da_Neil
 
Может быть дело в этом

Цитата:
 
команда1 & команда2 Используется для разделения нескольких команд в одной командной строке. В Cmd.exe выполняется первая команда, затем вторая команда.  

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 16:29 29-08-2005
Da_Neil



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
KapralBel
Похоже.. С параметром /s вроде как заработало..
 
Чёрт бы побрал эту нтшную консоль! Ума не приложу, почему из командной строки это работает, а из батника — нет:

Код:
"s:\Multimedia\Soundz Good\Tag\Tag.exe" --ape2 -f "CUESHEET=E:\Stoloff & Hopkinson —  Documents Enclosed [2001] [EAC+APE, CUE+LOG inside by djet].ape.cue" -f "LOGFILE=E:\Documents Enclosed.log" --artist "Stoloff & Hopkinson" --album "Documents Enclosed" --year "2001" --genre "Experimental, Abstract, Leftfield" -t "RELEASER=djet" "E:\Stoloff & Hopkinson —  Documents Enclosed [2001] [EAC+APE, CUE+LOG inside by djet].ape"  
 

Если тире заменить на дефис, то работает.. И где он, хвалёный Юникод?

Всего записей: 3420 | Зарегистр. 05-03-2002 | Отправлено: 17:38 29-08-2005
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Da_Neil
 
Батник ты в чем создаешь?
И в какой кодировке 866? 1251?
Кажется тире в этих двух кодировках имеет различные коды, в отличии от всех остальный символов (английский, цифры и т.д)

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 17:52 29-08-2005
Da_Neil



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
KapralBel
Я во всяких пробовал, включая Юникод. В 1251 точно не работает, потому что батники почему-то читаются на древней 866, а в 866 тире странным образом превращается в дефис. Например, результатом команды echo rd — > rd.cmd будет rd -, а не rd —.

Всего записей: 3420 | Зарегистр. 05-03-2002 | Отправлено: 18:16 29-08-2005
KapralBel



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

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 18:31 29-08-2005
Da_Neil



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

Цитата:
 А какую ошибку дает?  

Не может найти папку.  

Цитата:
 Возможно из-за того что тире преобразовывается в дефис и не находит файл

Так и есть. Не понимаю, почему консоль в NT до сих пор использует устаревшую досовскую кодировку.. Похоже, придётся жить без тире.

Всего записей: 3420 | Зарегистр. 05-03-2002 | Отправлено: 19:08 29-08-2005
siemensbbbb



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

Всего записей: 60 | Зарегистр. 23-07-2005 | Отправлено: 22:29 29-08-2005
Da_Neil



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
KapralBel
Как выяснилось, консоль нужно запускать с ключом /u (Unicode). Теперь попробую разобраться с батником..  
 
siemensbbbb
Используй команду start.  
 
Добавлено:
Бесполезно.. Батники, сохранённые в Юникоде, консоль не понимает

Всего записей: 3420 | Зарегистр. 05-03-2002 | Отправлено: 22:41 29-08-2005
siemensbbbb



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

Всего записей: 60 | Зарегистр. 23-07-2005 | Отправлено: 22:47 29-08-2005
Da_Neil



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

Цитата:
C:\Documents and Settings\djet>start /?
Starts a separate window to run a specified program or command.
 
START ["title"] [/Dpath] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
      [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
      [/WAIT] [/B] [command/program]
      [parameters]

Самый простой вариант: start путь_к_файлу [параметры]

Всего записей: 3420 | Зарегистр. 05-03-2002 | Отправлено: 22:53 29-08-2005
siemensbbbb



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
у меня там так написано что добавить??
@ call \\notebook\Games\pool.cmd

Всего записей: 60 | Зарегистр. 23-07-2005 | Отправлено: 23:09 29-08-2005
Da_Neil



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Замени call на start или start /b. А ты уверен, что асинхронное выполнение не нарушит работу батника?

Всего записей: 3420 | Зарегистр. 05-03-2002 | Отправлено: 23:12 29-08-2005
siemensbbbb



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
счасс попробуем
 
 
Добавлено:
не неполучилось окно продолжает висеть но уже даже после закрытия программы каторую он запускал...

Всего записей: 60 | Зарегистр. 23-07-2005 | Отправлено: 23:16 29-08-2005
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
siemensbbbb
 
@Echo Off
Start ...
Exit
 
а так пойдет?
 
Добавлено:
Кстати должно пойти и без Start - главное последней строкой - Exit
 
Da_Neil
Интересно - какую папку  "не находит" - там  

Цитата:
"s:\Multimedia\Soundz Good\Tag\Tag.exe" --ape2 -f "CUESHEET=E:\Stoloff & Hopkinson —  Documents Enclosed [2001] [EAC+APE, CUE+LOG inside by djet].ape.cue" -f "LOGFILE=E:\Documents Enclosed.log" --artist "Stoloff & Hopkinson" --album "Documents Enclosed" --year "2001" --genre "Experimental, Abstract, Leftfield" -t "RELEASER=djet" "E:\Stoloff & Hopkinson —  Documents Enclosed [2001] [EAC+APE, CUE+LOG inside by djet].ape"

Единственная папка - это путь к программе

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 10:13 30-08-2005
Da_Neil



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
KapralBel
Понятия не имею.. Уже удалил все материалы, и не с чем экспериментировать. Но батники как ни странно, работают, причём даже с именами файлов, включающих "—" или "&" (имя задаётся EAC'ом, а не батником). Проблема в том, как создать из батника файл с тире.

Всего записей: 3420 | Зарегистр. 05-03-2002 | Отправлено: 17:07 30-08-2005
igor_andreev

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

Цитата:
Проблема в том, как создать из батника файл с тире.

Скопируй в обычный виндовый блокнот и сохрани, как test.cmd

Код:
 
@echo off
chcp 1251
echo la—la-la—la>—^&-.txt
 

 
Так разве не создается?

Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 23:18 30-08-2005
Da_Neil



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
igor_andreev
Спасибо за предложенное решение — работает А я раньше думал, что chcp только досовские кодировки понимает..

Всего записей: 3420 | Зарегистр. 05-03-2002 | Отправлено: 00:21 31-08-2005
Smitis



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

Цитата:
ntcmds.chm  
- Это по командной строке для ХР, которая, вроде как несколько дополнена и расширена по сравнению с 9х. А как в 9х такое может зваться? (по хелпу полазил - что-то не нахожу.. единственный batch - инструкции по созданию унаттенд инсталла  

Командный процессор в 9х достаточно простой, весь хелп по командам можно получить через ключ /? А ещё там, вроде, команда help была.
Если мало возможностей в 9х стандартного ком. процессора, обрати внимание на 4DOS _http://jpsoft.com/ Несмотря на некоторую несовместимость, я с большим успехом использовал его на 98-х вместо стандартного (есть некоторые тонкости). Кроме того, 4NT под 98-ми работал. Сейчас 4DOS ко всему прочему, стал бесплатным.

Всего записей: 3453 | Зарегистр. 09-02-2003 | Отправлено: 00:39 31-08-2005
bredonosec



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

Цитата:
хелп по командам можно получить через ключ /?  
- да я к тому, что в снм справке обычно и примеры даются,и обьясняется, а не только голый синтаксис..  
"Знание всех букв алфавита не обеспечивает грамотность письма"(С)..

Всего записей: 16269 | Зарегистр. 13-02-2003 | Отправлено: 02:02 31-08-2005
Smitis



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
bredonosec
Для 9х этой информации вообще очень мало. (Всё дальнейшее - ИМХО, слегка подзабытое по прошествии трёх лет)
Во-первых, потому, что синтаксис командного процессора для 9х довольно убог, по сравнению с линейкой NT (видимо, мало желающих было заниматься этим вопросом для 9х, при наличии более продвинутых НТ).
Во-вторых, мелкософт пыталась "забыть" ДОС, как страшный сон (в результате отказ от ДОС-стадии загрузки в "линолиуме").
В-третьих, изменений, по сравнению с ДОС 6.хх - в основном в сторону уменьшения - удалены многие внешние команды, типа, потерявшие актуальность и др. (я бы не сказал, что UNDELETE теряла актуальность). Уменьшилось количество ключей для defrag и прочих утилит обслуживания файловую систему (правда, добавились ключи для работы с планировщиком).
 
Из новых возможностей (по памяти):
- поддержка длинных имён  =) ;
- три новые внутренние команды LOCK, UNLOCK, LFNFOR (или FORLFN, уже не помню)
- поддержка относительных путей типа ...\ (на два уровня вверх) ....\ (на четыре уровня вверх) и т.д. (кстати, в линейке нт эту фичу почему-то не добавили   )
- команда xcopy32 - пришла из win 3.xx. Там она была более продвинутая в плане оптимизации работы с файловой системой. В 9х работает также, как xcopy (обе используют один программный модуль). Ну, и сама xcopy более продвинутая.
- ну может ещё что по мелочи (не принципиально)
Почитать о ДОС 6 можно, например сдесь
http://cylib.iit.nau.edu.ua/Books/OS/DOS/msdos/index.htm
или сдесь
http://citforum.novgorod.net/operating_systems/msdos/index.shtml
ну или, наконец, воспользоваться поиском  
 
 
Добавлено:
Ах да, добавились ещё две большие ПРОБЛЕМЫ:
- Проблема с кодировками (думаю, объяснять не надо, эта проблема актульна и под НТ).
- Проблема с кавычками (как я её называю) - разрешение использовать в именах файлов пробелов и некоторых символов вызвала необходимость заключать имена в кавычки (подробности опускаю). А тут ещё какой-то кретин, сдвинутый на C & UNIX придумал использовать символ "\" перед кавычками, чтобы отменить их действие. В результате, например, deltree "c:\program files\" будет работать, нормально воспринимая путь, оканчивающийся на "\" как папку (директорию, бишь), а некоторые проги воспримут послуднюю кавычку как часть имени. Не хочу сейчас вспоминать подобные проги, главное, никогда заранее не знаешь от очередной, как она себя поведёт. Смешно, но команда chdir c:\program files нормально работает вообще бех кавычек! (с кавычками тоже работает)

Всего записей: 3453 | Зарегистр. 09-02-2003 | Отправлено: 19:43 01-09-2005 | Исправлено: Smitis, 19:50 01-09-2005
   

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