我有一个powershell脚本,它将搜索目录的子文件夹,并复制名称中包含特定字符串的所有文件,然后将其移动到它创建的其他文件夹中。我遇到的问题是脚本没有创建新文件夹,而只是没有扩展名的新文件。这是我的剧本。
Get-ChildItem -Path 'C:\users\user1\Documents\q3\' -Recurse | Where-Object { $_.Name -like "*test2*" -and $_.FullName -notmatch 'newfolder' } | Copy-Item -Destination 'C:\Users\user1\Documents\Q3\test'
答案 0 :(得分:0)
在Powershell的 copy-item()函数中,目录的行为没有参数:“ createifnotexist”。 (我使用的是Powershell 5.1,找不到一个)
这是一种只需一根衬垫即可实现目标的方法
New-Item -ItemType Directory -Name "test" -Path 'C:\Users\user1\Documents\Q3' -Force; Get-ChildItem -Path 'C:\users\user1\Documents\q3\' -Recurse | Where-Object { $_.Name -like "*test2*" -and $_.FullName -notmatch 'newfolder' } | % { Copy-Item -Path "C:\Users\user1\Documents\Q3\test\"}
新项将使用强制
覆盖最新创建的文件夹