У меня есть несколько файлов mp4 в каталоге, который был назван wget, утилита, используемая для загрузки файлов из Интернета.Batch Для файлового цикла String Замена
Дело в том, что написал имя файла как "1% 20-% 201% 20-% 20Overview% 20% 2802% 3A09% 29.mp4 "(процент кодирования строки" 1 - 1 - Обзор (02:09) "), что является неприятностью - это не так просто. Поэтому я решил использовать командную команду для их преобразования.
В этих файлах содержат только несколько специальных символов (пробел, двоеточие и скобку), я думал, что просто выполнить несколько команд в CMD, и после попытки нескольких команд, предназначенных для изменения% 20 к пространству, Я застрял.
В пакетных файлах, я хотел бы использовать:
@echo off
setlocal enabledelayedexpansion
for %%i in (*.mp4) do (
set aaa=%%i
rename "%%i" "!aaa:%%20= !"
)
и я попытался (для тестирования):
SETLOCAL enabledelayedexpansion
FOR %i in (*.mp4) do (
SET aaa="%i"
echo "!aaa:%%20= !"
)
Я попытался изменить '!' до '%', но это не сработало. Кажется, что он печатает именно то, что я написал (например, несколько строк ! Aaa: %% 20 =!), или значение aaa не изменяется.
Может кто-нибудь мне помочь? Я думал, что просто изменение «%%» на «%» приведет к преобразованию сценария командного файла в команды cmd. Каковы другие различия, если нет?
Я ничего не знаю о вызове Javascript в пакетном режиме, и хотя это, безусловно, лучший способ справиться с моей проблемой, я хотел знать, почему мой код не работает. – Namnamseo
@Namnamseo - в этом случае '% 2' принимается за второй аргумент партии. И я думаю, что это не будет с множеством .. – npocmaka