Если вы хотите удалить префикс автоматически, используя файлы примеров 1 file1.txt
2 file2txt
:
@echo off
set /p "input=Enter Prefix to search: "
for /f %%a in ('dir /b /a-d %input%*.txt') do (
for /f "tokens=1,*" %%i in (%%a) do if not "%%i"=="" if not "%%j"=="" echo move "%%a" "%%j"
)
Он предложит пользователю ввести префикс для поиска, то есть 1
, а затем выполнитеискать что-нибудь, содержащее 1*.txt
и переименовывать его без первого разделителя.Таким образом, даже если пользователь добавляет 255
в качестве префикса, он будет искать что-нибудь 255*.txt
(Обратите внимание, что в моей команде set нет пробелов до или после моего =
.
Этот пример просто отобразитПереместите команду и не перемещайте файлы. Если вы хотите выполнить текущую задачу, удалите команду echo
из последнего цикла for.
Имейте в виду, что если файл называется 1 and file1.txt
, он будетпереименуйте файл в and file1.txt
из-за tokens=1,*
Кроме того, мы запускаем его только для файлов, содержащих пробелы, как в ваших примерах, а не _
-
и т. д., но при необходимости их можно изменить.
Наконец, вы также можете автоматически переименовать все файлы без запроса пользователя, например
@echo off
for /f %%a in ('dir /b /a-d *.txt') do (
for /f "tokens=1,*" %%i in (%%a) do if not "%%i"=="" if not "%%j"=="" echo move "%%a" "%%j"
)