这应该很容易,但我正在试着弄清楚我的脑袋。
我有一个包含目录名列表的文本文件。 例如:
Get-Content C:\file.txt
yellow
green
red
我想将E:\ 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
谢谢!
答案 0 :(得分:4)
我认为你非常接近
试试这个:
Get-Content C:\file.txt |
Foreach-Object {
move-item -path "E:\dir1\$_" -destination "E:\dir2\$_"
}
答案 1 :(得分:0)
Get-content .\File.txt | ? { $_.Trim() -ne [string]::Empty } | ForEach-Object { Move-Item -WhatIf "E:\Dir1\$_" "E:\Dir2\$_" }