0
我试图重命名一堆子文件夹中的一堆文件。 我希望他们有一个 '前缀',与它们被放置在子文件夹coresponds批量重命名文件,具体取决于它们所在的子文件夹
例:
- 主文件夹:
- Subfolder1
- Subfolder2
- Subfolder3
Subfolder1中的所有文件应重命名为“Subfolder1_filename.pdf”,其余文件夹的文件相同。
$dir = 'C:\Users\user\desktop\testfolder\'
foreach ($i in $dir){
$foldername = Get-ChildItem $dir -name
cd $newdir
rename-item -NewName {$foldername + "_" + $_.Name}
}
感谢您的回答! 我收到此错误消息,因为我尝试了您的代码。 Rename-Item:无法将参数绑定到参数'Path',因为它为null。 在C:\ Users \ user \ desktop \ testfolder \ ps.ps1:16 char:22 + Rename-Item -Path <<<< $ File.FullName -NewName“$ {FolderName} _ $ FileName” + CategoryInfo :InvalidData:(:) [重命名-项目],ParameterBinding ValidationException + FullyQualifiedErrorId:ParameterArgumentValidationErrorNullNotAllowed,男 icrosoft.PowerShell.Commands.RenameItemCommand – user1851594
你捕捉到的文件用'GET-ChildItem' @ user1851594? – TheIncorrigible1
它似乎并不像捕获这些文件。我试图缩小代码下来,只是为了检查: '$ DIR = 'C:\用户\ BIT \桌面\ QGIS_LEG \测试\' $文件= GET-ChildItem $目录-Recurse -file 回报$文件' – user1851594