Powershell:根据文件中的字符串将文件从一个目录移动到另一个目录

时间:2017-06-12 16:41:54

标签: powershell

浏览网站,似乎无法为自己找到答案。

我正在寻找一个脚本,这将使我能够根据文件中的内容将文件从一个目的地移动到另一个目的地。

进入细节

来源目的地 - V:\ SW \ FromSite 复制到目标 - V:\ SW \ ToSW FileType - .txt 字符串 - 测试

理想情况下,我还希望拥有以7开头的脚本搜索文件。这些是区域的唯一标识符。

稍微拉一下我的头发。

我使用的是以下版本,它运行时没有错误,但什么也没做。

$DestDir = "V:\SW\FromSite"
$SrcDir = "V:\SW\ToSW"
$SearchString = "test"

gci $SrcDir -filter 7*.txt | select-string $SearchString | select path | 
move-item -dest $DestDir -whatif

2 个答案:

答案 0 :(得分:2)

Here's what I would do, though I'm sure there's a more streamlined way to do it.

$files = gci $SrcDir -filter 7*.txt
$files | %{
    if ((select-string -path $_.FullName -pattern $SearchString) -ne $null) {
        move-item -path $_.FullName -dest $DestDir
    }
}

答案 1 :(得分:1)

所以做了一些更多的麻烦,下面的工作完全符合我的需要

get-childitem "<SourceFolder>" -filter 7*.txt -
recurse | select-string -list -pattern "test" | move -dest "<DestinationFolder>"

感谢大家的帮助