0
私は適切な作業ディレトトリーでbatファイルと同じ名前のPowerShellスクリプトを起動できるbatスクリプトを作成しようとしています。適切な作業ディレクトリを使用してBATファイルからPowerShellスクリプトを起動するにはどうすればよいですか?
これは私が得たものである:
@ECHO OFF
PowerShell.exe -NoProfile -Command "& {Start-Process PowerShell.exe -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""%~dpn0.ps1""' -WorkingDirectory '%~dp0' -Verb RunAs}"
PAUSE
は、この方法が動作しない作業ディレクトリを渡します。
適切な動作のdirectroyとコマンドライン引数を渡すスクリプトを作成するにはどうすればよいですか?最初のコマンドとして
Set-Location (Split-Path $MyInvocation.MyCommand.Path)
:
'% '〜dp0'は空白のあるディレクトリに評価されても動作しません。この状況では、作業ディレクトリの二重引用符を三重にする必要があります: '' "〜" dp0 "" "' – iRon
昇格時にプロセスの初期作業ディレクトリを設定することはできません。デフォルトでは 'System32'(または' 32ビットプロセスの場合は「SysWOW64」)。これは設計によるものです。 –
'%〜dpn0.ps1'の最初のコマンドとして' Set-Location(Split-Path $ MyInvocation.MyCommand.Path) 'を使うのはどうですか? – LotPings