PowerShellでディレクトリを変更する方法

2021年7月4日 75229 ビュー PowerShellのディレクトリを変更する

このSゾーンでは、PowerShellでディレクトリを変更する方法を説明します。このガイドは、PowerShellでルートディレクトリに変更する方法を示すことから始まります。

次に、CドライブからDドライブに変更する方法を学習します。また、ディレクトリをPowerShellスクリプトの現在のディレクトリに変更する方法についても学習します。

合計で、ガイドにはディレクトリを変更するための11の例があります。特定の例を探している場合は、下の[投稿トピックの参照]を展開して、トピックに直接移動してください。

投稿トピックを閲覧する

ルートディレクトリに変更する方法

PowerShellでルートディレクトリに変更する方法

PowerShellのディレクトリをルートディレクトリに変更するには、以下のコマンドを入力してEnterキーを押します。

Set-Location 

このSゾーンの最初の例では、PowerShellプロンプトはパスC: Users Victoにあります。 Cのルートに変更するには、次のように入力します セット-場所 コマンドを押して、キーボードのEnterキーを押します。以下の2番目の画像を参照してください–ディレクトリはCのルートにあります。

PowerShellでディレクトリを変更する方法-ルートディレクトリに変更する

現在のディレクトリから1ステップでディレクトリを変更する方法

PowerShellでディレクトリを変更する方法-現在のディレクトリからディレクトリを1ステップ変更する

現在のディレクトリの1つ後ろのディレクトリを変更することもできます。これを行うには、このコマンドを入力してEnterキーを押します。

Set-Location ..

この2番目の例では、現在のPowerShellプロンプトはC: Users Victoディレクトリにあります。ただし、PowerShellディレクトリをC: Usersディレクトリに変更したいのですが、スクリーンショットは次のとおりです…

PowerShellのディレクトリをCからDに変更する方法

PowerShellのディレクトリをCからDに変更する方法

PowerShellプロンプトで1つのドライブから別のドライブに変更することもできます。このガイドの3番目の例では、ドライブC:からドライブD:に変更します。

以下のコマンドがその役割を果たします–コマンドを入力してEnterキーを押します。

Set-Location D:

PowerShellプロンプトは、前のディレクトリC:から新しいドライブドライブD:に変更されます。

ディレクトリを指定されたパスに変更する

PowerShellのディレクトリを指定されたパスに変更します

PowerShellのディレクトリを指定したパスに変更することもできます。ディレクトリを変更するには、次のように入力します セット-場所 続いて パラメータ、次にディレクトリを変更するフルパス。新しいディレクトリパスにスペースが含まれている場合は、パスを二重引用符()で囲みます。

Set-Location -Path [full path]

この例では、C: G-Driveに変更したいので、このコマンドを入力してEnterキーを押します…

Set-Location -Path 'C:G-Drive'

PowerShellプロンプトはすぐに新しいディレクトリに変わります。

PowerShellのディレクトリを指定されたパスに変更します

同じコマンドを使用して、ディレクトリを別のドライブのパスに変更できます。

現在のディレクトリのディレクトリに変更する方法

現在のディレクトリのディレクトリに変更します

この最後の例では、ディレクトリを現在のディレクトリ内のディレクトリに変更する方法を説明します。最初のステップは、現在のディレクトリ内のすべてのディレクトリを一覧表示することです。これを行うには、 Get-ChildItem 指図。

以下のスクリーンショットは、C: G-Driveディレクトリに2つのフォルダ(操作ツールと作業ツール)があることを示しています。

現在のディレクトリのディレクトリに変更します

オペレーションツールに変更するには、以下のコマンドを使用します…

Set-Location 'Operations Tools'

PowerShellプロンプトはすぐに新しいディレクトリに変わります。

PowerShellスクリプトでディレクトリを変更する方法

PowerShellスクリプトを実行するときに、スクリプトの実行元の場所にアクセスしたい場合があります。 $ Script:MyInvocation.MyCommand.Pathという自動変数があります。

この変数を使用して、スクリプトの実行元のディレクトリを見つけることができます。ただし、この変数は、PowerShellスクリプトが実行されている場合にのみ使用できます。

これを示すために、次のスクリプトをPowerShellスクリプトにコピーして、名前を付けて保存します AccessScriptDirectory

この単純なスクリプトは、システム、アプリケーション、セキュリティイベントログの最後の5つのログのレポートを作成します。

最後の3行に注目してください。最後から3行目で、$ Script:MyInvocation.MyCommand.Path自動変数を$ ReportPathという名前の変数に保存しました。

The スプリットパス とのコマンド パラメータは、現在のスクリプトが実行されているディレクトリを返します。事実上、このセクションの目的のために、これはPowerShellのスクリプトディレクトリに変更する方法です!したがって、このセクションで他に何も選択しない場合は、次のコマンドに注意してください。 Split-Path -Parent $ Script:MyInvocation.MyCommand.Path

次に、最後から2番目の行に、別の変数を作成しました。 $ CSVReportFile 。この変数は、イベントログレポートを保存するCSVファイルへのパスです。

ただし、最も重要なのは、CSVファイルへのパスがPowerShellスクリプトの実行元の現在のディレクトリにあることです。

最後に、スクリプトの最後の行で、イベントログレポートをCSVファイルにエクスポートします…

私のスクリプトはD: PS-Tutorialに保存されていることに注意してください。したがって、CSVファイルはこの場所に作成されると思います。
#Create a single-key hashtable (LogName) with values - 'System', 'Application', 'Security' $LogNameKeys = @{ LogName = @('System', 'Application', 'Security') } #Convert the hashtable to a string $LogNameKeysAsStrings = $LogNameKeys.Values | out-string -stream #Uses ForEach to loop through $LogNameKeysAsStrings and run the Get-EventLog command. #Then, save the output of the command in the EventLogReport variable, $EventLogReport = ForEach ($LogNameKey in $LogNameKeysAsStrings) { Get-EventLog -LogName $LogNameKey -Newest 5 } $ReportPath = Split-Path -Parent $Script:MyInvocation.MyCommand.Path $CSVReportFile = '$ReportPath + 'EventLogsReport.csv' $EventLogReport | Export-Csv -Path $CSVReportFile -NoTypeInformation 

スクリプトを保存した後、管理者としてPowerShellを開き、スクリプトを保存した場所に移動して、以下のコマンドを実行します。

.AccessScriptDirectory.ps1

スクリプトを実行した後、上記のスクリプトを保存したフォルダーを開きます。 CSVレポートは同じフォルダーに保存する必要があります。レポートについては、以下の2番目のスクリーンショットを参照してください。

スペースを使用してPowerShellでディレクトリを変更する方法

スペースを使用してPowerShellでディレクトリを変更する方法

スペースのあるディレクトリへの変更は非常に簡単です。ただし、適切に行わないと、エラーが発生する可能性があります。

スペースを含む別のディレクトリに変更するときによくある間違いの1つは、ディレクトリを二重引用符で囲むのを忘れることです。

例を挙げると、私がに変更したい場合 D: G-Drive-P Work Tools PowerShellのディレクトリでは、以下のコマンドを使用します…

Set-Location 'D:G-Drive-PWork Tools'

上記のコマンドは機能します…

ただし、同封せずに同じコマンドを実行すると D: G-Drive-P Work Tools 二重引用符で囲むと、エラーが発生します。

Set-Location D:G-Drive-PWork Tools
PowerShellのディレクトリをプログラムファイルに変更する方法

最後に、PowerShellのディレクトリをスペース付きのディレクトリに変更する秘訣は、ディレクトリを二重引用符で囲むことです。

PowerShellのディレクトリをプログラムファイルに変更する方法

PowerShellのディレクトリをデスクトップに変更する方法

Windows 10には、2つのプログラムファイルパスがあります。 Program Files(x86)プログラムファイル 。 PowerShellでこれらのディレクトリに変更する最良の方法は、環境変数を呼び出すことです。

の環境変数 Program Files(x86) は…

${env:ProgramFiles(x86)}

さらに、の環境変数 プログラムファイル は…

${env:ProgramFiles}

PowerShellでこれらのプログラムファイルディレクトリに変更するには、次のコマンドを実行します…

Set-Location ${env:ProgramFiles(x86)}
Set-Location ${env:ProgramFiles}

PowerShellでの結果は次のとおりです…

PowerShellのディレクトリをデスクトップに変更する方法

PowerShellのディレクトリをデスクトップに変更する方法

前のセクションでは、PowerShell環境変数を使用してアクセスしました プログラムファイル 。ご想像のとおり、PowerShellには、現在のユーザーのプロファイルへのパスの環境変数もあります。

現在ログオンしているユーザーのプロファイルへのパスの環境変数は…

$env:USERPROFILE

ユーザープロファイルへのパスを確認するには、上記のコマンドを実行します。鉱山はにあります C: Users winner

Windows 10でユーザーのプロファイルへのパスを開くと、デスクトップというフォルダーがあります。

したがって、PowerShellのディレクトリを現在のユーザーのデスクトップに変更する場合は、以下のコマンドを実行します…

$Desktop = $env:USERPROFILE + 'desktop' Set-Location $Desktop

デスクトップフォルダの場所を変数に保存しました。 $ env:USERPROFILE + desktop 直接 セット-場所 コマンドはあらゆる種類のエラーをスローしていました。

これがPowerShellのコマンドの結果です…

PowerShellのディレクトリをレジストリパスに変更する方法

フォルダと同様に、PowerShellを使用してWindowsレジストリにアクセスできます。このセクションに進む前に、「PowerShellを使用してレジストリ値を読み取る方法」ガイドの「レジストリキーパスの省略形」セクションを読むことを強くお勧めします。

上記のガイドの情報に基づいて、レジストリルートキーの略語を以下に示します。

  1. HKEY_LOCAL_MACHINE – HKLM
  2. HKEY_CURRENT_CONFIG – HKCC
  3. HKEY_CLASSES_ROOT – HKCR
  4. HKEY_USERS – HKU
  5. HKEY_CURRENT_USER – HKCU

PowerShellでディレクトリをこれらのレジストリキーのいずれかに変更するには、ルートキーの省略形を入力し、その後に: –を入力します。 セット-場所 指図。

以下のコマンドで、ディレクトリをHKEY_LOCAL_MACHINEに変更します…

Set-Location HKLM:

これがPowerShellでの結果です…

このSゾーンのオプションを使用して、PowerShellのディレクトリを変更できます。このSゾーンがお役に立てば幸いです。

役に立ったと思ったら、親切に投票してください はい この投稿は以下の役立つ質問でした。

または、このページの最後にある[返信を残す]フォームを使用して、質問したり、コメントを残したり、フィードバックを提供したりすることもできます。

最後に、その他のWindowsコマンドプロンプトSゾーンについては、WindowsPowerShellのハウツーページにアクセスしてください。

参考文献と参考資料

  1. セット-場所
  2. Get-Location
  3. ハウツー:MyInvocation
  4. PowerShellを使用してレジストリ値を読み取る方法