所以我在其中有文件夹,在某个位置
C:\Users\ainfowara\Desktop\testfiles
所以我想将这些文件移到这个位置
C:\Users\ainfowara\Desktop\destinationTestfiles
“testfiles”有这种格式的文件txt.*.test.*
所以基本上我想在我移动文件之前检查他们有两个主要的东西(txt
)和(test
)第三部分。
有人可以帮助我,如何在powershell脚本中执行此操作
我知道我可以这样做,设置文件夹路径
path_src= C:\Users\ainfowara\Desktop\testfiles
path_dst= C:\Users\ainfowara\Desktop\destinationTestfiles
提前感谢您的帮助
答案 0 :(得分:13)
如果testfiles中没有子文件夹(至少你需要文件),试试这个:
$src = "C:\Users\ainfowara\Desktop\testfiles"
$dst = "C:\Users\ainfowara\Desktop\destinationTestfiles"
Get-ChildItem $src -Filter "txt.*.test.*" | Move-Item -Destination $dst -Force
如果您在源路径的子文件夹中有文件,请尝试以下操作:
$src = "C:\Users\ainfowara\Desktop\testfiles"
$dst = "C:\Users\ainfowara\Desktop\destinationTestfiles"
Get-ChildItem $src -Filter "txt.*.test.*" -Recurse | % {
#Creates an empty file at the destination to make sure that subfolders exists
New-Item -Path $_.FullName.Replace($src,$dst) -ItemType File -Force
Move-Item -Path $_.FullName -Destination $_.FullName.Replace($src,$dst) -Force
}
请注意,如果您的文件名包含方括号[ ]
,则需要另一个脚本(已知PS错误)。