1

共有にディレクトリがあり、各ファイル名のプレフィックスを特定のディレクトリに移動する必要があります。-filter コマンドはファイルを移動するために機能しますが、代わりに配列の値を使用すると便利です。どんな助けでも大歓迎です。

$source ="\\127.0.0.1\share\"

$File_Array_8HP70=@("108701")
$File_Array_8HP70X=@("108702")
$File_Array_9HP48=@("109401", "1094080", "1094090")
$File_Array_9HP48X=@("109402", "1094091", "1094082", "1094092")

$destination="\\127.0.0.1\TestFolder1\$DTS"
         $destination1="\\127.0.0.1\TestFolder2\$DTS"
         $destination2="\\127.0.0.1\TestFolde3\$DTS"

         $destination_array=@("$destination", "$destination1", "$destination2")

# filter works below - need to use array


         #$files = get-childitem $source -filter "108701*" -recurse
         #foreach ($file in $files)
         #{move-item $file.fullname $destination_array[0] -force}

         $files = gci $source |select-object -equals $file_array_8HP70
         foreach ($file in $files)
         {move-item $file.name is $($file_array_8hp70.name) $destination_array[0] -force}
4

1 に答える 1

0

あなたが書く場合:

$source ="\\127.0.0.1\share\*"
$File_Array_8HP70_start = $File_Array_8HP70 | % {$_+"*"}
$files = get-childitem $source -include $File_Array_8HP70_start -recurse

それは役立つはずです。

于 2012-11-06T12:52:17.797 に答える