У меня есть каталог, который содержит 400+ подпапки. В каждой из этих подпапок каждый день появляется новый файл. Каждый новый файл имеет то же имя, что и файл, появившийся вчера в той же папке. Каждая папка содержит файлы с разными именами, чем в другой папке, но новые файлы в той же папке всегда имеют одинаковое имя. Я не хочу, чтобы файлы перезаписывались каждый день. Вместо этого я хотел бы Powershell добавить сегодняшнюю дату после имени файла и перед расширением. Я знаю, как это сделать для одной подпапки, но я не хочу создавать 400+ скриптов (по одному для каждой подпапки).
Это скрипт, который делает работу отлично для каждой отдельной папки.
$fileToRename = "E:BackupABLBackupfolder1Project1.txt"
if (Test-Path $fileToRename)
{
$fileName = [system.io.path]::GetFileNameWithoutExtension($fileToRename)
$dateSuffix = get-date -Format 'yyyy_MM_dd'
$fileExtension = [system.io.path]::GetExtension($fileToRename)
$newFileName = '{0}_{1}{2}' -f $fileName, $dateSuffix, $fileExtension
Rename-Item -Path $fileToRename -NewName $newFileName
}
Я хотел бы знать, как изменить скрипт выше, чтобы все подпапки 400+ могли быть включены в один скрипт. Я знаю, что могу повторить ту же команду 400+ раз и сохранить ее как один сценарий, но это невозможно, потому что пользователи добавляют новые папки без информирует меня. Конечно, должен быть какой-то автоматический способ получения всех новых файлов, которые появились в подпапках.
структура папок выглядит так:
E:BackupABLBackupfolder1Project1.txt
E:BackupABLBackupfolder2Project2.txt
E:BackupABLBackupfolder3Project3.txt
E:BackupABLBackupfolder4Project4.txt
любая помощь будет высоко оценили!