24

フォルダーrunにフォルダーがありますsystem32cmd現在のディレクトリとしてコマンド プロンプト ウィンドウを開いて Total Commander 内から実行しC:\Users\admin、そのフォルダに移動しようとすると、次のエラー メッセージが出力されます。

指定されたパスが見つかりません。

cmdfolder で直接開く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.
4

3 に答える 3

12

Windows x64 では1 つだけ ではありません。このようなディレクトリ%SystemRoot%\System322 つあります。

実際の%SystemRoot%\System32ディレクトリは 64 ビット アプリケーション用です。このディレクトリには、64 ビットの cmd.exe.

%SystemRoot%\SysWOW64しかし、32 ビット アプリケーション用もあります。このディレクトリは、32 ビット アプリケーションが にアクセスする場合に使用されます%SystemRoot%\System32。32 ビットのcmd.exe.

32 ビット アプリケーションは、パス%SystemRoot%\System32のエイリアスを使用して 64 ビット アプリケーションにアクセスできます。%SystemRoot%\Sysnative

詳細については、File System Redirectorに関する Microsoft のドキュメントを参照してください。

したがって、サブディレクトリは64 ビット アプリケーション用runに作成され、32 ビットが実行されます。32 ビット用のサブディレクトリがないか、32ビットアプリケーション用にサブディレクトリが作成され、64 ビットが実行されるため、このディレクトリは存在しません。このサブディレクトリは にのみ存在するため、 にはサブディレクトリがないため、このディレクトリが存在しない場合に-bitが実行されます。%SystemRoot%\System32cmdrun%SystemRoot%\SysWOW64%SystemRoot%\System32cmd.exe run%SystemRoot%\System32cmdrun%SystemRoot%\System32%SystemRoot%\SysWOW64

run次のコードは、サブディレクトリが%SystemRoot%\System3264 ビット アプリケーションの場合、バッチ ファイルの先頭で使用できます。

@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

使い方?

Windows x86 には環境変数ProgramFiles(x86)%SystemRoot%\System32が存在しないため、実際には上部に定義されているのは 1 つだけです。

ただし、Windows x64 では、環境変数ProgramFiles(x86)に値が定義されています。%SystemRoot%\Sysnative. _ この場合、バッチ ファイルは現在 32 ビットで処理されてcmd.exeおり、この場合にのみ%SystemRoot%\Sysnative使用する必要があります。それ以外の場合%SystemRoot%\System32は、バッチ ファイルが 64 ビットcmd.exeで処理される場合、Windows x64 でも使用できます。これは、64 ビット コンソール アプリケーションを含むディレクトリ (およびサブディレクトリrun) です。

注:%SystemRoot%\Sysnativeディレクトリではありません! またはを使用するcdことはできません。これは、32 ビットの実行可能ファイルにのみ存在する特別なエイリアスであるため、またはより一般的なを使用して、このパスを使用して 1 つ以上のファイルが存在するかどうかを確認する必要があります。%SystemRoot%\Sysnativeif exist %SystemRoot%\Sysnativeif exist %SystemRoot%\Sysnative\if exist %SystemRoot%\Sysnative\cmd.exeif exist %SystemRoot%\Sysnative\*

于 2015-11-12T07:09:34.807 に答える
0

あなたはただする必要があります:

ステップ 1: cd.. と入力して C:\ のホーム ディレクトリに移動します (2 回)。

ステップ 2: 表示されるようになりましたC:\>

ステップ 3: 入力dir Windows\System32\run

以上で、ターゲットフォルダー内の完全なファイルとフォルダーの詳細が表示されます。

ここに画像の説明を入力

詳細:Windows\System32\com例としてフォルダーを使用しました。独自のフォルダー名などを入力する必要があります。Windows\System32\run

于 2015-11-10T20:11:47.093 に答える