我正在使用PowerShell,我正在努力解决这个问题.
在目录C:\ _dir_1中,我有许多子文件夹(sub_1,sub_2,...,sub_n).它们每个都包含几个文本文件.对于每个子文件夹i = 1,2,...,n,我想将包含字符串"My-String"的文本文件移动到目录C:\ dir_2\sub_i.
例如,如果路径C:\ dir1\sub_5中的文件X包含字符串"My-String",我想将其移动到位置C:\ dir_2\sub_5.目标文件夹已存在.
我尝试了以下代码的几个修改,但它不起作用:
Get-ChildItem "C:\dir_1" | Where-Object {$_.PSIsContainer -eq $True} | Foreach-Object {Get-ChildItem "C:\dir_1\$_" | Select-String -pattern "My-String" | group path | select name | %{Move-Item $_.name "C:\dir_2\$_"}}
Run Code Online (Sandbox Code Playgroud)
所以,基本上,我尝试做的是:在dir_1中的foreach子文件夹,获取包含该字符串的文件,并将它们移动到dir_2中具有相同名称的子文件夹.我尝试了对该代码的几个小修改,但我不能解决我的错误.主要错误是"move-item:不支持给定的路径格式"...任何帮助?