使用.csv文件搜索文件夹的Powershell脚本,不带路径

时间:2015-08-06 17:25:50

标签: powershell

我是PowerShell脚本的新手,因此需要一个脚本帮助,我正在寻找的脚本应该根据.csv文件中的条目搜索文件夹,请注意它应该搜索驱动器中的文件夹,不知道路径并将其移动到目的地。

我做了一些研究并创建了以下脚本,该脚本从.txt文件中获取数据并将数据移动到目标但是如果我只在源文件夹的位置写C:\它就不起作用。

请你帮助我:)

Get-Content C:\abc.txt | 
   Foreach-Object { 
                    move-item -path "C:\0123\$_" -destination "C:\To Archive\$_"
                  }  

1 个答案:

答案 0 :(得分:0)

根据您所提供的内容,我会执行以下操作:

$File = Import-Csv C:\share\test\files.txt 

Foreach($fileName in $File.FileName)
{
    Move-Item -path "C:\share\test\OldLocation\$fileName" -Destination "C:\share\test\NewLocation\$fileName"
}

我用.csv文件做了这个,该文件有一列标题为FileName。与您的代码存在显着差异,包括使用Import-Csv cmdlet并在foreach循环中指定.csv标题标题。

如果您想使用一个命令执行此操作:

Import-Csv C:\share\test\files.txt | ForEach-Object {
    Move-Item -path "C:\share\test\OldLocation\$($_.[csvHeader])" -Destination "C:\share\test\NewLocation\$($_.[csvHeader])"
}

其中csvHeader是.csv文件中列的标题。

我的.csv文件看起来像:

FileName
file1.txt
file2.txt
file3.txt