このステートメントは失敗します。
runas /noprofile /env /savecred /user:"Eve" setx path "%path%;D:\Program Files (x86)\metapad36" /M
notepad
を変数にロードし、そのnotepad
変数を に渡すことにより、 と連携しますrunas
。
しかしsetx
、エラー メッセージは表示されません。コンソールに のヘルプ ファイルが表示されますrunas
。
どんな助けにも感謝します。
どうも!
アップデート:
これは機能します:
>set myvar=notepad
>echo "%myvar%"
"notepad"
そして、これは機能します:
runas /noprofile /env /savecred /user:Adam "%myvar%"
これはうまくいくようです。「%path%」の値を展開しますが、これで問題ありません。一部のコメントは、runas に渡すコマンドで元の % 変数が必要であると想定していますが、実際の値に展開しても問題ありません。
>set myvar=setx path "%path%;D:\Program Files (x86)\metapad36" /M
>echo "%myvar%"
"setx path "C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\ProgramData\chocolatey\bin;D:\Program Files (x86)\Microsoft VS Code\bin;;D:\Program Files (x86)\metapad36" /M"
しかし、これは失敗します:
>runas /noprofile /env /savecred /user:Adam "%myvar%"
アップデート2:
パラメータに存在しないユーザー名を指定してこれを実行すると/user
、パスワードの入力を求められます。しかし、実際の管理者ユーザー名で (管理者以外のコマンド プロンプトで) 実行すると、パスワードの入力を求められません。代わりに、不明なウィンドウが点滅して消え、システム パスは変更されません。
>runas /noprofile /env /savecred /user:"Eve" "setx path \"%path%;D:\Program Files (x86)\metapad36\" /M"
Attempting to start setx path "C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\ProgramData\chocolatey\bin;D:\Program Files (x86)\Microsoft VS Code\bin;;D:\Program Files (x86)\metapad36" /M as user "DESKTOP-AB0HSLD\Eve" ...
Enter the password for Eve:
>runas /noprofile /env /savecred /user:"Adam" "setx path \"%path%;D:\Program Files (x86)\metapad36\" /M"
Attempting to start setx path "C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\ProgramData\chocolatey\bin;D:\Program Files (x86)\Microsoft VS Code\bin;;D:\Program Files (x86)\metapad36" /M as user "DESKTOP-AB0HSLD\Adam" ...
このコードをバッチファイルに入れて実行しました。まだ画面が点滅し、上記と同じ「試行中」の出力が表示されます。
まだかなり混乱しています...