我在名为files.txt的文件中有一个文件列表。
我有一个文件夹FlacTest,其中包含列表中显示的混合文件和不存在的文件。
我想将列表中出现的文件从FlacTest文件夹中移出到第二个文件夹 - FlacRecovery。
这是我的代码:
$definition->addArgument($container->getDefinition(SERVICE_HERE));
当我运行脚本时,它没有错误但没有任何反应。代码有问题吗?
答案 0 :(得分:1)
使用管道。解决这个问题的一种方法是:
Get-Content
)Get-Item
)Where-Object
+ Test-Path
)Move-Item
)包装易读性(反引号在这里用于续行):
$destination_folder = 'C:\FlacTest'
Get-Content C:\files.txt `
| Get-Item `
| Where-Object { -not (Test-Path "$destination_folder\$_.Name") } `
| Move-Item -Destination $destination_folder
没有手动循环,只需一个管道。
对于丢弃的单行,这可以通过使用别名来减少:
cat C:\files.txt | gi | ? {-not (Test-Path "C:\FlacTest\$_.Name")} | mv C:\FlacTest