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

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



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

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

Как же-с? ..\..\..\, ..\..\..\..\ и т.д..

Всего записей: 3420 | Зарегистр. 05-03-2002 | Отправлено: 20:19 01-09-2005
Smitis



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

Цитата:
Как же-с? ..\..\..\, ..\..\..\..\ и т.д..  

Это тоже работает Но есть ещё и сокращенный вариант

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



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

Цитата:
Но есть ещё и сокращенный вариант

Единственное "сокращение", которое понимаю - начало пути с \ (значит из корня)
Если имеется другое - огласи.

Всего записей: 16269 | Зарегистр. 13-02-2003 | Отправлено: 05:16 12-09-2005
GAAlex

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Задача: сделать архивацию файлов внутри каталога. Обойти все каталоги. т.е в каждом каталоге должен быть идин файл типа имя_каталога.zip. Не работает следующий батник.
Подскажите.
 
REM Архивация всех файлов в подкаталогах любого уровня
FOR /R %%i IN (*.*) DO (
  cd %%i
echo %%i
pkzipc.exe -add -max -header=@C:\!!\!\header.txt %%i *.*
 
REM ключ -move перемещает файлы в архив
  cd ..
)

Всего записей: 110 | Зарегистр. 11-06-2003 | Отправлено: 09:13 12-09-2005
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
GAAlex
 
Измени одну строку на
FOR /R %%i IN (.) DO (  

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

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
Нахожуть в каталоге D:\_!_\Dir\1\
PKZIPC пишет:
Can't open ZIP file D:\_!_\Dir\1\1

Всего записей: 110 | Зарегистр. 11-06-2003 | Отправлено: 14:09 12-09-2005
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
GAAlex
 
Пришли мне на (ZaharenkoVN /собак/ TUT.By)  
PKZIPC и C:\!!\!\header.txt  
Посмотрю что можно сделать - кажется PKZIPC - не понимает, что ты её передаешь - а проверить из-за отсутствия оной не могу

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

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

Код:
 
@ECHO OFF
CD /D D:\root_folder
FOR /R /D %%A IN (*) DO (
 pkzipc.exe -add -max -header=@C:\!!\!\header.txt "%%~fsA\%%~nA" "%%~fsA\*.*"
)
 

 
У меня, как и у KapralBel pkzipc.exe отсутствует, проверил на бесплатном zip.exe(www.info-zip.org), rar.exe, cabarc.exe и т.п. Если есть папки с русскими именами - после @ECHO OFF может понадобиться добавить CHCP 1251. Вместо D:\root_folder свою корневую папку ессно.

Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 15:33 12-09-2005 | Исправлено: igor_andreev, 15:56 12-09-2005
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
igor_andreev
 
Я часто нарывался на различие в интерпретации командных строк разными архиваторами.
Хотя может и будет работать

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

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

Цитата:
Хотя может и будет работать

Работает. Только что скачал PKZIP 8.1 Command Line - попробовал.

Цитата:
различие в интерпретации командных строк разными архиваторами

Я проверяю обычно, заключая комстроку в ECHO[комстрока]>>file.txt. Даже за неимением pkzipc.exe стартую TEST.CMD

Код:
 
@ECHO OFF
CD /D %windir%
FOR /R /D %%A IN (*) DO (
 ECHO.pkzipc.exe -add -max -header^=@C:\!!\!\header.txt "%%~fsA\%%~nA.zip" "%%~fsA\*.*">>%~dps0\TEST_2.CMD
)  
 

и смотрю в получившийся TEST_2.CMD
 

Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 20:36 12-09-2005 | Исправлено: igor_andreev, 20:43 12-09-2005
Smitis



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

Цитата:
Единственное "сокращение", которое понимаю - начало пути с \ (значит из корня)  
Если имеется другое - огласи.  

вместо ..\.. можно писать ...
вместо ..\..\.. можно писать ....
и т.д.

Всего записей: 3453 | Зарегистр. 09-02-2003 | Отправлено: 21:59 12-09-2005
WispAssassin



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

Всего записей: 16 | Зарегистр. 14-05-2004 | Отправлено: 22:39 12-09-2005
igor_andreev

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

Цитата:
чувствую что это должно просто делаться, но как - не знаю, я в этом нюб  

Нюб-не ньюб, ping /? - там вроде все просто написано. Тебе что конкретно то надо от батника, есть пинг - одно действие, нет пинга - другое? Или что?
 
Windows "Monad" Shell Beta 2 кстати попробовал кто уже?
http://www.microsoft.com/downloads/details.aspx?familyid=2ac59b30-5a44-4782-b0b7-79fe2efd1280&displaylang=en
 
_http://download.microsoft.com/download/7/4/6/746ec8ff-c4eb-41f3-884e-981bf39997b7/monad_b2_50215_x86.zip (1.3 Mb)
для работы нужен NET Framework 2.0 Beta 2
_http://download.microsoft.com/download/2/3/c/23c4dddd-e32c-45de-9fcc-e6e906e2b429/dotnetfx.exe (22989 Kb)

Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 00:30 13-09-2005
GAAlex

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
igor_andreev
KapralBel
Работает спасибо. Но почему имя каталога нельзя передавать как параметр?

Всего записей: 110 | Зарегистр. 11-06-2003 | Отправлено: 05:14 13-09-2005
igor_andreev

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

Цитата:
Но почему имя каталога нельзя передавать как параметр?

а %%~nA - это и есть имя каталога  

Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 09:28 13-09-2005
KapralBel



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

Цитата:
Windows "Monad" Shell Beta 2

Это то, что раньше называлось Windows Command Shell?
 

Цитата:
 проверяю обычно, заключая комстроку в ECHO[комстрока]>>file.txt. Даже за неимением pkzipc.exe стартую TEST.CMD  

По моему все так делают - я имел в виду, что если передается параметр (например путь c:\!!\Test\) то некоторые программы требуют слэш на конце, а другие требуют его отсутствие, 3-м по барабану есть слэш в конце пути или нет.

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



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

Цитата:
Тебе что конкретно то надо от батника, есть пинг - одно действие, нет пинга - другое? Или что?

сейчас я делаю вот как:
winkey+r, cmd, потом прописываю ping 213.248.66.170 -t  и начинает пинговать этот сервер, а хочу сделать так, чтобы не проделывать все это, а просто запустить батник и все сразу пинговалось
сделал совсем по тупому, создал txt, написал ping 213.248.66.170 -t и сохранил как bat - не прошло
в командной строке мелькает вот это до тех пор пока не остановишь
C:\>ping 213.248.66.170 -t
 
я думаю для этого не надо качать все это

Цитата:
Windows "Monad" Shell Beta 2 кстати попробовал кто уже?  
http://www.microsoft.com/downloads/details.aspx?familyid=2ac59b30-5a44-4782-b0b7-79fe2efd1280&displaylang=en  
 
_http://download.microsoft.com/download/7/4/6/746ec8ff-c4eb-41f3-884e-981bf39997b7/monad_b2_50215_x86.zip (1.3 Mb)  
для работы нужен NET Framework 2.0 Beta 2  
_http://download.microsoft.com/download/2/3/c/23c4dddd-e32c-45de-9fcc-e6e906e2b429/dotnetfx.exe (22989 Kb)


Всего записей: 16 | Зарегистр. 14-05-2004 | Отправлено: 15:33 13-09-2005
KapralBel



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

Код:
 
@Echo Off
ping 213.248.66.170 -t
 

 
То должно работать, у меня выдает следующее

Код:
 
Обмен пакетами с 213.248.66.170 по с 32 байт данных:
 
Ответ от 213.248.66.170: число байт=32 время=3632мс TTL=249
Превышен интервал ожидания для запроса.
Ответ от 213.248.66.170: число байт=32 время=3856мс TTL=249
Ответ от 213.248.66.170: число байт=32 время=2158мс TTL=249
Ответ от 213.248.66.170: число байт=32 время=1638мс TTL=249
Ответ от 213.248.66.170: число байт=32 время=2658мс TTL=249
Ответ от 213.248.66.170: число байт=32 время=3248мс TTL=249
Ответ от 213.248.66.170: число байт=32 время=4166мс TTL=249
 

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 15:53 13-09-2005
WispAssassin



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
прописал это
@Echo Off  
ping 213.248.66.170 -t
не работает, висит в процессах cmd.exe и все, больше ничего не происходит.
НО все-таки решил проблему
все оказалось не просто, а очень просто - создал ярлык  
%windir%\System32\ping.exe 213.248.66.170 -t
и все заработало как я и хотел и ничего качать не пришлось

Всего записей: 16 | Зарегистр. 14-05-2004 | Отправлено: 22:13 13-09-2005
Smitis



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

Цитата:
и ничего качать не пришлось

Судя по контексту, качать MSH не относилось к твоему вопросу. Так что ты зря переживал.

Цитата:
не работает, висит в процессах cmd.exe и все, больше ничего не происходит.  
НО все-таки решил проблему  

Что-то неправильное у тебя с командным процессором. Должно работать! Либо (скорее всего) ты что-то не так делаешь.
 
Кстати, занятная вещь, этот msh. Вот только руки не доходят поюзать его поактивнее.

Всего записей: 3453 | Зарегистр. 09-02-2003 | Отправлено: 23:00 13-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