это сделает работу.[ ухмылка ] это подделка чтение в вашем текстовом файле папок для перемещения [используйте Get-Content, чтобы сделать это по-настоящему], затем собирает список папок в исходном местоположении.затем он проверяет, находится ли .Name
в списке папок, которые нужно переместить.наконец, он запускает Move-Item
, чтобы переместить dir.
обратите внимание на -WhatIf
в конце ... удалите его, когда будете готовы к проведению живого теста с набором тестовых данных.[ ухмылка ]
# fake reading in a text file
# in real life, use Get-Content
$ToMoveDirNameList = @(
'test1'
'TuTu'
'GoGoGadget'
'WPF'
)
$SourceDir = $env:TEMP
$DestDir = 'd:\temp'
$SourceDirList = Get-ChildItem -LiteralPath $SourceDir -Directory
foreach ($SDL_Item in $SourceDirList)
{
if ($SDL_Item.Name -in $ToMoveDirNameList)
{
Move-Item -LiteralPath $SDL_Item.FullName -Destination $DestDir -WhatIf
}
}
вывод ...
What if: Performing the operation "Move Directory" on target "Item: C:\Temp\test1 Destination: D:\temp\test1".
What if: Performing the operation "Move Directory" on target "Item: C:\Temp\TuTu Destination: D:\temp\TuTu".
What if: Performing the operation "Move Directory" on target "Item: C:\Temp\WPF Destination: D:\temp\WPF".
примечание № 2 - проверка ошибок НЕТ.это даст вам много красного текста ошибки, если у места назначения уже есть каталог с таким именем.
примечание № 3 - также нет записей о не найденных каталогах.[ ухмылка ]