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

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

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Maza_Faka, не принимай близко к сердцу, я не сомневаюсь в твоих знаниях. Возможно у меня не работает потому что я использую только стандартный набор команд которые присутствуют у меня в Windows. Моё изучение этого материала началось со 102-ой страницы этой темы, так что заранее прошу простить мне мои ошибки.
 
Правильно ли я понимаю, что если например у другого человека не будут установлены GNU утилиты для win32 с помощью которых написан батник, то возможно программа у него не пойдёт?

Всего записей: 23 | Зарегистр. 15-02-2009 | Отправлено: 20:44 20-02-2009
Maza_Faka



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

Цитата:
если например у другого человека не будут установлены GNU утилиты для win32 с помощью которых написан батник, то возможно программа у него не пойдёт?

Да, если нет вышеуказанных утилит, то код работать не будет.

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 06:46 21-02-2009
SoldatShveik

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток!
Подскажите:
1. как в цикле for /f в качестве delims задать кавычки (")
2. как выборочно заменить текст одного файла текстом из другого (в частности - только текст, ограниченный кавычками)

Всего записей: 3 | Зарегистр. 19-02-2009 | Отправлено: 11:17 21-02-2009
redson



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет!
Есть проблема:
консольный rar почему то не добавляет подкаталоги в создоваемый архив
Вот моя cmd-ка:
rar m[f] -agMMM-DD-HH-MM users_ -s -m5 D:\docs\users\
В каталоге D:\docs\users\ - находятся папки пользователей, они почему то не попадают в архив.

Всего записей: 1303 | Зарегистр. 23-04-2007 | Отправлено: 18:40 21-02-2009
Kilyan



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
redson
Попробуй с ключем -r
rar m[f] -agMMM-DD-HH-MM users_ -r -s -m5 D:\docs\users\

Всего записей: 884 | Зарегистр. 04-09-2008 | Отправлено: 19:02 21-02-2009
redson



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kilyan огромное спасибо!
 
Сразу не заметил, оказывается удалились все папки из каталога D:\docs\users\  

Всего записей: 1303 | Зарегистр. 23-04-2007 | Отправлено: 20:18 21-02-2009 | Исправлено: redson, 20:39 21-02-2009
Kilyan



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
redson
НУ естесно! -у тя ж ключь то m[f] - перемещение.

Всего записей: 884 | Зарегистр. 04-09-2008 | Отправлено: 20:24 21-02-2009
redson



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

Цитата:
redson  
НУ естесно! -у тя ж ключь то m[f] - перемещение.

 
Я так и задумывал, т.е переместить только файлы [f], а папки пользователей оставить

Всего записей: 1303 | Зарегистр. 23-04-2007 | Отправлено: 20:26 21-02-2009
BorlandIMHO

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
redson, а почитать справку по ключам архиватора - религия не позволяет?

Цитата:
 
    m[f]    Переместить в архив [только файлы].
 
            После успешного завершения операции архивирования добавленные в
            архив файлы и каталоги удаляются с диска. При использовании
            модификатора 'f' и/или ключа '-ed' будут удалены только
            файлы, а каталоги (пустые) останутся на диске.

rar mf -agMMM-DD-HH-MM users_ -r -s -m5 D:\docs\users\
Модификатор "f" не надо заключать в квадратные скобки.
Ещё можно попробовать ключ -ed...


----------
http://www.imho.ws

Всего записей: 1244 | Зарегистр. 12-10-2006 | Отправлено: 21:13 21-02-2009
Maza_Faka



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

Цитата:
1. как в цикле for /f в качестве delims задать кавычки (")

Как вариант создать копию файла с заменой двойных кавычек - одинарными. Для замены можно использовать sbs2.com
 

Цитата:
2. как выборочно заменить текст одного файла текстом из другого (в частности - только текст, ограниченный кавычками)

SED, GREP?

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 07:21 22-02-2009 | Исправлено: Maza_Faka, 07:21 22-02-2009
Intexid

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

Всего записей: 24 | Зарегистр. 02-10-2008 | Отправлено: 13:03 23-02-2009 | Исправлено: Intexid, 13:32 23-02-2009
rBBWYwg



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые, прошу помощи по такому вопросу:
 
Имеем многоуровневую развитую структуру директорий "Главная-подчиненные". Например,
 
GENERALFOLDER
|_FOLDER-1
  |_FOLDER-11
    |_FOLDER-111
      |_FOLDER-1111
      |_FOLDER-1112
      ...
    |_FOLDER-112
    ...
|_FOLDER-2
...
 
и т.д.
Количество подчиненных директорий не фиксировано.
Есть ли способ написать батник, который бы перемещал все файлы поддиректорий в их корневую папку? То есть, все файлы из любых поддиректорий папки FOLDER-1 перемещались бы в FOLDER-1, все файлы поддиректорий из FOLDER-2 перемещались бы в FOLDER-2, так же с FOLDER-3 и т.д.
При этом, необходимо избежать переписывания файлов при совпадений их имен, а оригинальными именами файлов можно жертвовать, но не расширениями.

Всего записей: 23 | Зарегистр. 14-10-2008 | Отправлено: 15:28 23-02-2009
anatolus

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как средствами windows при полощи командной строки сделать следующее:
проверить пингами (раз в 2 минуты скажем) связь с серваками (например, ya.ru ) и если все 10 запросов на пинги без ответа, то разорвать VPN и потом спустя 10-30 сек. запустить Vpn заново и все это зациклить. Плюс чтобы можно было при помощи этого батника сделать автозапуск vpn (про rasdial я знаю, а вот как сделать все остальное нет )

Всего записей: 124 | Зарегистр. 01-10-2005 | Отправлено: 17:21 23-02-2009
Elroir



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

Код:
 
@echo off
for /d %%a in (*.*) do (
pushd "%%a"
for /f "tokens=*" %%b in ('dir /s /a-d /b 2^>nul') do call :smartMove "%%b"
popd
)
goto :EOF
:smartMove
set "name=%~n1"
set "newName=%~n1"
set "ext=%~x1"
set "count=0"
:try
if exist "%newName%%ext%" (call :nextName & goto try)
move "%~1" "%newName%%ext%"
goto :EOF
:nextName
set /a "count+=1"  
set "newName=%name%_%count%"
 

Запускать из "главной" директории.

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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 17:48 23-02-2009 | Исправлено: Elroir, 17:53 23-02-2009
Intexid

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

Всего записей: 24 | Зарегистр. 02-10-2008 | Отправлено: 01:05 24-02-2009
Maza_Faka



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

Код:
 
@Echo Off
Set "Dir=C:\Test"
 
For /F "Usebackq" %%A In (`Dir /B /A:D "%Dir%"`) Do Echo %%A | Find /V "">Nul && Echo Sub-directory is exists
 

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

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

Всего записей: 1667 | Зарегистр. 08-12-2004 | Отправлено: 09:19 24-02-2009
Maza_Faka



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

Код:
 
@Echo Off
 
Set Server=www.ya.ru
 
:_Ping
Ping -n 120 127.0.0.1>Nul
Ping -n 10 %Server%
If ERRORLEVEL 1 GoTo :Reconnect
GoTo :_Ping
 
:Reconnect
::Разрываем соединение...
Ping -n 20 127.0.0.1>Nul
::Устанавливаем соединение
GoTo :_Ping
 

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 09:26 24-02-2009
Kokozjabr

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Создал файл VPN.cmd и прописал в нем rasphone -d VPN, тепеперь при старте винды появляеться дос окно и запускаеться соединение VPN. Скажите можно еще что-то дописать что бы дос окно запускалось свернутым или его вообще не было видно?

Всего записей: 1 | Зарегистр. 24-02-2009 | Отправлено: 10:34 24-02-2009
Maza_Faka



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Kokozjabr
В шапке cmdow — изменение параметров и видимости дос-окна

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 12:55 24-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.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru