[解決済み] System cannot find the path specified "というエラーメッセージが表示される原因は何ですか?
質問
フォルダがあります
run
フォルダ内
system32
. を実行すると
cmd
でコマンドプロンプトウィンドウを開き、Total Commanderから
C:\Users\admin
をカレントディレクトリにして、そのフォルダに入ろうとすると、次のようなエラーメッセージが出力されます。
指定されたパスがシステムで見つかりません。
を開くと
cmd
フォルダに直接
run
であれば、完璧に動作します。なぜですか?
でコマンドプロンプトのウィンドウを開くと
C:\Windows\System32\run
:
C:\Windows\System32\run>cd..
C:\Windows\System32>cd run
C:\Windows\System32\run>
を実行しただけのコマンドプロンプトウィンドウ。
cmd
:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Všetky práva vyhradené.
C:\Users\admin>cd..
C:\Users>cd..
C:\>cd windows
C:\Windows>cd system32
C:\Windows\System32>cd run
Systém nemôže nájst’ zadanú cestu.
解決方法は?
あるんです。
1つだけでなく
%SystemRoot%\System32
をWindows x64で使用した場合。があります。
2
このようなディレクトリがあります。
本当の
%SystemRoot%\System32
ディレクトリは、64ビットアプリケーション用です。このディレクトリには、64 ビットの
cmd.exe
.
しかし、そこには
%SystemRoot%\SysWOW64
は、32ビットアプリケーション用です。このディレクトリは、32ビット・アプリケーションが
%SystemRoot%\System32
. これには、32ビット
cmd.exe
.
32ビットアプリケーションは
%SystemRoot%\System32
というエイリアスを使用することで、64ビットアプリケーションの
%SystemRoot%\Sysnative
をパスで指定します。
詳細については、マイクロソフトのドキュメントを参照してください。 ファイルシステムリダイレクト .
そこで、サブディレクトリ
run
のどちらかに作成されました。
%SystemRoot%\System32
は64ビットアプリケーション、32ビット
cmd
が実行された場合、サブディレクトリが存在しないため、このディレクトリは存在しない。
run
で
%SystemRoot%\SysWOW64
というのは
%SystemRoot%\System32
32ビット用
cmd.exe
または
サブディレクトリ
run
に作成されました。
%SystemRoot%\System32
は32ビットアプリケーション用、64ビット
cmd
が実行された場合、サブディレクトリが存在しないため、このディレクトリは存在しない。
run
で
%SystemRoot%\System32
にしか存在しないので、このサブディレクトリは
%SystemRoot%\SysWOW64
.
サブディレクトリがある場合、バッチファイルの先頭で次のコードを使用することができます。
run
が
%SystemRoot%\System32
64ビットアプリケーション用
@echo off
set "SystemPath=%SystemRoot%\System32"
if not "%ProgramFiles(x86)%" == "" if exist %SystemRoot%\Sysnative\* set "SystemPath=%SystemRoot%\Sysnative"
のすべてのコンソールアプリケーションは
System32\run
ディレクトリで実行する必要があります。
%SystemPath%
をバッチファイル内に記述します。
%SystemPath%\run\YourApp.exe
.
どのように機能するのか?
環境変数がない
プログラムファイル(x86)
Windows x86 の場合は、1 つだけです。
%SystemRoot%\System32
のように定義されています。
しかし、そこには環境変数
プログラムファイル(x86)
をWindows x64の値で指定します。そのため、Windows x64では、追加で
%SystemRoot%\Sysnative
. この場合、バッチファイルは現在32ビットの
cmd.exe
であり、この場合のみ
%SystemRoot%\Sysnative
を使用する必要があります。そうでなければ
%SystemRoot%\System32
は、Windows x64でも使用可能で、バッチファイルを64bitの
cmd.exe
の場合、これは64ビットのコンソールアプリケーションを含むディレクトリ(およびサブディレクトリの
run
).
注
%SystemRoot%\Sysnative
はディレクトリではありません! これは
cd
から
%SystemRoot%\Sysnative
を使用するか
if exist %SystemRoot%\Sysnative
または
if exist %SystemRoot%\Sysnative\
. これは32ビット実行ファイルにのみ存在する特別なエイリアスなので、このパスを使用する際には、1つまたは複数のファイルが存在するかどうかを
if exist %SystemRoot%\Sysnative\cmd.exe
または、より一般的な
if exist %SystemRoot%\Sysnative\*
.
関連
-
[解決済み] Pyuic4' は内部外部コマンドとして認識されない
-
[解決済み] コマンドプロンプトでGradleがビルドされない gradle -v
-
[解決済み] Ethereum - DAGに大きなバッファを割り当てることができません。
-
[解決済み] System cannot find the path specified "というエラーメッセージが表示される原因は何ですか?
-
[解決済み] VMware WorkstationとDevice/Credential Guardは互換性がありません。
-
[解決済み] CMD /im(タスクキル)って何?
-
[解決済み] Windowsのcmdでアクセスが拒否されるのですが、なぜですか?
-
[解決済み] CMDがカレントディレクトリとしてUNCパスをサポートしない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Pyuic4' は内部外部コマンドとして認識されない
-
[解決済み] コマンドプロンプトでGradleがビルドされない gradle -v
-
[解決済み] Ethereum - DAGに大きなバッファを割り当てることができません。
-
[解決済み] System cannot find the path specified "というエラーメッセージが表示される原因は何ですか?
-
[解決済み] VMware WorkstationとDevice/Credential Guardは互換性がありません。
-
[解決済み] CMD /im(タスクキル)って何?
-
[解決済み] Windowsのcmdでアクセスが拒否されるのですが、なぜですか?
-
[解決済み] CMDがカレントディレクトリとしてUNCパスをサポートしない