0

ディレクトリが存在するかどうかを確認しようとしています。存在する場合は、そのディレクトリ内のすべてのファイルを別のディレクトリの更新されたファイルに置き換えます。

$path = "C:\mypath\config"
if([System.IO.Directory]::Exists($path)){
    $files = Get-ChildItem -Path $path | Select-Object "Name"
    ForEach ($File in $files)
    {
        Copy-Item -Path "C:\tmp\$File" -Destination "$path\$File.txt"
    }
}

$File がファイルの名前だけでなく @{Name=filename} を返すため、Copy-Item コマンドでエラーが発生し続けます。$File.name、$File.basename などを使用してみましたが、どれも機能していないようです。Powershell でファイル名を "@{Name=}" にラップしないようにするにはどうすればよいですか?

4

2 に答える 2