将具有特定名称的文件复制到新文件夹中

时间:2020-01-13 15:15:43

标签: powershell create-directory

我有一个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'

1 个答案:

答案 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\"}

新项将使用强制

覆盖最新创建的文件夹