l--*_*''' 3 powershell recursion sharepoint filenames file
我想知道是否可以在powershell中从整个目录结构中的所有文件中递归删除特殊字符?
例如,如果我有一个名为:
my presentation (fix).xlsx
Run Code Online (Sandbox Code Playgroud)
我想将其重命名为:
my presentation fix.xlsx
Run Code Online (Sandbox Code Playgroud)
谢谢你的指导。
我们需要这样做的原因是我们正在将许多文件迁移到 sharepoint 2010 并且 sharepoint 不喜欢带有特殊字符的文件!
我还没有测试过这段代码,但我想你可能想要类似的东西:
Function Rename-Files($path)
{
Get-ChildItem -path $path |
Foreach-Object {
$newName = $_.name -replace '[^A-Za-z0-9-_ \.\[\]]', ''
if (-not ($_.name -eq $newname)){
Rename-Item -Path $_.fullname -newname ($newName)
}
}
} #end function
Rename-Files -path "C:\somepath"
Run Code Online (Sandbox Code Playgroud)
有效地,只需循环遍历目录(将函数修改为递归),然后替换任何不合适的(修改正则表达式以获得适当的内容)字符并用空替换它们(有效地将它们去除)。
| 归档时间: |
|
| 查看次数: |
8761 次 |
| 最近记录: |