24

我在文件夹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.
4

3 回答 3

20

以下对我有用:

  1. 打开Registry Editor(按 windows 键,键入regedit并点击Enter)。
  2. 导航HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun并清除这些值。
  3. 还要检查HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
于 2020-02-08T00:32:13.043 回答
12

Windows x64 上不仅 有1 %SystemRoot%\System32。有2 个这样的目录。

真正的%SystemRoot%\System32目录用于 64 位应用程序。该目录包含一个 64 位 cmd.exe.

但也%SystemRoot%\SysWOW64适用于 32 位应用程序。如果 32 位应用程序访问%SystemRoot%\System32. 它包含一个 32 位的cmd.exe.

32 位应用程序可以通过使用路径%SystemRoot%\System32中的别名访问 64 位应用程序。%SystemRoot%\Sysnative

有关更多详细信息,请参阅有关文件系统重定向器的 Microsoft 文档。

因此,子目录run%SystemRoot%\System32为 64 位应用程序创建的,并且cmd运行 32 位,但该目录不存在,因为没有用于 32 位的子目录,或者子目录run是为 32 位应用程序和 64 位应用程序创建的运行该目录不存在的-bit ,因为没有子目录,因为该子目录仅存在于.%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顶部定义的一个。

但是在 Windows x64 上定义了具有值的环境变量ProgramFiles(x86) 。因此,如果%SystemRoot%\Sysnative. 在这种情况下,批处理文件当前由 32 位处理cmd.exe,只有在这种情况下%SystemRoot%\Sysnative才需要使用。否则%SystemRoot%\System32也可以在 Windows x64 上使用,因为当批处理文件由 64-bit 处理时cmd.exe,这是包含 64-bit 控制台应用程序的目录(和子目录run)。

注意:%SystemRoot%\Sysnative不是目录!不可能cd使用%SystemRoot%\Sysnativeor 。if exist %SystemRoot%\Sysnative_ if exist %SystemRoot%\Sysnative\它是仅存在于 32 位可执行文件的特殊别名,因此有必要通过 usingif exist %SystemRoot%\Sysnative\cmd.exe或更通用的if 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 回答