2013-11-22 15 views

答えて

29

原理は次のとおりです。

$env:variablename 

だから、あなたは試してみてください:

cd "$env:programfiles" 

するか、一時的に%PROGRAMFILES%に作業ディレクトリを切り替えるには:

push-location -path "$env:programfiles" 
# 
# command execution here 
# 
pop-location 
+0

私はC:\ Program Files \ Common Filesに移動するにはどうすればいいですか?私は 'cd $ env:ProgramFiles" \ Common Files "を使用することができ、+を使わずに2つの文字列を連結することは非常に奇妙なようです。説明できますか? – Gqqnbig

+0

それは非常に良い質問です。私は週末にそれを考えます。しかし、野生の推測では:私はそれが何らかの形でPowerShellに関係していると信じています。連結論理を含む文字列を保持するオブジェクトをインスタンス化するという点で説得力がありますか?それに加えて、powershellにはたくさんの同様のトリックがあり、私は単にそれが動作すれば使用する傾向があります。つまり、パスの2番目の部分を変数に割り当てることができると思います。「$ a \ $ b」は、より美的にも機能的にも気に入っていますか? – ErikE

+0

私はこれを説明するいくつかの記事を見つけました:http://www.roelvanlisdonk.nl/?p=1153 http://jrich523.wordpress.com/2011/07/01/powershell-working-with-strings/ – Gqqnbig

8

すべての環境を確認するにはこれを行う:

dir env: 
は、 "プログラム" を含むすべてのものを表示するには、次の操作を行います。

dir env: | ? { $_.Value -match 'Program' } 

のPowerShell 3ではそれはクリーナー:

dir env: | ? Value -match 'Program' 

私たちが望む1はenv:ProgramFilesであり、我々はちょうどすることができます

+0

本当に迷惑変数名にタイプミスを入力すると、何の説明もなしに自動的に失敗します。 – ArtOfWarfare

+0

それはタブのオートコンプリートを提供しています...種類のいい。最初の環境変数にジャンプするのではなく、 '$ e'-tabが' $ env: 'に自動補完する方が良いでしょう。 – ArtOfWarfare

関連する問題