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

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

Автор: Sergey_AV
Дата сообщения: 27.08.2009 08:44
dddimmm

Цитата:
при запуске установочного файла wav2bin.exe, буквально на секунду выскакивает окно я успел его перехватить скриншотом…

. Чтобы не мучаться в дальнейшем, советую подобные вещи запускать через Far Manager - IMHO, наиполезнейшая тулза, из категории "маст хэв"...
Автор: dddimmm
Дата сообщения: 27.08.2009 10:26
что я делаю не так:

____________________________________
C:\DOCUME~1\User>C:\programm\wav2bin.exe /?

Usage : WAV2BIN srcfile dstfile [T:type] [G:graph]

srcFile : Source file name (Wav file)
dstFile : Destination file name (Basic or Binary file)
type : Destination file type for Basic source file :
IMG -> Basic binary image, BAS -> Basic (default)
graph : Special character conversion for BAS type :
YES -> Convert, NO -> No conversion (default)

Version : 1.40
Author : Pocket -> www.pocketmuseum.com

C:\DOCUME~1\User>C:\programm\wav2bin.exe C:\recorded.wav rec [T:BAS] [G:YES]

ERROR : Format isn't 1 byte / sample

_____________________________________

не судите строго...............

Добавлено:
я так понимаю можно конвертировать в Основной или Бинарный файл???

как в бинарный, кто подскажет правильную командную строку...
Автор: moJoKras
Дата сообщения: 27.08.2009 11:09
Помогите пожалуйста батничек сделать.
Есть консольная прога azid для разбора ac3 на вавы.
Т.к. все 6 каналов сразу она не может разложить, то надо 6 раз её вызвать.
Можно ли сделать так что батник поочередно вызывал 6 раз прогу и всё что она выдаёт записывать в лог, который бы сохранялся в папки с вавками?
Вот строчки которые использую:

Цитата:
"..\azid.exe" -d3/2 -L0 -l1 -a -F wav_float -oc "..\AudioFile.ac3" "..\us-C.wav"
"..\Azid\azid.exe" -d3/2 -L0 -l1 -a -F wav_float -ol "..\AudioFile.ac3" "..\us-FL.wav"
"..\Azid\azid.exe" -d3/2 -L0 -l1 -a -F wav_float -or "..\AudioFile.ac3" "..\us-FR.wav"
"..\Azid\azid.exe" -d3/2 -L0 -l1 -a -F wav_float -osl "..\AudioFile.ac3" "..\us-SL.wav"
"..\Azid\azid.exe" -d3/2 -L0 -l1 -a -F wav_float -osr "..\AudioFile.ac3" "..\us-SR.wav"
"..\Azid\azid.exe" -d3/2 -L0 -l1 -a -F wav_float -olfe "..\AudioFile.ac3" "..\us-LFE.wav"

Заранее спасибо, а то запарился уже туда сюда строчки гонять...
Автор: AlexPC101
Дата сообщения: 28.08.2009 21:05
Помогите пожалуйста, как написать батник для перевода в директории всех wav в mp3, притом учитывать и поддериктории, и отдельный батник для обратного перегона.
У меня пока так (использовать желательно lame.exe)
здесь не переименовывает в поддерикториях

Цитата:

FOR /R %1 %%G IN (*.wav) DO LAME.EXE -V 2 --vbr-new "%%G" & del "%%G"
ren *.wav.mp3 *.
ren *.wav *.mp3

здесь не переводит в wav

Цитата:

FOR /R %1 %%G IN (*.mp3) DO LAME.EXE --decode-new "%%G" & del "%%G"
ren *.mp3.wav *.
ren *.mp3 *.wav
Автор: Artem_Butenko
Дата сообщения: 28.08.2009 21:56
Ребята, пожалуйста, помогите реализовать следующие идеи: 1) бэкап файлов с помощью батч. Может есть другой вариант, помимо последовательного использования команд копирования, переименования и перемещения? 2) Возможно ли с помощью батч файлов активировать\блокировать контролы в запущенном приложении (например, снять флажок и заблокировать чек-бокс)? 3) Извлечение из ключа системного реестра пути для копирования файла. С этим вопросом помог разобраться 01MDM, за что ему большое спасибо. Только вот хотелось бы немного доработать этот пример. А именно, если в каталоге назначения уже имеется файл с таким же именем и расширением, необходимо выполнить его резервное копирование (бэкап) в каталог Backup\Test.txt (год, день, час, минута)\Test.txt. Но, приемлимым был бы и такой вариант, когда при копировании нового файла, проверялся бы md5-хэш старого. И, если md5 удовлетворял условиям, старый файл, копировался бы в папку Backup\Test v.x.x\Test.txt, где v.x.x - версия файла, т.е. возможные варианты (v.1.0, v.1.1, v.1.2 и т.д.) и их md5-хэш должны быть заранее прописаны в батч-файле. Буду очень рад, если Вы поможите реализовать эти идеи на практике!
Автор: ewild
Дата сообщения: 30.08.2009 12:32
<del>
мой вопрос "... выяснить из .bat файла, что он выполняется в среде x64 или x86 ОС (WinXP x86, Win7 x64)?"
решает связка %PROCESSOR_ARCHITECTURE% и %PROCESSOR_ARCHITEW6432%

пример:

Код: IF "%PROCESSOR_ARCHITECTURE%"=="x86" set xOS=x86
IF "%PROCESSOR_ARCHITECTURE%"=="AMD64" set xOS=x64
IF "%PROCESSOR_ARCHITEW6432%"=="AMD64" set xOS=x64
echo xOS=%xOS%
Автор: Artem_Butenko
Дата сообщения: 30.08.2009 15:04

Цитата:
Ребята, пожалуйста, помогите реализовать следующие идеи:

1) бэкап файлов с помощью батч. Может есть другой вариант, помимо последовательного использования команд копирования, переименования и перемещения?

2) Возможно ли с помощью батч файлов активировать\блокировать контролы в запущенном приложении (например, снять флажок и заблокировать чек-бокс)?

3) Извлечение из ключа системного реестра пути для копирования файла. С этим вопросом помог разобраться 01MDM, за что ему большое спасибо. Только вот хотелось бы немного доработать этот пример.

3.1) А именно, если в каталоге назначения уже имеется файл с таким же именем и расширением, необходимо выполнить его резервное копирование (бэкап) в каталог Backup\Test.txt (год, день, час, минута)\Test.txt.

3.2) Но, приемлимым был бы и такой вариант, когда при копировании нового файла, проверялся бы md5-хэш старого (в папке назначения). И, если md5 удовлетворял условиям, старый файл, копировался бы в папку Backup\Test v.x.x\Test.txt, где v.x.x - версия файла, т.е. возможные варианты (v.1.0, v.1.1, v.1.2 и т.д.) и их md5-хэш должны быть заранее прописаны в батч-файле. Буду очень рад, если Вы поможите реализовать эти идеи на практике!


ewild

Спасибо за внимание к моему вопросу, только я не так хорошо разбираюсь командной строке и батч-сценариях как Вы. Если у Вас есть время и желание, пожалуйста помогите разобраться особенно с пунктом 3.1 и 3.2. Предыдущий Ваш ответ, как я понял, нацелен в несколько другое русло. Буду Вам Очень благодарен за точные примеры.
Автор: vitrzn
Дата сообщения: 31.08.2009 11:36
Есть батник, он сортирует и перемещает всё *.exe в папки с датой их созданий:
:loop
for %%i in (*.exe) do call:move "%%i" %%~ti
:goto:eof
:move
for /f "tokens=1-3 delims=." %%i in ("%2") do set folder=exe_%%k-%%j-%%i
md %folder% 2>nul
move %1 %folder%
goto :loop

А можно в название папки exe_%%k-%%j-%%i добавть размер файла *.exe (он там будет ТОЛЬКО ОДИН)?

Помогите доработать код!
Автор: 01MDM
Дата сообщения: 31.08.2009 15:41
vitrzn
Можно:

Код:
for %%i in (*.exe) do call:move "%%i" %%~zi %%~ti
:goto:eof

:move
for /f "tokens=1-3 delims=." %%i in ("%3") do set folder=exe_%%k-%%j-%%i_%2
md %folder% 2>nul
move %1 %folder%
Автор: vitrzn
Дата сообщения: 31.08.2009 17:10
01MDM
Спасибо!
Автор: lid111
Дата сообщения: 05.09.2009 21:25
01MDM, я хочу вернуть вас к вашей уже древней поделке: вот тут http://forum.ru-board.com/topic.cgi?forum=5&topic=25393&start=340 вы выкладывали для меня батник по удалению временных файлов. Потом, позже, я обратил ваше внимание на то, что батник "плюется" на отсутствие дисков в флоппи-дисководах A и B и вы посоветовали мне убрать в батнике из перечисления
for %%i in (Q W E R T Y U I P O A S D F G H J K L Z X C V B N M)
соответственно буквы A и B.

Но теперь, по опыту применения батника на разных компах, возникает ещё один вопрос: та же проблема со встроенными кардридерами. Но здесь уже не хотелось бы убирать буквы, потому что они могут быть разными, в зависимости от того, сколько есть несъемных лог. дисков.

Пока я оставил в файле в этом перечислении в скобках только одну букву C. Но если всё же пытаться сделать батник универсальным, то возможно ли сделать как-то, чтобы он не обрабатывал (молча пропускал) диски (буквы), которые физически не присутствуют на компе?
Автор: bomzzz
Дата сообщения: 05.09.2009 21:38
в HS-paket (Пакет утилит для организации интерфейса в bat-файлах ) входит HS_play, для проигрывания wav файлов. вот это тоже самое только весит 1,50 КБ (1 536 байт) против 15,5 КБ (15 872 байт), правда не умеет проигрывать несколько файлов из командной строки. работает почти так же, только надо косую черту указать перед путем к файлу.
"C:\sound.exe" /C:\WINDOWS\Media\chimes.wav
в архиве 477 байт (477 байт)
http://narod.ru/disk/12838988000/sound.rar.html
Автор: ewild
Дата сообщения: 05.09.2009 22:26

Цитата:
та же проблема со встроенными кардридерами.

lid111
возможно в этой связи вам пригодится утилита USB Safely Remove

Цитата:
...
Делает уникальные вещи!
Сокрытие букв пустых дисков кард-ридера
...

Автор: lid111
Дата сообщения: 05.09.2009 23:09
ewild, это "из другой оперы". Здесь ситуация такая: я ставлю батник в автозагрузку и интегрирую это дело в дистрибутив. И надо чтобы при первом же запуске системы батник отрабатывал без выдачи ошибок независимо от того, есть кардридер или нет его.. Ваша утилита устанавливается потом, и если и скрывает буквы, то, вероятно, не отменяет их присутствие в системе, короче, это не о том...
Автор: ewild
Дата сообщения: 06.09.2009 00:18
lid111 утилита не моя - но мне она позволила обойти сходную проблему (при опросе "пустых дисков" кардридера из bat файла). Вам не подходит? Что ж, се ля ви.
Автор: 01MDM
Дата сообщения: 06.09.2009 07:37
lid111
попробуй исправить условие:

Код:
for %%i in (q w e r t y u i o p a s d f g h j k l z x c v b n m) do (
    if not "%~d0"=="%%i:" (
        if exist %%i:\ call:clean %%i
    )
)
Автор: lid111
Дата сообщения: 06.09.2009 16:12
01MDM, у меня на компе только сидиром и флоппик, встроенного кардридера нет, то есть у себя я проверить не могу, но при смене в батнике условия, как вы посоветовали, вновь стало выскакивать окошко "Диск отсутствует".

То есть к отсутствию дискеты новый (измененный) батник отнесся по-прежнему. Может, дисководы, добавляемые принтером, квалифицируются системой иначе, чем те, что от встроенного в системный блок кардридера?
Автор: 01MDM
Дата сообщения: 07.09.2009 08:11
lid111

Цитата:
вновь стало выскакивать окошко "Диск отсутствует"


У меня не получается воспроизвести. Правда floppy не физический, а виртуальный. Кардридер в принтере, который подключен через usb.
Автор: Kilyan
Дата сообщения: 07.09.2009 13:49
Помогите в реализации, если это возможно!!!
Все файлы *.dbf нужно склеить в один (если это возможно без сторонних утилит), но можно и со сторонними!
Автор: bomzzz
Дата сообщения: 07.09.2009 14:06
тотал командером склей. сейчас специально попробовал - клеит если размеры частей разные. бат файлы вроде с бинарными файлами не работают.
берешь файл которые надо склеить, именуешь их одним именем, а расширение 001 002 003 004 ....... соотсветсвенно, потом выбираешь в тотал командере первый и меню -файл - собрать файлы, ну и тама где указано склеиться файлик из всех.

Автор: Kilyan
Дата сообщения: 07.09.2009 14:36
bomzzz
Для Базы Данных это не подходит!
Автор: bomzzz
Дата сообщения: 07.09.2009 14:40
если она бинарная подходит - я постоянно так клею, а если текстовая может и не подойти. уточнять нужно.

Добавлено:
сейчас склеил из интересу три текстовых файла - склеилось. только строку не переносит

Добавлено:
так в чем проблема оператор for по маске читаешь все файлы например с расширениями *.txt в директории и результат построчно сваливаешь в один. если конечно разбор строки нужен.

Добавлено:

Цитата:

type *.TXT> summary.TXT

сваливает подрят по алфавиту все текстовые файлы из директории в один,

Добавлено:
маленько фигня получается. во первых все файлы должны заканчиваться по хорошему переносом строки, а то следующий прилепливается без переноса. и потом так как результирующий файл тоже ткст , он тоже принимает по алфавиту участие в копировании. так что тут надо в зависимости от конкретной задачи еще подправить. одной строкой не обойдешься.
например вот так

Цитата:

ECHO OFF
COLOR 9F
CLS
type *.dbf> summary
DEL /Q *.dbf
REN summary summary.dbf

ну а если нуна какие то знаки менять или строки выбрасывать (учитывать последний перенос в том числе) тогда без for и find не обойтись
Автор: TruLander100
Дата сообщения: 07.09.2009 20:03
народ подскажите плиз как задать в батнике паузу скажем в 3 секунды между выполнением операций?
Автор: bomzzz
Дата сообщения: 07.09.2009 20:47
ping -n 3 127.0.0.1 > NUL
Автор: Smitis
Дата сообщения: 08.09.2009 00:25

Цитата:
тотал командером склей. сейчас специально попробовал - клеит если размеры частей разные. бат файлы вроде с бинарными файлами не работают.


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

Бред.
"Склеить" dbf можно только специальными утилитами. Или возиться с VBS/JS или другими скриптовыми языками, через ADO, например.
Автор: bomzzz
Дата сообщения: 08.09.2009 01:07

copy *.dbf myfile вот так почему то знак конца файла в конец ставит. но так как dbf файлы бинарную информацию содержат через type не копируется.

copy /-y /b *.dbf myfile вот так не ставит

а вот так клеит порезанные тоталом файлы. вот как бы порезать

Цитата:

ECHO OFF
COLOR 9F
CLS
copy /-y /b file.* myfile.rar
pause
Автор: Smitis
Дата сообщения: 08.09.2009 12:53
bomzzz

Цитата:
copy *.dbf myfile вот так почему то знак конца файла в конец ставит. но так как dbf файлы бинарную информацию содержат через type не копируется.

copy /-y /b *.dbf myfile вот так не ставит

Тупо "склеить" файлы ума много не надо. Ты склей так, что бы структуру не на нарушить.
Автор: bomzzz
Дата сообщения: 08.09.2009 13:16
о структуре данные засекречены заказчиком. я у себя на компе дбф файлы поискал - все они просто прямые файлы, в которые последовательно записывается некая последовательность данных. прекрасно склеится.


Цитата:

DBF — формат хранения данных, используемый в качестве одного из стандартных способов хранения и передачи информации системами управления базами данных, электронными таблицами и т. д.

Достоверно неизвестно, имели ли файлы предшественников dBase — Vulcan и JPLDIS это расширение, но dBase II уже использовал DBF-файлы в качестве стандартного формата базы.

В новых версиях — dBase III, dBase IV формат файла модифицировался и расширялся. В связи с высокой популярностью этих программ были созданы их многочисленные клоны (обычно их называют общим термином xBase), некоторые из которых использовали модифицированные версии DBF. То же самое происходило и с целым рядом прикладных пакетов и библиотек, использовавших DBF в различных целях — некоторые их авторы шли по пути добавления новых типов полей, некоторые — вносили серьёзные расширения. В связи с отсутствием какой-то официальной стандартизации в настоящее время достаточно сложно гарантировать, что разрабатываемая прикладная программа будет писать и читать произвольный DBF-файл, но базовая совместимость всё-таки сохраняется.

DBF-файл делится на заголовок, в котором хранится информация о структуре базы (в новых версиях — и о некоторых других характеристиках, например используемой кодовой таблице) и количестве записей и собственно — область данных, представляющую собой последовательно организованную таблицу из записей фиксированной длины. В свою очередь записи делятся на поля также фиксированной длины, которые хранятся в файле непосредственно друг за другом, образуя запись. Первое поле DBF-формата — пометка удаления. Длина поля — 1 символ. Если поле установлено в значение 2A16 (символ «звёздочка»), то считается, что запись помечена на удаление. Удалённые записи могут быть восстановлены, или физически удалены при выполнении специальной операции, называемой упаковкой (команда PACK xBase).

С DBF-файлами могут быть так же сопряжены другие файлы — .DBT (dBase III, IV,Clipper), .FPT (FoxBASE/FoxPro) и, в некоторых случаях, какие-то ещё, предназначенные для хранения больших объектов переменной длины. .DBT/.FPT-файлы не являются самостоятельными и не могут быть прочитаны без соответствующего им .DBF файла. В связи с этим их описание обычно включают в качестве составной части описания формата .DBF.


заголовок надо отрезать.
Автор: Kilyan
Дата сообщения: 08.09.2009 13:54
bomzzz
Просил о реализации или возможности проделать склеивание нескольких ДБФ-файлов, а не размышлений на эту тему.
З.Ы. Если кто обладает данной реализацией - подскажите, что да как, не откажусь от примера!
А type и copy и иные --тут не пригожи (bomzzz)


Цитата:
"Склеить" dbf можно только специальными утилитами. Или возиться с VBS/JS или другими скриптовыми языками, через ADO, например.

Smitis может у вас примерчик найдется ?
Автор: bomzzz
Дата сообщения: 08.09.2009 14:01
если заголовок есть не скелить - потому что батники не работают с бинарными файлами а умеют их только копировать. а адо вообще из другой оперы

DBF reader and writer 1.5



Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: SAS.Планета (часть 2)


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