2013-12-10 62 views
1

这应该很容易,但我正在试图找出它的桌子上我的头。移动名称与PowerShell文本文件中列出的目录

我有一个包含目录名称列表的文本文件。 例如:

Get-Content C:\file.txt 
yellow 
green 
red 

我想在电子商务的每个目录中移动:\ DIR1到E:具有文件中列出的名称\ DIR2。 例如: 如果dir1的目录为“绿色,棕色,黄色,黑色”,我想将“绿色,黄色”移动到dir2。

Get-Content C:\file.txt | Foreach-Object -Process rename/move "E:\dir1\"$_ "E:\dir2\"$_ 

以上只是一个猜测,我相信它是离开的。

通常在Bash中我会写一个脚本,看起来像下面这样。

For dir in `cat ./file.txt` 
do 
    mv ~/$dir /old/$dir 
    echo "moving ~/$dir to /old/$dir" 
done 

谢谢!

回答

4

我觉得你非常接近

试试这个:

Get-Content C:\file.txt | 
     Foreach-Object { 
       move-item -path "E:\dir1\$_" -destination "E:\dir2\$_" 
     } 
+1

+1 - 请注意,如果在file.txt的一个空行,将方向1复制到方向2。 – dugas

0
Get-content .\File.txt | ? { $_.Trim() -ne [string]::Empty } | ForEach-Object { Move-Item -WhatIf "E:\Dir1\$_" "E:\Dir2\$_" } 
相关问题