Поиск папок по переменным и действие на них - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь создать сценарий с переменной на основе текстового файла с именами папок, найти их в одном каталоге и переместить в другой каталог (или удалить их в дополнительном сценарии).

Например:

$foldernames = Get-Content -Path "C:\Users\Me\Desktop\Folders.txt"
$startpath = "C:\Users\Me\Desktop\Test"
$topath = "C:\Users\Me\Desktop\Moved"

Затем найдите каждый элемент строки в именах папок в $startpath и, если они найдены, переместите их в $topath.

1 Ответ

0 голосов
/ 05 февраля 2019

это сделает работу.[ ухмылка ] это подделка чтение в вашем текстовом файле папок для перемещения [используйте 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 - также нет записей о не найденных каталогах.[ ухмылка ]

...