少し背景...
私は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を使用して私が必要とするものを実行し、使用する必要があるフォルダをどのようにターゲットできますか?
を、変数の命名はPowerShellの世界では混乱しています。 $ _dirgetのような変数は、多くのコマンドレットが特別な変数$ _を提供するので奇妙に見えます。これは "パイプラインに現在あるオブジェクト"を意味します。したがって、あなたは次のようなものを見るかもしれません:get-process | foreach-object {$ _。PM/1KB} ...これを考えると、$ _PMという名前を付けるのは悪い考えです。 –
構文の練習を変更します。ヘッドアップをありがとう。 –