批量更新文件名称为文件名称+文件夹多级目录名称
Get-ChildItem "E:\allXML\upload" -Recurse | ForEach-Object { # 获取原文件名(不包括扩展名) $originalName = $_.BaseName # 获取文件夹的路径并去掉根路径部分(例如 'C:\Files') $folderPath = $_.DirectoryName -replace [regex]::Escape("E:\allXML\upload"), "" # 将文件夹路径中的反斜杠替换为下划线 $folderPath = $folderPath -replace '\\', '_' # 生成新的文件名 $newName = $originalName + "_" + $folderPath + $_.Extension # 生成新路径 $newPath = $_.DirectoryName + "\" + $newName # 重命名文件 Rename-Item $_.FullName -NewName $newPath }
批量移动文件夹下的文件到指定目录下
# 设置源文件夹和目标文件夹路径 $sourceFolder = "E:\allXML\upload" # 在这里指定原文件夹路径 $destinationFolder = "E:\allXML\all" # 在这里指定目标文件夹路径# 获取源文件夹及其子文件夹中的所有文件,并将其移动到目标文件夹 Get-ChildItem -Path $sourceFolder -Recurse | ForEach-Object { # 如果是文件(不是文件夹),就移动 if ($_.PSIsContainer -eq $false) { # 构建目标文件的完整路径 $destinationPath = Join-Path -Path $destinationFolder -ChildPath $_.Name # 移动文件到目标文件夹 Move-Item -Path $_.FullName -Destination $destinationPath } }
执行命令:
windows+X
打开:windows powerShell 执行命令