У меня есть файл с именем - например: 01_XXXXXXXX_XXXX_XXX.txt
.Заменить символы в имени файла через .bat
мне нужно вырезать первые три символа (заменить 01_
ничем) и заменить оставшиеся _
от Пробелы.
Я не могу использовать PowerShell, мне нужен простой файл .bat
, чтобы перебрать все файлы в каталоге, где он присутствует, и выполнить эту задачу.
Так я использую это:
@echo off
setlocal enabledelayedexpansion
for %%a in (*_*) do (
set file=%%a
ren "!file!" "!file:_= !"
)
@echo off
setlocal enabledelayedexpansion
set X=2
for %%f in (*) do if %%f neq %~nx0 (
set "filename=%%~nf"
set "filename=!filename:~%X%,-%X%!"
ren "%%f" "!filename!%%~xf"
)
popd
Но ест два символа в конце перед расширением и добавление ПРОСТРАНСТВА в самом начале.
Любая идея, почему?
Да это :) поиск Google, как обрезать первые х символов строки в пакетном режиме, а затем замена строки поиска google в пакете :) Для проверки цикла «For /?». – geisterfurz007
Как и в стороне, почему у вас есть два '@echo off' и два оператора setlocal в одном файле и' popd' без 'pushd'? –