Уважаемые программисты, подскажите пожалуйста, как мне декодировать тучу файлов (музыка в беспотерьном формате tta), лежащих в разных папках в корне диска, формат папки типа "имя исполнителя - имя альбома" (). Нужно получить файлы с расширением *.wav. Сейчас тупо копирую программу-декодер ttaenc.exe в корень каждой папки и запускаю из под Far-a с ключами "ttaenc.exe -d -u" (d - декодирование из tta в wav, u - удаление исходного файла *.tta) Наверное как то можно автоматизировать сей процесс, а то папок более 500 и занятие это доолгое...
» Задачи на bat-файлах 2
Как я понял полная команда для декодирования: ttaenc.exe -d -u имя_файла.tta? Тогда:
Код: FOR /r %%i IN (*.tta) DO ttaenc.exe -d -u %%i
Код: FOR /r %%i IN (*.tta) DO ttaenc.exe -d -u %%i
nopy4uk
Код:
@echo off
setlocal
set root=c:\
for /r %root% %%a in (*.tta) do (
ttaenc.exe -d -u "%%a" "%%~dpa%"
)
Код:
@echo off
setlocal
set root=c:\
for /r %root% %%a in (*.tta) do (
ttaenc.exe -d -u "%%a" "%%~dpa%"
)
Доброго времени суток. Может подскажет кто:
1) как запустить задачу из-под другого пользователя с помощью runas без ввода пароля? Т.е. ситуация такая: есть юзер с именем user1, у него пароль userpassword, надо запустить, к примеру, командную строку из под-учетной записи этого пользователя. Основное требование: никакие пароли вручную вводиться не должны.
такая команда
runas /user:user1 cmd.exe <pass.txt
не работает (предполагалось, что пароль будет браться из файла pass.txt).
2) Есть такая программка reg.exe, позволяющая работать с реестром из командной строки. После того, как она отработала, пишется сообщение о ошибке или о успешном завершении операции. Я эти сообщения перенаправляю в текстовый файл. Только они почему-то перенаправляются в кодировке не ДОСа, а windows. В результате в текстовом файле получается символы с разными кодировками, что, согласитесь, не очень удобно. Как обойти такую проблему?
Заранее спасибо.
1) как запустить задачу из-под другого пользователя с помощью runas без ввода пароля? Т.е. ситуация такая: есть юзер с именем user1, у него пароль userpassword, надо запустить, к примеру, командную строку из под-учетной записи этого пользователя. Основное требование: никакие пароли вручную вводиться не должны.
такая команда
runas /user:user1 cmd.exe <pass.txt
не работает (предполагалось, что пароль будет браться из файла pass.txt).
2) Есть такая программка reg.exe, позволяющая работать с реестром из командной строки. После того, как она отработала, пишется сообщение о ошибке или о успешном завершении операции. Я эти сообщения перенаправляю в текстовый файл. Только они почему-то перенаправляются в кодировке не ДОСа, а windows. В результате в текстовом файле получается символы с разными кодировками, что, согласитесь, не очень удобно. Как обойти такую проблему?
Заранее спасибо.
СПАСИБО ребята!!!
Щас проверил на одной папке - все работает!!!
Класс!
Цитата:
Добавлено:
Только почему то файлы *.wav все перемещаются в папку C:\WINDOWS\system32 ??
Цитата:
Щас проверил на одной папке - все работает!!!
Класс!
Цитата:
@echo off
setlocal
set root=c:\
for /r %root% %%a in (*.tta) do (
ttaenc.exe -d -u "%%a" "%%~dpa%"
)
Добавлено:
Только почему то файлы *.wav все перемещаются в папку C:\WINDOWS\system32 ??
Цитата:
Щас проверил на одной папке - все работает!!!
nopy4uk
Очень капризная программа в отношении пути вывода.
Немного переделал код:
Код:
@echo off
setlocal enabledelayedexpansion
set root=c:\
for /r %root% %%a in (*.tta) do (
set outp=%%~dpa
set outp=!outp:~0,-1!
ttaenc.exe -d -u "%%a" "!outp!"\
)
Очень капризная программа в отношении пути вывода.
Немного переделал код:
Код:
@echo off
setlocal enabledelayedexpansion
set root=c:\
for /r %root% %%a in (*.tta) do (
set outp=%%~dpa
set outp=!outp:~0,-1!
ttaenc.exe -d -u "%%a" "!outp!"\
)
Wise_Kaa
Цитата:
http://forum.ru-board.com/topic.cgi?forum=62&topic=6156&start=1780#13
Цитата:
1) как запустить задачу из-под другого пользователя с помощью runas без ввода пароля?
http://forum.ru-board.com/topic.cgi?forum=62&topic=6156&start=1780#13
1)
Цитата:
мне не подходит такой вариант, так как пароль-то все равно надо вводить, хоть и один раз. Надо сделать таким образом, что бы пароль вообще не нужно было вводить. Он может храниться в открытом виде, главное, что бы его не требовалось вводить, когда батник отрабатывает. Т.е. бат-файл должен отработать полностью без участия пользователя.
2) а что по второму вопросу? никто не подскажет?
Цитата:
http://forum.ru-board.com/topic.cgi?forum=62&topic=6156&start=1780#13
мне не подходит такой вариант, так как пароль-то все равно надо вводить, хоть и один раз. Надо сделать таким образом, что бы пароль вообще не нужно было вводить. Он может храниться в открытом виде, главное, что бы его не требовалось вводить, когда батник отрабатывает. Т.е. бат-файл должен отработать полностью без участия пользователя.
2) а что по второму вопросу? никто не подскажет?
Wise_Kaa
Цитата:
Стандартный runas не поддерживает такую опцию. В сети можно найти несколько утилит (в том числе улучшенный runas), которые позволяют вводить пассворд, как аргумент.
Цитата:
Насколько я знаю, если программа выводут текст в какой-то определенной кодировке - ее невозможно изменить. А что кроме вывода reg.exe записывается в файл?
Цитата:
Надо сделать таким образом, что бы пароль вообще не нужно было вводить
Стандартный runas не поддерживает такую опцию. В сети можно найти несколько утилит (в том числе улучшенный runas), которые позволяют вводить пассворд, как аргумент.
Цитата:
2) а что по второму вопросу? никто не подскажет?
Насколько я знаю, если программа выводут текст в какой-то определенной кодировке - ее невозможно изменить. А что кроме вывода reg.exe записывается в файл?
Цитата:
Стандартный runas не поддерживает такую опцию. В сети можно найти несколько утилит (в том числе улучшенный runas), которые позволяют вводить пассворд, как аргумент.
Спасибо за разъяснения, хоть не буду искать несуществующее.
Цитата:
А что кроме вывода reg.exe записывается в файл?
Да много чего пишется, просто создается лог-файл, с комментариями, с сообщениями от других программ. И всю эту идилию нарушает другая кодировка reg.exe
Elroir
Примного благодарен!
Примного благодарен!
Wise_Kaa
У меня как-то давно всплыла похожая задача(разные кодировки), что-то там ни на что не реагировало и портило картину лога. Я тогда в конце батника вставил:
xcode log.txt log.txt
Xcode тут. А года два назад на английскую винду совсем перешел, тут все красиво, по-английски
У меня как-то давно всплыла похожая задача(разные кодировки), что-то там ни на что не реагировало и портило картину лога. Я тогда в конце батника вставил:
xcode log.txt log.txt
Xcode тут. А года два назад на английскую винду совсем перешел, тут все красиво, по-английски
Можно ли (и как) из командной строки изменить MAC-адрес сетевой карты? Точнее, имеются ли в винде штатные (!) команды или программы, с помощью которых можно изменить MAC?
Для XP SP2, 2003.
Вопрос мною уже был детально изучен - где хранятся настройки в реестре и как их менять. Но процедура поиска нужного ключа в реестре и изменения значения уж слишком хитра, чтобы реализовывать ее батником. Для изменения MAC-а предлагается воспользоваться сторонними программками (например, macshift и SMAC). Но хотелось бы найти штатные средства.
У netsh есть недокументированные параметры командной строки. Может для нее существуют команда для изменения MAC-а?
Для XP SP2, 2003.
Вопрос мною уже был детально изучен - где хранятся настройки в реестре и как их менять. Но процедура поиска нужного ключа в реестре и изменения значения уж слишком хитра, чтобы реализовывать ее батником. Для изменения MAC-а предлагается воспользоваться сторонними программками (например, macshift и SMAC). Но хотелось бы найти штатные средства.
У netsh есть недокументированные параметры командной строки. Может для нее существуют команда для изменения MAC-а?
igor_andreev
Спасибо, но к сожалению мне такой вариант не очень подходит, хотелось бы обойтись стандартными средствами, которые есть в Win XP
Спасибо, но к сожалению мне такой вариант не очень подходит, хотелось бы обойтись стандартными средствами, которые есть в Win XP
royt
Wise_Kaa
А с чем связано ваше нежелание использовать сторонние утилиты, можно поинтересоваться? Если возможностей винды не хватает, то что такого, чтобы добавить пару-тройку консольных утилит? Все равно ведь устанавливаете программы, которых нет в Windows, а-ля файл-менеджер, архиватор и т.п.
У меня есть папка на несистемном диске, D:\BIN - в ней 600 с гаком консольных утилит, которых нет в стандартной поставке Windows. При перестановке винды просто добавляю ее в PATH и вуаля, комфортная работа мне обеспечена.
Wise_Kaa
А с чем связано ваше нежелание использовать сторонние утилиты, можно поинтересоваться? Если возможностей винды не хватает, то что такого, чтобы добавить пару-тройку консольных утилит? Все равно ведь устанавливаете программы, которых нет в Windows, а-ля файл-менеджер, архиватор и т.п.
У меня есть папка на несистемном диске, D:\BIN - в ней 600 с гаком консольных утилит, которых нет в стандартной поставке Windows. При перестановке винды просто добавляю ее в PATH и вуаля, комфортная работа мне обеспечена.
Цитата:
У меня есть папка на несистемном диске
Вот именно, у Вас. На своем собственном компьютере я тоже пользуюсь не интернет эксплорером, и не медиа-плеером. Но мне батник этот прийдется запускать неизвестно где, и, возможно, буду запускать его даже не я, по этому чем меньше в нем будет использоваться утилит от сторонних производителей, тем лучше (по почте отошлешь: там фаервол чего зарубит, там антивир, потом удаленно сложновато разбираться чего именно уже не хватает)
Тогда как вариант можно использовать следующую схему:
созданный скрипт вместе с нужными утилитами помещается в SFX-архив с silent-распаковкой во временную папку и запуском скрипта после распаковки - главное учитывать при создании скрипта, что надо работать только с относительными путями и стандартными переменными окружения...
созданный скрипт вместе с нужными утилитами помещается в SFX-архив с silent-распаковкой во временную папку и запуском скрипта после распаковки - главное учитывать при создании скрипта, что надо работать только с относительными путями и стандартными переменными окружения...
Вот что мне выдаёт этот скрипт.
Цитата:
А как я понимаю должен появится файл с описанием всех команд.
Я на другом форуме нашёл скрипт создания бэкапа, в котором раз в неделю копируется нужный файл, ну типа этого, но здесь я переделал для временных скачанных архивов.
Цитата:
Можно ли сделать так, чтоб файлы не удалялись после 7 архива, а вместо имени была дата создания архива, то есть ".rar[1]" переименовывался в файл, например 0.26.13.22.01.2007.rar (часы.минуты.секунды.день.месяц.год)
Цитата:
C:\windows>FOR /F "usebackq tokens=1 eol= skip=1 delims= " %a IN (`help|findstr
/B /V /C:" "`) DO help %a 1>>%a.txt
Попытка записи в несуществующий канал.
Синтаксическая ошибка в имени файла, имени папки или метке тома.
Процесс не может получить доступ к файлу, так как этот файл занят другим процесс
ом.
А как я понимаю должен появится файл с описанием всех команд.
Я на другом форуме нашёл скрипт создания бэкапа, в котором раз в неделю копируется нужный файл, ну типа этого, но здесь я переделал для временных скачанных архивов.
Цитата:
del /q temporarily7.rar
ren temporarily6.rar temporarily7.rar
ren temporarily5.rar temporarily6.rar
ren temporarily4.rar temporarily5.rar
ren temporarily3.rar temporarily4.rar
ren temporarily2.rar temporarily3.rar
ren temporarily1.rar temporarily2.rar
ren temporarily.rar temporarily1.rar
ren .rar[1] temporarily.rar
start temporarily.rar
Можно ли сделать так, чтоб файлы не удалялись после 7 архива, а вместо имени была дата создания архива, то есть ".rar[1]" переименовывался в файл, например 0.26.13.22.01.2007.rar (часы.минуты.секунды.день.месяц.год)
AZJIO для выполнения данного скрипта надо создать пакетный (cmd либо bat) файл и в него записать данную команду. К тому же лучше не запускать его внутри папки виндов особенно с правами ограниченного пользователя...
К тому же скрип такой:
Код: FOR /F "usebackq tokens=1 eol= skip=1 delims= " %%a IN (`help^|findstr /B /V /C:" "`) DO help %%a >>%%a.txt
К тому же скрип такой:
Код: FOR /F "usebackq tokens=1 eol= skip=1 delims= " %%a IN (`help^|findstr /B /V /C:" "`) DO help %%a >>%%a.txt
Есть такая штука: после распознавания програмой GOCR картинки, состоящей из 4-ех символов на выходе получается тесктовый файл с символами, изображенными на картинке.
Но иногда, в следствие распознавания картинки несоответствующего качества, текстовый файл может содержать символ подчеркивания вместо нераспознанных символов или между четырьмя распознанными вместо мнимого (предполагаемого пробела), или в конце (пятым символом).
Еще бывают варинты, когда результат располагается в две строки - начало на второй, а окончание на первой строке (именно в таком порядке), причём количество символов в строках может "плавать", т.е. может быть 1-3, 2-2, 3-1 сиволов соответственно на первой и второй строке.
Нужно, чтобы после обработки
Цитата:
Цитата:
Но у меня получилось сделать только так - четыре символа + пробел + 0x0D + 0x0A
И то, если символы расположены на одной строке.
То есть, после обработки такого
Цитата:
Цитата:
Наваял вот такое:
Цитата:
Можно ли каким-то образом убрать пробел в конце строки? Или может лучше изменить скрипт? и если менять, то где?
Помогите, пожалуйста.
Но иногда, в следствие распознавания картинки несоответствующего качества, текстовый файл может содержать символ подчеркивания вместо нераспознанных символов или между четырьмя распознанными вместо мнимого (предполагаемого пробела), или в конце (пятым символом).
Еще бывают варинты, когда результат располагается в две строки - начало на второй, а окончание на первой строке (именно в таком порядке), причём количество символов в строках может "плавать", т.е. может быть 1-3, 2-2, 3-1 сиволов соответственно на первой и второй строке.
Нужно, чтобы после обработки
Цитата:
B3_получался на выходе файл с таким содержимым (размер фала должен быть шесть байт - четыре символа + 0x0D + 0x0A):
A1
Цитата:
A1B3
Но у меня получилось сделать только так - четыре символа + пробел + 0x0D + 0x0A
И то, если символы расположены на одной строке.
То есть, после обработки такого
Цитата:
A1_B3_получается
Цитата:
A1B3с пробелом в конце строки, а надо без пробела...
Наваял вот такое:
Цитата:
for /F "tokens=1,2,3,4 delims=_" %%i in (text.txt) do @echo %%i%%j%%k%%l > out.txt
Можно ли каким-то образом убрать пробел в конце строки? Или может лучше изменить скрипт? и если менять, то где?
Помогите, пожалуйста.
SGG
IMHO, должно помочь простое убирание пробела перед >, т.е.
Код: for /F "tokens=1,2,3,4 delims=_" %%i in (text.txt) do @echo %%i%%j%%k%%l> out.txt
IMHO, должно помочь простое убирание пробела перед >, т.е.
Код: for /F "tokens=1,2,3,4 delims=_" %%i in (text.txt) do @echo %%i%%j%%k%%l> out.txt
SGG
Я не проверял все варианты расположения символов, так что попробуй погонять тесты.
Код:
@echo off
setlocal enabledelayedexpansion
set count=1
for /f "tokens=1-4 delims=_ " %%a in (text.txt) do (
if !count!==2 (set fpart=%%a%%b%%c%%d) else (set code=%%a%%b%%c%%d)
set /a count=!count!+1
)
if not defined fpart (echo %code%>out.txt) else (echo %fpart%%code%>out.txt)
Я не проверял все варианты расположения символов, так что попробуй погонять тесты.
Код:
@echo off
setlocal enabledelayedexpansion
set count=1
for /f "tokens=1-4 delims=_ " %%a in (text.txt) do (
if !count!==2 (set fpart=%%a%%b%%c%%d) else (set code=%%a%%b%%c%%d)
set /a count=!count!+1
)
if not defined fpart (echo %code%>out.txt) else (echo %fpart%%code%>out.txt)
Kirillhome
Цитата:
таки да - ты прав! спасибо, учту такой момент
Elroir
Цитата:
Цитата:
Пожалуйста.
[offtop]А вот с этой доработкой распознавалка будет работать еще лучше!!! Большое спасибо!
Так что скоро, думаю, не за горами, новый сборничек будет. Там и база побольше. /offtop]
Цитата:
должно помочь простое убирание пробела перед >
таки да - ты прав! спасибо, учту такой момент
Elroir
Цитата:
попробуй погонять тестыпогонял - ещё как работает! супер!
Цитата:
Спасибо за "добавки" к USDownloader
Пожалуйста.
[offtop]А вот с этой доработкой распознавалка будет работать еще лучше!!! Большое спасибо!
Так что скоро, думаю, не за горами, новый сборничек будет. Там и база побольше. /offtop]
Нужно вписать в текстовый файл слово "System", пропустив две строки...
Вот так не получается : For /F "skip=2" %%i in (test.txt) do echo "System" >> %%i
Что я делаю не так?
Вот так не получается : For /F "skip=2" %%i in (test.txt) do echo "System" >> %%i
Что я делаю не так?
Maza Faka
В пустой файл вписать две пустые строки, а на третьей написать "System"?
В пустой файл вписать две пустые строки, а на третьей написать "System"?
igor_andreev
Цитата:
yurkesha
Цитата:
Просто хочется по-максимуму быть независимым от сторонних программ, когда это возможно. Поэтому и вопрос.
Например, некоторые консольные проги не будут запускаться без предварительной инсталляции (даже если ее довольно легко "выполнить" самому, импортировав данные в реестр - все равно это уже дополнительный геморрой). Порой им еще нужны всякие дополнительные .NET (или просто .dll-ки типа msvcp60 - которые не являются обязательными компонентами системы и имеются почти на каждой машине, но не всегда).
Кроме того, флэшка, которая всегда с собой - тоже не резиновая.
Цитата:
А с чем связано ваше нежелание использовать сторонние утилиты, можно поинтересоваться?
yurkesha
Цитата:
созданный скрипт вместе с нужными утилитами помещается в SFX-архив...
Просто хочется по-максимуму быть независимым от сторонних программ, когда это возможно. Поэтому и вопрос.
Например, некоторые консольные проги не будут запускаться без предварительной инсталляции (даже если ее довольно легко "выполнить" самому, импортировав данные в реестр - все равно это уже дополнительный геморрой). Порой им еще нужны всякие дополнительные .NET (или просто .dll-ки типа msvcp60 - которые не являются обязательными компонентами системы и имеются почти на каждой машине, но не всегда).
Кроме того, флэшка, которая всегда с собой - тоже не резиновая.
Elroir
Цитата:
Нет, файл не пустой, в нём уже есть две строки, надо пропустить их и вписать "System"
Добавлено:
Как запретить пользователю закрывать окно командной строки, пока выполняется длинный сценарий (около 10 сек), скрывать его нельзя, так как пользователь будет запускать батник снова и снова...Короче нужно оформить консольное окно так, что бы пользователь понял, что нужно подождать и не мог закрыть его...
Цитата:
В пустой файл вписать две пустые строки, а на третьей написать "System"?
Нет, файл не пустой, в нём уже есть две строки, надо пропустить их и вписать "System"
Добавлено:
Как запретить пользователю закрывать окно командной строки, пока выполняется длинный сценарий (около 10 сек), скрывать его нельзя, так как пользователь будет запускать батник снова и снова...Короче нужно оформить консольное окно так, что бы пользователь понял, что нужно подождать и не мог закрыть его...
Maza Faka
Я на 27-ой странице задавал похожий вопрос. Elroir привел пример кода. Его надо чуток под свою задачу адаптировать.
Я на 27-ой странице задавал похожий вопрос. Elroir привел пример кода. Его надо чуток под свою задачу адаптировать.
Maza Faka
Код:
@echo off
setlocal enabledelayedexpansion
set count=1
for /f "tokens=*" %%a in (test.txt) do (
if !count!==3 echo "System">>out.txt
echo %%a>>out.txt
set /a count=!count!+1
)
Код:
@echo off
setlocal enabledelayedexpansion
set count=1
for /f "tokens=*" %%a in (test.txt) do (
if !count!==3 echo "System">>out.txt
echo %%a>>out.txt
set /a count=!count!+1
)
Впрочем, сам попробую. Так должно работать:
Цитата:
Цитата:
@echo off
setlocal enabledelayedexpansion
set thirdline=System
set line=3
del /q tmp_file 2>nul
set counter=1
for /f "tokens=*" %%a in (test.txt) do (
if !counter!==!line! (echo %thirdline%>>tmp_file) else (
echo %%a>>tmp_file)
set /a counter=!counter!+1
)
del /q test.txt 2>nul
ren tmp_file test.txt
Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
Предыдущая тема: Сбой активации XP sp2
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.