У меня есть простой пакетный файл, разбивающий аудио и видео моих лекций об Unversity. Файлы, полученные с использованием кода из другого плаката:Включить «пробел» в имени файла, используя партию
@echo off
setlocal enableDelayedExpansion
set DRIVE=%cd:~0,3%
set MYDIR=%DRIVE%ToDo\ToConvert\
for /F %%x in ('dir /B/D %MYDIR%') do (
echo %%x
)
pause
файлы помечены:
PHY2021 (1).mp4
PHY2021 (2).mp4
PHY2021 (3).mp4
etc
Выход скрипта:
PHY2021
PHY2021
PHY2021
Проблема кажется очевидным, но не может найти, как внедрить «пространство» и что следует в пакете. Я видел способы заменить «пространство» на «подчеркивание» в моем поиске, но может ли кто-нибудь сказать мне, есть ли работа?
Что это такое, что вы хотите сделать? Вы хотите (показать/обработать) имена файлов, чтобы они все еще содержали пробел, или вы хотите заменить пространство символами подчеркивания? Пакет также может иметь проблемы с закрытыми круглыми скобками. И почему '/ b/d'? '/ b' достаточно - и переопределяет'/d'. '/ ad' будет выбирать только каталоги или'/a-d' пропустить имена каталогов, если это то, что было необходимо ... – Magoo
Я использовал код из другого сообщения, я его исправлю. Вы правы, похоже, что преобразование символов в что-то другое обеспечит лучшее исправление, такое как подчеркивание, поскольку передача результатов в ffmpeg по-прежнему имеет разделитель пространства в названии. – Ari
Пространство (также табуляция, запятая, точка с запятой и равно) является разделителем в классической партии. Всегда есть потенциальные проблемы, связанные с ними, и другие символы (например, ')' '' '' '' '' '' '' '' '' '' '' <'), которые имеют особое значение в пакете. – Magoo