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

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

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sanb
А чтобы makecab-ом паковать и папки нужно почитать документацию к нему. Это делается через создание ddf-файла. http://download.microsoft.com/download/platformsdk/cab/2.0/w98nt42kmexp/en-us/cabsdk.exe

Всего записей: 1667 | Зарегистр. 08-12-2004 | Отправлено: 15:37 10-08-2008
Auren

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, пожалуйста.
 
Нужно запустить oggdec.exe на все ogg.-файлы, находящиеся в папке sound. Файлов несколько тысяч. Писать к каждому свою команду - замориться можно.

Всего записей: 614 | Зарегистр. 17-10-2006 | Отправлено: 15:42 10-08-2008
sanb



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ладно, к чёрту cab
как мне теперь дописать это

Код:
7z a -t7z report.7z Data\ process.txt aimp_components.txt sysinfo.txt
del /q process.txt aimp_components.txt sysinfo.txt decode.js  

если тупо дописать то не получается, не все файлы находятся для упаковки (в архив попадает только sysinfo.txt)
и не удаляется aimp_components.txt

Всего записей: 2189 | Зарегистр. 26-07-2006 | Отправлено: 16:07 10-08-2008
Tipulatoid



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sanb
Не знаю, у меня всё пакует и удаляет:

Код:
7z.exe a report aimp_components.txt process.txt sysinfo.txt Data\
del /q aimp_components.txt process.txt sysinfo.txt decode.js 2>nul
 

вставь эти 2 строки между ren output.del aimp_components.txt и goto :eof в последнем коде, что я давал.

Цитата:
и не удаляется aimp_components.txt

Мож, у тебя этот файл открыт?
 
Добавлено:
Auren

Цитата:
Нужно запустить oggdec.exe на все ogg.-файлы, находящиеся в папке sound. Файлов несколько тысяч. Писать к каждому свою команду - замориться можно.

В смысле oggdec.exe *.ogg не прокатывает? Тогда  

Код:
@echo off
for %%a in (*.ogg) do oggdec.exe %%a

Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 16:41 10-08-2008
Auren

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

Цитата:
все ogg.-файлы, находящиеся в папке sound

А в папке sound есть еще много подпапок, которые тоже надо обработать. Скрипт, который вы мне дали, не работает.

Всего записей: 614 | Зарегистр. 17-10-2006 | Отправлено: 16:57 10-08-2008
Tipulatoid



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

Цитата:
А в папке sound есть еще много подпапок, которые тоже надо обработать. Скрипт, который вы мне дали, не работает.

Совсем не работает или не работает только для файлов в подпапках?
Если первое, то:
1. проверь, что утилита находится либо в текущей папке, либо в папках, прописанных в переменой %path%
2. приведи синтаксис утилиты. Т.е. в консоли набери oggdec.exe /? и что напишет сюда
Если второе, то попробуй

Код:
@echo off
for /r %%a in (*.ogg) do oggdec.exe "%%a"

Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 17:07 10-08-2008
sanb



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tipulatoid
вот что на другом компе вылезло
   
 
а если на другом компе не установлена Java то скрипт не будет работать?

Всего записей: 2189 | Зарегистр. 26-07-2006 | Отправлено: 20:39 10-08-2008
Tipulatoid



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sanb
Какая ОС? Хотя, судя по интерфейсу, Vista. Мне этот конвертер 866 -> 1251 давали в свое время добрые люди из этой ветки. Vista тогда еще не была распространена. Поэтому советую пойти в ту ветку, привести им код конвертера и попросить переписать чтоб и в XP работал, и в Vista. Как ответят, сообщи.  

Цитата:
а если на другом компе не установлена Java то скрипт не будет работать?

Это средство стоит по умолчанию во всех последних Windows, так что на сей счет можно не беспокоится.

Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 21:11 10-08-2008 | Исправлено: Tipulatoid, 21:12 10-08-2008
Auren

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

Цитата:
а если на другом компе не установлена Java то скрипт не будет работать?

http://kb.mozillazine.org/JavaScript_is_not_Java
 

Цитата:
Если второе, то попробуй  

Теперь работает. Спасибо!

Всего записей: 614 | Зарегистр. 17-10-2006 | Отправлено: 21:21 10-08-2008
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tipulatoid
 
Отконвертировать вывод в 1251 можно так:

Код:
 
@echo off
for /f "tokens=*" %%i in ('systeminfo') do call:convert "%%i"
goto:eof
 
:convert
chcp 1251 1>nul
echo %~1 1>>systeminfo.txt
chcp 866 1>nul
 


Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 21:37 10-08-2008
Tipulatoid



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sanb
С подачи 01MDM твоя задача свелась к следующему батнику:

Код:
@echo off
call :make_reports "systeminfo" sysinfo.txt
call :make_reports "tasklist /v" process.txt
call :make_reports "dir /s /d" aimp_components.txt
 
7z.exe a report aimp_components.txt process.txt sysinfo.txt Data\
del /q aimp_components.txt process.txt sysinfo.txt 2>nul
 
goto :eof
 
:make_reports
for /f "tokens=*" %%a in ('%~1') do call:convert "%%a" %~2
goto:eof
 
:convert
chcp 1251 1>nul
echo %~1 1>>%~2
chcp 866 1>nul


Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 22:09 10-08-2008
sanb



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tipulatoid
эта ошибка была скорей всего из-за порезанной винды (игровая версия) всякими nLite'ми
скорей всего небыло Microsoft Windows Based Script Host или повреждён...
 
2All
последнюю версию Microsoft Windows Based Script Host 5.7 для XP можно скачать >здесь<
 
Tipulatoid

Цитата:
С подачи 01MDM твоя задача свелась к следующему батнику:  

последний вариант работает
 
Спасибо ребята!
 
PS вот что получилось http://www.aimp.ru/forum/index.php?topic=7436
 
Добавлено:
Tipulatoid
что то не у всех работает http://www.aimp.ru/forum/index.php?topic=7436
странно, у меня все варианты работают
я в растерянности...

Всего записей: 2189 | Зарегистр. 26-07-2006 | Отправлено: 22:53 10-08-2008
Tipulatoid



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sanb
Попробуй добавить в дистрибутив помимо 7z.exe ещё и systeminfo.exe и tasklist.exe (найдешь в папке %windir%\system32) У парня донельзя порезаная Винда.

Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 01:44 11-08-2008
01MDM



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

Цитата:
что то не у всех работает

 
Например в XP Home systeminfo.exe нет изначально, впрочем как и tasklist, taskkill, wmic.. Список можно и дальше продолжить.

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 09:03 11-08-2008
sanb



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

Цитата:
Например в XP Home systeminfo.exe нет изначально, впрочем как и tasklist

а можно ли их установить официально, есть ли установщик/апдейт?

Всего записей: 2189 | Зарегистр. 26-07-2006 | Отправлено: 20:39 11-08-2008
01MDM



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

Цитата:
а можно ли их установить официально, есть ли установщик/апдейт?

 
Наверное такого апдейта нет. Можно это хозяйство просто забрать из XP Pro. Я так и сделал для systeminfo, wmic и кажется diskpart (если не ошибаюсь). Но некоторую информацию о системе можно получить и через netsh

Код:
 
netsh diag show /?
 

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 20:56 11-08-2008
vitrzn



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну вот опять с  просьбой
 
А как можно сделать так?
Есть папка (назв на английском) в ней файлы.
Нужно сжать содержимое папки RAR_ом с последующим удаление файлов.
Переменовать архив в  НАЗВАНИЕ ПАПКИ_ДАТА.RAR
 
Как это сделать?

Всего записей: 1357 | Зарегистр. 28-10-2007 | Отправлено: 09:03 12-08-2008
Smitis



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

Цитата:
А как можно сделать так?  
Есть папка (назв на английском) в ней файлы.  
Нужно сжать содержимое папки RAR_ом с последующим удаление файлов.  
Переменовать архив в  НАЗВАНИЕ ПАПКИ_ДАТА.RAR  

А хелп почитать? rar /?
 
rar m -m5 -r -s -agYYYYMMDD папка *

Всего записей: 2350 | Зарегистр. 09-02-2003 | Отправлено: 09:56 12-08-2008
vitrzn



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smitis
Ну это получается что нужно будет в каждую папку скинуть батник?
так?
А так чтобы был универсальный (без имени папки)
 
Типа закинул в папку батник, запустил, архив создался НАЗВАНИЕ ПАПКИ_ДАТА.RAR  
И всё!
Вот в чём вопрос!
Или я многое прошу?!!

Всего записей: 1357 | Зарегистр. 28-10-2007 | Отправлено: 10:01 12-08-2008
KapralBel



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

Код:
 
@Echo off
PushD %1
rar m -m5 -r -s -agYYYYMMDD %1 *
PopD
 

Вызов
RARN.cmd СуперПапка

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 10:15 12-08-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.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru