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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах

Модерирует : KLASS, IFkO

vu1tur (14-11-2006 16:59): http://forum.ru-board.com/topic.cgi?forum=62&topic=9040  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

hacsoft

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Задачи на bat-файлах
Вопросы, задачи и их решения по работе с командными файлами, а также сопутствующие ссылки.
 
Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Программы » Командная строка, батники\сценарии
 
Полезные ссылки:
· Cmd. Описание от разработчиков
· Набор GNU утилит для win32
· Встроенный справочник по командам: hh ntcmds.chm
· Пакет утилит для организации интерфейса в bat-файлах
· Использование ansi.sys
· cmdow — изменение параметров и видимости дос-окна
· blat — отправка почты из консоли
 
Готовые решения и частые вопросы:
· Создание листинга директорий на примере создания плейлиста
· Разименовывание переменных
· Переименовывание файлов по дате создания
· Запуск сетевого подключения
· Запуск bat файлов как сервис
· Пример выполнения команд по результату команды ping
· Использование даты на день раньше чем сегодня
 
Невозможности — что нельзя сделать с помощью командных файлов:
· изменть конфигурацию IP на удаленной машине (без помощи rcmd.exe) [добавил ALEF]
 
 
Дополняем шапку: добавляем готовые решения, полезные ссылки.
 
Примечание: Большие куски кода заключайте в тэг [more]  
 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Старая версия первого сообщения

Всего записей: 116 | Зарегистр. 18-11-2005 | Отправлено: 22:58 18-11-2005 | Исправлено: Elroir, 05:50 11-11-2006
KLASS



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

Цитата:
Готов решить любую задачу  

Решение при помощи файла .vbs уже есть, хотелось бы обойтись батником. Есть мнение, что этого добиться низя. Тем не менее...
Создать пункт в контекстном меню (которое появляется при нажатии правой кнопки на любом файле), при выборе которого, имя файла было отправлено в окно командной строки и взято в кавычки (на случай, если в имени файла есть пробел).  
Значит, создаем пункт меню "CMD" при помощи .reg файла

Код:
 
REGEDIT4
 
[HKEY_CLASSES_ROOT\*\shell\CMD]
@="CMD"
[HKEY_CLASSES_ROOT\*\shell\CMD\command]
@=Путь_к_имени_батника_после_отработки_которого_выполнялась_задача
 
 

что-то типа этого.

Всего записей: 11054 | Зарегистр. 12-10-2001 | Отправлено: 01:33 19-11-2005
0Vovan0



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
А сложно будет написать батник, который бы делал такое очень нужное мне дело:
 
Сканирует все подпапки из той папки откуда запущен на предмет мп3-файлов и создает нес-ко плейлистов для винампа - по одному для каждой папки(её содержимое, vol_x.m3u) и один общий(содержимое всех папок. vol_all.m3u).
Плейлисты желательно создать на одну папку выше.
Плейлисты необязательно делать винамповского формата, он понимает даже просто путь к файлу, вместо всякой хрени типа  
"#EXTM3U
#EXTINF:701 ..."
 
ЗЫ если возмешся, сделай плиз 2 варианта - с относительными и абсолютными путями к файлам.

Всего записей: 2370 | Зарегистр. 15-07-2005 | Отправлено: 03:30 19-11-2005
hacsoft

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вообще-то я писал задачи по программированию, т.е. абстрактные, типа приведенной мною. Ну ладно...
KLASS
Если тебе нужно прописать некоторые ключи в реестре, то это можно, просто вызывать regedit из батника с определенными параметрами, см. хэлп к regedit.
0Vovan0
Просканировать можно. В каком формате выдавать? Укажи точно. К примеру, я могу так выдать:

Код:
C:\Music\1.mp3
C:\Music\pesnya.mp3
C:\Music\lala.mp3
C:\Music\Albom\tatu.mp3

Т.е. в виде текстовика, в котором на каждой строке по 1 полному пути до нужного файлф. Ето можно. Если нужно в другом формате, то точно опиши формат файла m3u, т.к. я его не знаю и разбираться не хочется.

Всего записей: 116 | Зарегистр. 18-11-2005 | Отправлено: 15:22 19-11-2005
DeADMoHAX



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
hacsoft
можешь, точно.

----------
dmlabs.ru || hackconnect.ru
Выгодно России – значит, хорошо. Не выгодно России – пошёл на хер.

Всего записей: 1367 | Зарегистр. 03-02-2005 | Отправлено: 08:49 20-11-2005
Albert_Braga



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
hacsoft, конечно мой вопрос не является задачей по программированию, но всё же:
Я прописал в bat'нике:

Код:
net start "O&O Defrag"
"C:\Program Files\OO Software\Defrag Professional\oodcnt.exe"

 
Нужно чтобы CMD закрылся сразу после того как запустилась программа, а здесь управление передаётся в следующую строку только после того как закроется oodcnt.exe. Что посоветуете?

Всего записей: 144 | Зарегистр. 30-06-2005 | Отправлено: 09:03 20-11-2005 | Исправлено: Albert_Braga, 09:07 20-11-2005
hacsoft

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DeADMoHAX
Вы про что?
Albert_Braga
Попробуй так:

Код:
net start "O&O Defrag"  
start "C:\Program Files\OO Software\Defrag Professional\oodcnt.exe"
echo продолжаем...

Всего записей: 116 | Зарегистр. 18-11-2005 | Отправлено: 10:16 20-11-2005
0Vovan0



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
hacsoft
Да, именно так простым текстом но с расширением не txt a m3u, только желательно не "C:\Music\1\1.mp3" а "Music\1\1.mp3". Описать формат плейлистов не могу - сам не понял.
 
Жду, и заранее спасибо

Всего записей: 2370 | Зарегистр. 15-07-2005 | Отправлено: 13:19 20-11-2005 | Исправлено: 0Vovan0, 13:20 20-11-2005
hacsoft

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

Код:
rem mp3scan.bat (c) HACSoft, 2005.
@echo off
mode con codepage select=1251 > nul
set name=%~1
if "%~1"=="" set /p name=Enter file name:  
echo Please wait...
set ind=0
:next
set /a ind+=1
set tmp=
for /f "delims=\ tokens=%ind%" %%a in ("%~dp0") do set tmp=%%a
if not "%tmp%"=="" goto next
set /a ind-=1
if exist %name% del %name%
for /f "delims=\ tokens=%ind%*" %%a in ('dir *.mp3 /b /s') do echo %%b >> %name%
mode con codepage select=866 > nul
if exist %name% start %name%

Поясню, как работать: копируешь этот код в Блокнот и сохраняешь с именем "mp3scan.bat". Полученный файл забрасываешь в корень папки с музыкой (например, в "C:\Music", хотя можно и выше, просто в "C:\"). Его запускаешь. Вводишь имя результирующего файла (например: "music.m3u", расширение обязательно указать самому). Ждешь... Как он отработает (у меня в папке "Music" где-то 2000 файлов, отработал за пару секунд), автоматически начнется воспроизведение...

Всего записей: 116 | Зарегистр. 18-11-2005 | Отправлено: 17:27 20-11-2005 | Исправлено: hacsoft, 20:07 21-11-2005
0Vovan0



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
hacsoft
Гм, станно как-то все...
Скопировал текст, сохранил mp3scan.bat, кинул в папку с музыкой(всего нес-ко сотен файлов), запустил, ввел имя файла - "1.m3u" - жду уже минут десять, загрузка ЦП(Athlon 3200+) - 100%, ничего не происходит...
 
Почему?
 

Всего записей: 2370 | Зарегистр. 15-07-2005 | Отправлено: 19:45 20-11-2005
hacsoft

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
0Vovan0
Вот блин, чушь!
Если из форума через буфер обмена копировать, то в конце каждой строки получается пробел Удали эти пробелы вручную в Блокноте. В итоге файл должен весить 453 байта. Тогда все работает.
 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать не правильно!!!

Всего записей: 116 | Зарегистр. 18-11-2005 | Отправлено: 20:48 20-11-2005 | Исправлено: hacsoft, 21:08 20-11-2005
0Vovan0



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ура, зааботало!
 
А можно сделать так, чтобы оно не только общий плейлист выдавало, но и для каждой папки отдельно тоже! Плиз! Если не сложно!
И еще одно мааленькое плиз!
Можно не вводить имя файла вручную, а использовать для общего плейлиста "vol_all.m3u". а для каждой папки "vol_номерпапки.m3u"
 
Даже если не сделаешь, все равно спасибо!

Всего записей: 2370 | Зарегистр. 15-07-2005 | Отправлено: 00:28 21-11-2005 | Исправлено: 0Vovan0, 00:31 21-11-2005
hacsoft

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот решение (создает во всех папках файл "All.m3u" - плейлист по данной папке, без подпапок):

Код:
rem mp3list.bat (c) HACSoft, 2005.
@echo off
echo Please wait...
mode con codepage select=1251 > nul
for /r %%d in (.) do (
    cd %%d
    if exist All.m3u del All.m3u
    for %%f in (*.mp3) do echo %%f >> All.m3u
)
mode con codepage select=866 > nul

Что касается других пожеланий: ни могу не предоставить Вам возможность реализовать это самим. Если возникнут вопросы по командам bat-файлов, введите в командной строке: "%windir%\help\ntcmds.chm" - там есть ответы на все вопросы.

Всего записей: 116 | Зарегистр. 18-11-2005 | Отправлено: 20:07 21-11-2005 | Исправлено: hacsoft, 20:11 21-11-2005
0Vovan0



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

Цитата:
Вот решение (создает во всех папках файл "All.m3u" - плейлист по данной папке, без подпапок):

Сенкс
 

Цитата:
Что касается других пожеланий: ни могу не предоставить Вам возможность реализовать это самим. Если возникнут вопросы по командам bat-файлов, введите в командной строке: "%windir%\help\ntcmds.chm" - там есть ответы на все вопросы.

Кхм, спасибо!
Не подскажете пожалуйста что-нибудь поинтересней по командам - винда у меня англицкая,  и описание многих команд не очень понятно.

Всего записей: 2370 | Зарегистр. 15-07-2005 | Отправлено: 00:47 22-11-2005
ipmanyak



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

Всего записей: 11719 | Зарегистр. 10-12-2003 | Отправлено: 06:47 22-11-2005
hacsoft

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
0Vovan0
Если справка "hh ntcmds.chm" у тебя англоязычная, то файлик "ntcmds.chm" на русском языке можно скачать в инете, он там точно есть, я его где-то видел...
Ага, вот, нашел:
http://e-sementsov.narod.ru/download.htm
Качай файл "ParamComString.chm".

Всего записей: 116 | Зарегистр. 18-11-2005 | Отправлено: 08:50 22-11-2005
0Vovan0



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Большое спасибки!
И за справочник, и за сайтик интересный.

Всего записей: 2370 | Зарегистр. 15-07-2005 | Отправлено: 13:21 22-11-2005
DeADMoHAX



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
hacsoft
имел в виду, что если так создать m3u плейлист, все работать будет.

----------
dmlabs.ru || hackconnect.ru
Выгодно России – значит, хорошо. Не выгодно России – пошёл на хер.

Всего записей: 1367 | Зарегистр. 03-02-2005 | Отправлено: 10:16 25-11-2005
hacsoft

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

Всего записей: 116 | Зарегистр. 18-11-2005 | Отправлено: 14:57 26-11-2005
Death_INN

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
hacsoft
Возможно ли с помощью батника создать ярлык к файлу?

Всего записей: 3013 | Зарегистр. 24-10-2002 | Отправлено: 09:49 28-11-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

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах
vu1tur (14-11-2006 16:59): http://forum.ru-board.com/topic.cgi?forum=62&topic=9040


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru