正在使用的Powershell move-item文件

时间:2014-04-08 16:10:25

标签: powershell csv locked-files select-string

尝试匹配一堆CSV文件中的字符串,然后将带有该字符串的字符串移动到另一个文件夹。脚本逻辑似乎工作,但我不断收到文件使用的错误。我想这是powershell锁定文件。我该如何解决这个问题?

$DestDir = "C:\temp\NEWCSV"
$SrcDir = "C:\temp\CSV"
$SearchString = "teststring"
gci $SrcDir -filter *.csv | select-string $SearchString | select path | move-item -dest $DestDir -whatif

1 个答案:

答案 0 :(得分:0)

我不确定为什么你的脚本不起作用,除非Select-String保持文件打开作为向下传递给管道的对象。如果你这样改写它会起作用:

$DestDir = "C:\temp\NEWCSV"
$SrcDir = "C:\temp\CSV"
$SearchString = "TITLE"
gci $SrcDir -filter *.csv | ?{select-string $SearchString $_ -quiet}|move-item -Destination $DestDir