2012-02-21 8 views
0

少し背景...
私はWindows XP、Vista、および7を頻繁に使用します。そのため、私は常に各PCの%appdata%フォルダから次のプログラム設定に移動する必要があります。 PowerShellスクリプトを使ってこれを実行し、終了後にフォルダを削除すると、問題が緩和されるはずです。私は一般的にフラッシュドライブで自分の仕事をしているので、私は相対的なパスを使うことを望んでいたが、それは私に少し問題を引き起こしているようだが、最大の問題は、Powershellが何か間違いを知るのに十分な私は作っているし、それを修正する方法...だから私はここに来た。

私は、タスクを2つのスクリプトに分けることができると考えました。 1つはディレクトリを配置し、2つ目は元のフォルダにコピーして、後ろのトレースを削除します。私はこれまでに欲しいことをあなたに示します。私はそれらを取得することが難しいかもしれないと思ったので、私はそこから始めました。ここに私がこれまで持っているものがあります。私はtxtファイルを使用して、必要なフォルダのリストを簡単に更新できるようにしています。転送する必要があるか、転送する必要があるので、変数によってもターゲット設定されています。PowerShell:ディレクトリ検索と構文エラー

$fldrtxt = Get-Content .\FolderList.txt 
$dirget = -LiteralPath ="'%appdata%'\$_fldertxt" 
$dirpost = "./Current" 
# get-command | Add-Content .\"$today"_CommandList.txt 
Set-Location c: {get-content $_dirget} | %{ copy-item $_dirpost} 

実行ユーティリティを使用するときに使用したのと同じコマンドをPowerShellに認識させることができません。私は、%appdata%を使ってフォルダをどこから取得するかを参照することができると確信しているので、私が望むことをするためにこのスクリプトを書くことができないのですか?私は絶対パスを使用することができます。なぜなら、3台のコンピュータすべてに別々のスクリプトを使用する必要があるからです。そして、私は欲しくない。

PowerShellを使用して私が必要とするものを実行し、使用する必要があるフォルダをどのようにターゲットできますか?

+0

を、変数の命名はPowerShellの世界では混乱しています。 $ _dirgetのような変数は、多くのコマンドレットが特別な変数$ _を提供するので奇妙に見えます。これは "パイプラインに現在あるオブジェクト"を意味します。したがって、あなたは次のようなものを見るかもしれません:get-process | foreach-object {$ _。PM/1KB} ...これを考えると、$ _PMという名前を付けるのは悪い考えです。 –

+0

構文の練習を変更します。ヘッドアップをありがとう。 –

答えて

1

まず:PowerShellの私はフォルダから取りたい場所私が参照するために%APPDATA%使用することができると確信しているので、環境

とあまりに

間違った構文Accerss、環境変数のための%var%構文は、cmdスクリプト(およびMS-DOSバッチファイルから転送される)に固有のものです。

環境変数にアクセスするPowerShellでは、その名前にenv:の接頭辞が付いています($env:AppData)。

$_dirget = "$env:AppData\$_fldertxt" 

第二:渡すパラメータ

が変数にパラメータ名を含めないでください、コマンドレットに渡された変数は、引数ではないパラメータ名として渡されます。次のものが必要です。一般的なコメントとして

get-content -LiteralPath $_dirget 

(あなたはハッシュテーブルとしてパラメータ名、引数のペアのハッシュテーブルを使用することができますが、それはここでは不要だ何か呼び出し「スプラット」がある。)

+0

実際に$ env変数を使用する環境変数は、サブ式に囲まずに完全に展開できます。 "$ env:AppData \ $ _ fldertxt" –

+0

@ShayLevyだから私はどこにあるのだろうか?サブ表現が必要だったことを私の心に突きつけましたか?答えを更新します。 – Richard

+0

私はそれをする必要があるかもしれないと思っていましたが、正確な方法はわかりませんでした。私はこれを試して、それがどうなるか見てみましょう。ご協力いただきありがとうございます。 –

関連する問題