3

Powershellの基本的な問題と思われるものがある。UNC共有からローカルC:\ドライブへの単純なコピーアイテムスクリプトを実行しています。これが私のコードです:

$hostname = $env:computername    
Copy-Item -Path '\\server\share\$hostname.txt' -Destination 'C:\'

変数を使用してホスト名の名前と一致するテキストファイルを取得するための構文を理解できません。静的に名前が付けられた.txtファイルを入れると、そのコードは機能します。

それが機能するためには、その変数の周りに何を置く必要がありますか?

4

3 に答える 3

2

一重引用符を次のような二重引用符に置き換える必要があります。

$hostname = $env:computername

Copy-Item -Path "\\server\share\$hostname.txt" -Destination 'C:\'
于 2012-12-21T00:31:34.920 に答える
1

一重引用符で囲まれた文字列は変数を展開しません。二重引用符で囲まれた文字列が必要です。例:

Copy-Item "\\server\share\$hostname.txt" C:\

また、一般に、変数の展開が必要な場合や文字列にスペースがない場合を除いて、PowerShellコマンドに文字列引数を引用符で囲む必要はありません。

于 2012-12-21T00:29:52.030 に答える
1

二重引用符で囲まれた文字列に環境変数を直接埋め込むこともできます。

Copy-Item "\\server\share\$env:computername.txt" C:\
于 2012-12-21T09:16:03.713 に答える