Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Работа команды For

Ответить
Настройки темы
CMD/BAT - [решено] Работа команды For

Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


Так работает
for /f "usebackq eol=W delims=e" %%A in ("%Temp%\ggg.txt") do @echo %%A
Так не работает
for /f "usebackq eol=W delims=e" %%A in ("%Temp%\Burns.Mp3") do @echo %%A
Как думаю причиной является наличие нулевых байтов в последнем файле. Кто-нибудь знает как это победить? А вообще-то задача проверить mp3-тег в файле.

Отправлено: 22:11, 07-04-2009

 

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


kt626, для MP3 придется использовать сторонние утилиты типа Tag
Код: Выделить весь код
For /F "Tokens=1,2 Delims==" %%i In ('2^>^&1TAG --simple "%Temp%\Burns.Mp3"^|Find "="') Do Set %%i=%%j

@Echo Название:    %Title%
@Echo Исполнитель: %Artist%
@Echo Альбом:      %Album%
@Echo Год:         %Year%
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:48, 08-04-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Maza Faka

Ветеран


Сообщения: 604
Благодарности: 133

Профиль | Отправить PM | Цитировать


Цитата kt626:
Так не работает »
Дык и не должно работать, насколько я знаю команда For /F служит для обработки текстовых, а не бинарных файлов. Для просмотра и редактирования mp3-тэгов используйте EasyTag

-------
Сообщение помогло? Не забудьте нажать на Полезное сообщение


Отправлено: 09:52, 08-04-2009 | #3


Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


Так ведь ни в hh ntcmds.chm, ни в for /? не заявлено, что файлы должны быть только текстовые, вон, например, Find работает по-всякому, а за редакторы тегов спасибо, но задача состоит в том, чтобы из общей папки файлы с уже сгенерированными тегами рассортировать по папкам в зависимости от тега Альбом. Вижу, что Tag 2.0.43 вроде как может это сделать, поищу инфу по его командной строке, но вообще-то в данной теме сторонние проги как-то не cool, попробую еще что-то вроде:
Find "Альбом" "Файл.mp3" > %Temp%\Text.txt
for /f %%A in ("%Temp%\Text.txt") do @echo %%A

Отправлено: 13:19, 08-04-2009 | #4


Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


И еще, кстати по синтаксису (ну не нашел я однозначного ответа в справке) допускается ли так:
for %%A in (File) do (команда1 & команда2.... & командаN)

Отправлено: 13:41, 08-04-2009 | #5


Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491

Профиль | Отправить PM | Цитировать


Цитата kt626:
допускается ли так:
for %%A in (File) do (команда1 & команда2.... & командаN) »
Допускается, но можно ведь и так:
Код: Выделить весь код
for %%A in (File) do (
 команда1
 команда2
 .... 
 командаN
)
Или обязательно нужно в одну строку?

Отправлено: 15:04, 08-04-2009 | #6


Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


Да, спасибо Gora, конечно так красивее, в одну строчку необходимости нет

Отправлено: 16:08, 08-04-2009 | #7


Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


И еще вопрос. При разборе файла командой For /f кириллица не понимается (подставляются Дос-символы). Их можно конвертить CMD комадой или набором команд?

Отправлено: 20:20, 08-04-2009 | #8


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата kt626:
При разборе файла командой For /f кириллица не понимается »
нормально все понимается - в какой кодировке набран батник, в такой и будет искать подстроку,
перекодировать тоже можно: bat-файл на русском

Отправлено: 09:28, 09-04-2009 | #9


Аватара для Devils0411

Ветеран


Сообщения: 902
Благодарности: 51

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@Echo off
For %%a in ( "%ProgramFiles(x86)%\test4U\run.exe" "%ProgramFiles%\test4U\run.exe" ) Do (
if exist %%a (
set tvalue=%%~dpa
set tdir=%ini:~0,-1%
Echo %tdir%
pause
) Else (
goto end
)
)
:end
Echo ничего нет
pause
Не выводит на экран переменную. Скажите, где ошибка?

-------
Скрипт автоустановки WINDOWSXP; Скрипт мультиустановки ОС


Отправлено: 00:36, 24-07-2010 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Работа команды For

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Аналог команды tail в Unix DimaDivine Скриптовые языки администрирования Windows 5 23-07-2009 01:57
CMD/BAT - [решено] удаленное выполнение команды Diver1 Скриптовые языки администрирования Windows 2 20-03-2009 10:39
Разное - все команды, загрузка программ и работа внутри программ - с задержкой 1/2сек NeuD Microsoft Windows 2000/XP 20 03-07-2008 19:15
[решено] Команды Винды cooller Microsoft Windows NT/2000/2003 2 04-10-2007 15:43
[решено] Команды на создание VPN Butunin Klim Microsoft Windows NT/2000/2003 1 20-07-2007 11:22




 
Переход