Ru-Board.club
← Вернуться в раздел «Программы»

» Командная строка, батники, сценарии (bat, cmd)

Автор: KapralBel
Дата сообщения: 15.09.2005 09:24
WispAssassin


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

Странно
Проверь систему, ибо при таком поведении cmd.exe (при том что через "выполнить" - cmd - ping -- все работает) - указывает на некоторые проблемы с системой.
По крайней мере у меня cmd.-ки работают даже тогда когда остальная частьсистемы подглюкивает

Smitis

Цитата:
Кстати, занятная вещь, этот msh. Вот только руки не доходят поюзать его поактивнее

Согласен. качаю вышеуказанную версию (ибо в наличии бета за октябрь 2004 года)
Автор: GeMir
Дата сообщения: 18.09.2005 01:16
Хотелось бы найти решение для следующей задачи:

Есть несколько сотен mp3-файлов c различным bitrate'ом (но во у всех
файлов bitrate выше 192 kbps).
Есть winLAME prerelease 2 (находится в папке C:\Programme\winLAME).

Необходимо перекодировать все вышеуказанные файлы
в тот же mp3 но со следующими параметрами:
Stereo, 44100 Hz, Constant Bitrate 192 kbps.

Работу необходимого bat-файла представляю следующим образом:
После того как он будет помещён в папку с нужными файлами и запущен, в папке
будет создана папка "Output" в которую и будут помещаться файлы полученные
в результате перекодирования (оригиналы же файлов должны остаться без изменения
в том же каталоге в котором они и находились).
Сообщения об ошибках (если таковые будут в процессе выполнения сценария)
можно помещать в создаваемый для этого случая файл Errors.txt (впрочем, это уже,
пожалуй, будет слишком хорошо).

Надеюсь на помощь в реализации замысла...
Автор: KapralBel
Дата сообщения: 19.09.2005 10:03
GeMir
Где можно скачать winLAME?
Автор: Smitis
Дата сообщения: 19.09.2005 11:20
GeMir
Что-нибудь типа

Код:
@echo off
md Output 2> nul
type nul errors.txt
for %%f in (*.mp3) do путь_к_lame\lame.exe [options] %%f output\%%f >>errors.txt 2>>errors.txt
Автор: GeMir
Дата сообщения: 19.09.2005 19:56
KapralBel

Цитата:
Где можно скачать winLAME?

http://winlame.sourceforge.net/index.php

Smitis

Цитата:
Что-нибудь типа

Честно говоря, хотелось бы полное решение...
Автор: caxap
Дата сообщения: 20.09.2005 01:12
Други, подскажите, можно-ль из командной строки пользуя IE или F.F. сохранить на винт страницу с конкретного адреса в инете. Можно без картинок (с ними, оно конечно, совсем замечательно буде)? Ну на вроде как набрал команду (а лучше батничек) типа там "copy "http://bla-bla.com/abc.html" "c:\abc_from_bla-bla.html"" или как оно там, звиняйте - не знаю, подождал, позанимался своими делами и получил свой "abc_from_bla-bla.html". И шоб браузер не запускать в обычном, так сказать, смысле (не лазить по ссылкам и сохранять вручную).
Варианты с Телепортом и т.п. отпадают. IE он везде есть (ну мож окромя Линуха), а то мож и сама система своими силами такое может, я не большой спец. Жду ответа с нетерпением.
Автор: bredonosec
Дата сообщения: 20.09.2005 02:09
caxap
мысль мелькнула насчет оффлайн страниц..
или синхронизированных файлов. Которые можно обновить вручную - кликом, или автоматически при подключении. Осталось только придумать, как линки на страницы туда запихать без лишнего гемора..
Автор: igor_andreev
Дата сообщения: 20.09.2005 08:47

Цитата:
можно-ль из командной строки пользуя IE или F.F.

Тебе обязательно встроенными возможностями винды? Тогда только смотреть в сторону VBS/JS
Можно сохранить страницу как html , можно сохранить только текст со страницы, пишешь somename.vbs [MORE]

Код:
'сохранить как...
strFile = "C:\anekdot.html"

'адрес страницы в инете
strURL="http://anekdotov.net/anekdot/random/2.html"

On Error Resume Next

Set objHTTP = CreateObject("MSXML2.XMLHTTP")
Call objHTTP.Open("GET", strURL, False)
objHTTP.Send
Set fso = CreateObject("Scripting.FileSystemObject")
Set flink = fso.OpenTextFile(strFile, 2, True)
flink.Write objHTTP.ResponseText
flink.Close

If Err<>0 Then WScript.Quit

Set objHTTP = Nothing
Set fso = Nothing

WScript.Quit
Автор: KapralBel
Дата сообщения: 20.09.2005 10:07
GeMir

Какая у тебя система. Содержимое батника зависит от этого
* Win9x/ME?
* WinNT/2000/XP/2003?


Цитата:
http://winlame.sourceforge.net/index.php

У меня не открывается (правда такое бывает, может быть через час - два откроется)
Автор: volodyalipkin
Дата сообщения: 20.09.2005 10:42
caxap
4NT умеет это делать.
Автор: KapralBel
Дата сообщения: 20.09.2005 15:26
GeMir
Скачал я winLAME - дык не нашел у него параметров командной строки

Может другая утилита пригодиться, тоже без параметров ком.строки - но с более расширенными возможностями.
Автор: GeMir
Дата сообщения: 20.09.2005 17:10
KapralBel

Цитата:
Какая у тебя система. Содержимое батника зависит от этого

Windows XP SP2

Цитата:
Скачал я winLAME - дык не нашел у него параметров командной строки

Извиняюсь. В вопросах связанных с командной строкой я "чайник"...

Цитата:
Может другая утилита пригодиться, тоже без параметров ком.строки - но с более расширенными возможностями.

Спасибо, посмотрю.
Автор: Smitis
Дата сообщения: 20.09.2005 17:10
GeMir
Хм, winlame этот гуевым оказался. А простой, консольный lame не подходит?
_http://lame.sourceforge.net/
Автор: slech
Дата сообщения: 21.09.2005 00:52
Нужна прога для размножения файлов по порядку.
То есть, если у меня есть фалы с названиями:
file1.xxx
file2.xxx
file3.xxx
......
file50.xxx
Мне нада создать допустим до 100, при этом содержимое их должно дублироваться.
Народ, скажите, есть такой софт в природе, и можно ли его достать если есть?
Заранее благодарю!
Автор: igor_andreev
Дата сообщения: 21.09.2005 01:05
slech
Ты как-то не очень понятно спросил. Хочешь, чтобы file1.xxx скопировался в file51.xxx, file2.xxx скопировался под именем file52.xxx и так далее? Что-то вроде:

Код:
@ECHO OFF & SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION

FOR /L %%A IN (1 1 50) DO (
SET /A NEWCOUNT=%%A+50
IF EXIST file%%A.xxx COPY file%%A.xxx file!NEWCOUNT!.xxx
)

ENDLOCAL
Автор: GeMir
Дата сообщения: 21.09.2005 01:09
Smitis

Цитата:
А простой, консольный lame не подходит?

Подходит вполне.
Был бы только bat'ник...
Автор: caxap
Дата сообщения: 21.09.2005 01:58
To igor_andreev

Цитата:
Тогда только смотреть в сторону VBS/JS...

ААГрОмАААдное СПАСИБО!!! Работает, чесслово!!!
И ещё вопрос:
А это самое "VBS/JS" будет в любой версии Windows (начиная, скажем с 98-ой, обычным образом установленной, без обрезания всякими Lite'ами) работать? У меня сейчас XP PRO, на других проверить пока не могу, увы. Иль нужно какие-либо дополнительные телодвижения совершать - что-нибудь устанавливать, доустанавливать, или активировать по умолчанию отключенное?
Автор: igor_andreev
Дата сообщения: 21.09.2005 07:47

Цитата:
У меня сейчас XP PRO, на других проверить пока не могу, увы.
WSH по умолчанию отсутствует кажется только в дистрибьютиве Windows NT4, там scr56en(или ru).exe отдельно надо скачивать, в остальных "обычным образом установленных" виндах cscript.exe и wscript.exe есть. А прогарантировать могу только работу в Win 2000/XP/2003 с установленным wsh версии 5.6, на них я такое запускал. 98/ME живьем очень давно не видел и желания нет на них смотреть
Автор: KapralBel
Дата сообщения: 21.09.2005 11:02
Smitis
Ты не подкинешь прямую ссылку на

Цитата:
А простой, консольный lame не подходит?

А то устал искать по этим ссылкам гдеж оно лежит, или если до 400кб то на ZaharenkoVN /песик/ tut.by
Автор: Smitis
Дата сообщения: 21.09.2005 11:23
KapralBel

Цитата:
Ты не подкинешь прямую ссылку на

Можно скачать отсюда
http://www.free-codecs.com/download/Lame_Encoder.htm
http://www.free-codecs.com/Lame_Encoder_download.htm

А батник смотри выше, подставить правильный путь и опции вместо [options]

Добавлено:
caxap

Цитата:
это самое "VBS/JS" будет в любой версии Windows (начиная, скажем с 98-ой, обычным образом установленной, без обрезания всякими Lite'ами) работать?

WSH идёт с виндами, начиная с Win98SE или начиная с 5-го IE (т.е., если стоит 5-й ИЕ, WSH должен быть). Естественно, его могут и обрезать lit-ами, ничего гарантировать нельзя. Или вообще запретить через политики (ХР, 2000, 2003). Кроме того, не факт, что в старых системах есть объект MSXML2.XMLHTTP.
В общем, хочешь совместимости, обращай внимание на внешние утилиты (например, curl, wget и многие другие не требуют установки)
Автор: KapralBel
Дата сообщения: 21.09.2005 15:40
GeMir

Код:
@Echo off
MD Output
For %%a in (*.mp3) Do @"C:\Program Files\WinLAME\lame.exe" -b192 -ms -s44.1 --silent "%%a" "Output\%%a" 2>>errors.txt
Автор: GeMir
Дата сообщения: 21.09.2005 19:18
KapralBel

Цитата:
Код:

Большое спасибо! Как раз то, что нужно!


Цитата:
Есть небольшой проблем - для lame.exe - не нашел ключик, который сохраняет существующие тэги

Ничего страшного - проблема действительно небольшая...
Хотя хотелось бы, конечно, чтобы тэги всё же сохранялись...
Автор: igor_andreev
Дата сообщения: 21.09.2005 19:33
Есть небольшая утилита консольная tag.exe
http://www.neilpopham.pwp.blueyonder.co.uk/tag.html
Ее туда же, в цикл for, пусть считывает тэги с %%a и опосля lame.exe записывает их в Output\%%a
Автор: makspb
Дата сообщения: 21.09.2005 23:45
Для сахара

"http из командной строки"

Посмотри в ПМ, может это то, что надо?
Автор: KapralBel
Дата сообщения: 22.09.2005 09:44
GeMir
Благодаря направляющей (url-ы) силе igor_andreev-ва

Код:
@Echo off
MD Output
For %%a in (*.mp3) Do Call :ConvertMP3 "%%a" "Output\%%a"
GoTo :EOF

:ConvertMP3
"C:\Program Files\WinLAME\Lame.exe" -b192 -ms -s44.1 --silent %1 %2 2>>errors.txt
"C:\Program Files\WinLAME\TAG.Exe" %2 --fromfile %1
GoTo :EOF
Автор: SEMENYCH
Дата сообщения: 23.09.2005 11:27
народ, помогите решить задачку:
имеем папки 1, 2, 3. Для ежедневного резерва с помощью, ну допустим Winrar, надо проверить изменились ли файлы в каждой папке и заархивировать только те папки, в которых файлы изменились (либо новее).
Автор: KapralBel
Дата сообщения: 23.09.2005 13:45
SEMENYCH
Если архивирование идет при помощи WinRAR-а - решается все гораздо проще. у РАР-а - есть ключи, при помощи которых он обрабатывает атрибут Archive.
при архихивировании указываешь что архивировать с установленным атрибутом Archive и после архивации его сбросить

Код:
WinRAR a -ac -ao ...
Автор: Smitis
Дата сообщения: 23.09.2005 15:07
SEMENYCH
WinRAR.hlp:

Цитата:
Команда F - освежить файлы в архиве
Обновляет файлы в архиве только в том случае, если они там уже есть, но имеют более старую дату, чем файлы с теми же именами на диске. Эта команда не добавляет новые файлы в архив. Она является эквивалентом командной строки команды "Добавить в архив" режима управления файлами, с выбранным методом обновления "Обновить существующие файлы" диалога "Пути и параметры извлечения".


Цитата:
Команда U - обновить файлы в архиве
Данная команда, как и команда F, обновляет только те файлы в архиве, которые имеют более старые даты, чем у добавляемых файлов. Однако в отличие от команды F, при этом в архив также добавляются файлы, которых там ещё нет. Это эквивалент командной строки команды "Добавить в архив" с выбранным методом обновления "Добавить с обновлением файлов" диалога "Пути и параметры извлечения".
Автор: GeMir
Дата сообщения: 23.09.2005 17:18
KapralBel

Цитата:
Благодаря направляющей (url-ы) силе igor_andreev-ва

Ещё раз большое спасибо!


Цитата:
PS. Ну конечно для пары сотен файлов прописать назад тэги - "махонький такой пустячок" . Особенно если это можно не делать

Ну... При наличии соответствующего софта (для подобных целей использую Mp3tag)
это действительно не так уж сложно
Автор: KapralBel
Дата сообщения: 24.09.2005 08:56
GeMir

mp3Tag - действительно рулез. Сам пользуюсь давно ей.
Но она сработает если тэги предварительно где-нибудь сохранить. Например в имени файла. А если случайно забыть?

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879

Предыдущая тема: Problemi s zagruzkoy XP!


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.