Я пытаюсь очистить некоторые имена файлов в определенной папке и мне интересно, как создать пакетный файл для удаления знака «минус» из начала каждого имени файла.
У меня есть несколько файлов с шаблоном -FileName.pdf, и я хотел бы удалить знак минуса в начале, чтобы у меня было просто FileName.pdf.
На данный момент у меня следующая команда:
dir /B > Batch.txt
for /f "tokens=1,2" %i in (Batch.txt) DO ren "%i %j" %l
Есть ли что-нибудь более простое, что я мог бы использовать?
заранее спасибо
решение1
Я бы хотел убрать знак минуса спереди
Используйте следующий пакетный файл:
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%i in ('dir /b -*.pdf') do (
set _fname=%%i
echo ren %%i !_fname:~1!
)
Примечания:
- Это удалит первый символ из всех имен файлов, соответствующих выражению
-*.pdf
. - Замените
echo ren
на ,ren
если вы уверены, что пакетный файл будет переименован правильно.
Дальнейшее чтение
- Индекс AZ командной строки Windows CMD- Отличный справочник по всем вопросам, связанным с командной строкой Windows.
- реж- Отображение списка файлов и подпапок.
- включеноотложенное расширение- Отложенное расширение приведет к тому, что переменные будут расширяться во время выполнения, а не во время анализа.
- для /ф- Циклическая команда по результатам другой команды.
- набор- Отображение, установка или удаление переменных среды CMD. Изменения, сделанные с помощью SET, будут сохраняться только в течение текущего сеанса CMD.
- установитьлокальный- Установите параметры для управления видимостью переменных среды в пакетном файле.
решение2
я используюБесплатный Командир XEкоторый имеет полезную функцию группового переименования, позволяющую предварительно просмотреть результаты перед переименованием группы файлов с использованием шаблона.