У меня есть серия файлов, которые я регулярно загружаю / обрабатываю, и для переименования мне нужно использовать командный файл. Каждое имя файла представляет собой нечто вроде word-word-word-datetime.csv. Всегда стоит «-» между словами и всегда -datetime перед расширением файла «.csv». Мне нужно удалить -datetime, чтобы файлы назывались word-word-word.csv. В некоторых случаях перед -datetime может быть только одно слово, но может быть и строка из многих слов. Я загружаю эти файлы и перемещаю их в определенную папку c для обработки, и в папке уже есть командный файл, который мне нужно изменить, чтобы также переименовать файлы.
Например, мне нужен имена файлов ниже:
this-is-a-file-20200804134809.csv
another-file-20200804134750.csv
some-other-file-20200804134699.csv
file-20200804134389.csv
Для переименования в:
this-is-a-file.csv
another-file.csv
some-other-file.csv
file.csv
Этот ответ почти в точности то, что мне нужно, но я недостаточно знаком с синтаксис, чтобы изменить его для переименования файлов с несколькими словами через дефис (код из связанного ответа скопирован ниже).
@echo off
for /F "tokens=1,* delims=-" %%a in ('dir /A-D /B "*.mp4"') do (
echo move "%%a-%%b" "%%a%%~xb"
)