Я полный новичок, когда дело доходит до вещей bat/cmd. Я могу сделать самые основы с небольшой помощью Google! и когда я имею в виду базовый, я имею в виду xcopy, robocopy и т. д.
Я пытаюсь написать код, который извлечет первые 5 символов из текущей папки и переименует файлы в подпапке, но также суффикс с текущей датой.
Так что это в основном то, что я пытаюсь сделать.
W:\12345_folder
Это основная папка, из которой я хочу извлечь 12345.
W:\12345_folder\subfolder
Это место для файлов, которые нужно переименовать
Текущее имя файлов в подпапке следующее
file1.txt
file2.txt
file3.txt
После переименования они должны быть такими, как показано ниже.
12345 file1 2014-10-02.txt
12345 file2 2014-10-02.txt
12345 file3 2014-10-02.txt
Все мои усилия были напрасны. Я могу получить дату, используя это. Но он переименовывает все имя файла и не сохраняет существующее имя файла.
for /f "tokens=1-5 delims=/ " %%d in ("%date%") do rename "*.txt" %%g%%f-%%e-%%d.txt
И я также играл с этим:
for %%z in ("%cd%") do (
for %%a in ("%%~dpz%\.") do (
rename "**.txt" "%%~nxa-.txt"))
Но опять же, это перезаписывает все имя файла и не сохраняет существующее имя файла.
Я должен еще раз подчеркнуть, что я полный новичок, поэтому будьте нежны, и ваша помощь очень ценится.
@ECHO OFF for /f "tokens=1-5 delims=/ " %%d in ("%date%") DO (SET TODAY=%%f-%%e-%%d) for %%a in (*.txt) do ren "%%~a" "%%~na %TODAY%%%~xa"
Теперь мне просто нужна помощь с именами префиксов папок - person Legg1979   schedule 03.10.2014for %%z in ("%cd%") do ( for %%a in ("%%~dpz%\.") do ( for %%i in (*.pdf,*.xlsx,*.docx,*.xlsm) do move "%%i" "%%~nxz_ %%i"))
Что было бы очень полезно, если бы этот код брал только 1-е 5 символов из имени папки. Это единственное, что мне осталось сделать сейчас, поэтому любая помощь будет отличной. Я уверен, что это очень просто для тех, кому не повезло. Я даже не совсем уверен, как мне удалось заставить работать приведенный выше код! - person Legg1979   schedule 03.10.2014