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

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
grokote
Одной командой это не сделаешь.
Кроме того, ты даешь слишком общие условия. Сформулируй конкретнее. Для твоего примера можно написать батник, но он будет работать, например, только на файлах состоящих из трех частей, разделенных символом подчеркивания.

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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 23:37 24-11-2008
grokote

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir
В точку. Если совсем конкретный случай. Имя папки: "символ1_слово1_(слово2)_(слово3)", надо "символ1 слово1 слово2 (слово3)" так. Папок много, есть вложенные. Имена однотипные, но "слово" везде разное. Если кто объяснит это, то дальше я сам разберусь. Понимаю что там не одна команда.

Всего записей: 51 | Зарегистр. 08-01-2008 | Отправлено: 23:48 24-11-2008
dex_2005



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

Цитата:
dex_2005
Если я правильно понял, то, наверно, так:
....
Батник не тестировался.

 
За одно и потестим )))  
 
Добавлено:
Elroir

Цитата:
dex_2005
 

Код:
@echo off
setlocal
:loop
ping ya.ru | find "TTL=">nul
if errorlevel 1 (
if not defined noConnection (
set "noConnection=true"
echo %date% %time% Disconnected>>log.txt
)
) else (
if defined noConnection (
set "noConnection="
echo %date% %time% Connected>>log.txt
)
)
goto loop

 
 
Батник не тестировался.

 
Премного благодарен, батник протестировал все работает как требовалось!  

Всего записей: 49 | Зарегистр. 07-03-2008 | Отправлено: 12:07 25-11-2008
corsik



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Люди у меня обсалютно нубский вопрос. Надо закинуть программу в атозагрузку через реестр!!! Как прописать файлик чтобы он это делал?

Всего записей: 25 | Зарегистр. 25-04-2008 | Отправлено: 19:05 26-11-2008
alt76



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
corsik
например таким батником:
 
@echo off
echo REGEDIT4 > "%TEMP%\$TmpRegAdd$.reg"
echo [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run] >> "%TEMP%\$TmpRegAdd$.reg"
echo "ProgName"="c:\\Path\\Prog.exe" >> "%TEMP%\$TmpRegAdd$.reg"
start/wait regedit -s "%TEMP%\$TmpRegAdd$.reg"
del "%TEMP%\$TmpRegAdd$.reg" > nul
 
 
Добавлено:
(подсмотрено в RestoreSettings.bat из far)

Всего записей: 1260 | Зарегистр. 03-04-2003 | Отправлено: 21:17 26-11-2008
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
corsik
alt76
Или одной строчкой :

Код:
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v MyProgName /d "c:\MyProg\MyProg.exe" /f


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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 04:03 27-11-2008
corsik



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Все спс разобрался!!!
 
Добавлено:
 
REGEDIT4
 
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
"proba"="D:\\Program Files\\proba\\proba.exe"
 
Вот как это должно было выглядеть под 2000виндой!!! =)

Всего записей: 25 | Зарегистр. 25-04-2008 | Отправлено: 10:13 27-11-2008 | Исправлено: corsik, 13:41 27-11-2008
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
grokote
Наверно, лучше поздно, чем никогда:

Код:
 
@echo off
call :process "%cd%"
goto :EOF
:process
:: Переходим в директорию, преданную, как аргумент
pushd "%~1"
:: Проходим по всем директориям подходящим под маску и посылаем их :doRename, как аргумент
for /d %%a in (?_*_^(*^)_^(*^)) do call :doRename "%%a"
:: Проходим по всем директориям и запускаем :process с названием директории, как аргумент
for /d %%a in (*) do call :process "%%a"
:: Возвращаемся туда, где были
popd
goto :EOF
:doRename
:: Разбиваем полученную директорию на части, в соответствии с маской и переименовываем
for /f "tokens=1,2,3,4 delims=_()" %%i in (%1) do ren %1 "%%i %%j %%k (%%l)"
 



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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 22:45 27-11-2008
Ninja33



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята,скажите пожалуста,как можна сделать,чтобы при упаковке файлов командой MAKECAB,имена файлов преобразовывались в верхний регистр?Файлов много,они у меня лежат в определенной папке,этой командой: For %%I In (C:\tmp\*.*) Do START /WAIT MAKECAB.exe "%%~I" я их упаковываю...Реально ли это?Зарание спасибо.

Всего записей: 32 | Зарегистр. 28-09-2008 | Отправлено: 09:44 28-11-2008
igor_andreev

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ninja33
Если ты делаешь дистриб винды и собираешься все это добро собрать в iso-файл при помощи cdimage(а для чего еще каждый файл в каб пакуют?), то не надо ничего конвертировать, cdimage сама все переведет в верхний регистр, если принудительно(параметр -d) не сказано обратное.
 
Если для других надобностей, то filecase.exe в помощь
http://www.stevemiller.net/downloads/ctb10w32.zip
 
З.Ы. makecab - консольная утилита, "START /WAIT" можно не писать

Всего записей: 1704 | Зарегистр. 08-12-2004 | Отправлено: 10:13 28-11-2008
Ninja33



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

Цитата:
Если ты делаешь дистриб винды
так и есть ,Спасибо большое,буду юзать cdimage,просто раньше Ultra Iso все делал....не знал,спасибо!
 
 
 
Добавлено:
Еще один вопросик...а можна исключить пару файлов из сценария упаковки,не вынимая их из папки?

Всего записей: 32 | Зарегистр. 28-09-2008 | Отправлено: 10:20 28-11-2008
vitrzn



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите, а можно как-то вот этой командой  
del /s /q /f *.usr
удалить все файлы кроме cons*.usr
 
Или как удалить все файлы из папок кроме cons*.usr ?  

Всего записей: 1461 | Зарегистр. 28-10-2007 | Отправлено: 11:43 28-11-2008
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
vitrzn
Поставь атрибут R/O на эти файлы
Del /s /q *.usr (без ключа /Force)
сними атрибут RO

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



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
 
СПАСИБО !  
решение было простое

Всего записей: 1461 | Зарегистр. 28-10-2007 | Отправлено: 13:43 29-11-2008
DeadAnarchist

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет!
Подскажите пожалуйста вот что...
Создал batник со следующим сожержанием

Цитата:
c:\rar a -m5 -as -ep1 FireFoxLocal "C:\Users\DeadAnarchist\AppData\Local\Mozilla"
c:\rar a -m5 -as -ep1 FireFoxRoaming "C:\Users\DeadAnarchist\AppData\Roaming\Mozilla"
c:\rar a -m5 -as -ep1 clipdat2 "C:\Users\DeadAnarchist\clipdat2.rdf"
pause

Это батник сохраняет настройки Firefoxa, что бы потом их легко сохранить.
Вроде все хорошо, но вот блин если окажется так, что по указанному пути C:\Users\DeadAnarchist\AppData\Local\Mozilla нету ни чего, в том числе и каталога, то rar начинает создавать архив ПУСТОЙ. Как избежать этого?? Как сделать, что если нету фалов и каталогов по указанному пути, что бы ни чего не архивировалось?

Всего записей: 53 | Зарегистр. 13-09-2008 | Отправлено: 07:49 30-11-2008 | Исправлено: DeadAnarchist, 09:22 30-11-2008
Elroir



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

Код:
 
dir "C:\Users\DeadAnarchist\AppData\Local\Mozilla" /a-d 1>nul 2>&1 && c:\rar a -m5 -as -ep1 FireFoxLocal "C:\Users\DeadAnarchist\AppData\Local\Mozilla"
dir "C:\Users\DeadAnarchist\AppData\Roaming\Mozilla" /a-d 1>nul 2>&1 && c:\rar a -m5 -as -ep1 FireFoxRoaming "C:\Users\DeadAnarchist\AppData\Roaming\Mozilla"  
dir "C:\Users\DeadAnarchist\clipdat2.rdf" /a-d 1>nul 2>&1 && c:\rar a -m5 -as -ep1 clipdat2 "C:\Users\DeadAnarchist\clipdat2.rdf"  
pause  
 


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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 12:24 30-11-2008
DeadAnarchist

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

Всего записей: 53 | Зарегистр. 13-09-2008 | Отправлено: 15:32 30-11-2008
Tambourine



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как с помощью батника, без посторонних утилит и настроек системы, открыть кучу web ссылок ОДНОВРЕМЕННО, например, штук 50. И чтобы открывались в отдельных окнах, а не во вкладках.
Пробовал с помощью call, start, rundll32 url.dll,FileProtocolHandler - везде лажа получается, открывается только половина ссылок или во вкладках или вообще не открывается.
 
Посоветуйте что можно еще попробовать.

Всего записей: 98 | Зарегистр. 19-07-2007 | Отправлено: 20:37 01-12-2008
Kilyan



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
появился вопрос - и требуется найти решение, ели таковое есть!?
 
Возможно ли без сторонних утилит, ком-строкой вытащить в рег файл или Подробнее...(создание бэкапа)  
настроек(ассоциации файлов) для конкретной программы!???
 
Суть такова - найти в реестре всевозможные ассоциации к данной программы и их сохранить в рег файл.  
 

Всего записей: 886 | Зарегистр. 04-09-2008 | Отправлено: 11:12 03-12-2008 | Исправлено: Kilyan, 11:18 03-12-2008
oklhr

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте,
помогите с такой задачей - склеить все текстовые файлы в текущей директории в один файл и при этом разделять их символом новой строки.
Простой вариант COPY /B *.txt RESULT.txt, но он не разделяет файлы символом перевода строки.  
Спасибо.

Всего записей: 2 | Зарегистр. 03-12-2008 | Отправлено: 20:31 03-12-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