系统无法找到路径,即使它存在于路径中

问题描述 投票:0回答:1

处理调用另一个批处理文件的批处理文件。

K:\Market Risk>call "K:\Market Risk\activate.bat"
The system cannot find the path specified.

所以我在批处理文件的开头设置了路径并确保它在那里:

SET PATH=%PATH%;K:\Market Risk\

K:\Market Risk>echo %PATH%
C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;
C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;
C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\Shoreline Communications\
ShoreWare Client\;C:\Program Files\dotnet\;C:\Program Files (x86)\Microsoft SQL Server
\150\DTS\Binn\;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;
C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\
WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\
Shoreline Communications\ShoreWare Client\;C:\Program Files (x86)\Common Files\Oracle\
Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;
C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;
C:\Program Files (x86)\Shoreline Communications\ShoreWare Client\;
C:\Users\Kyle.Dixon\AppData\Local\Microsoft\WindowsApps;C:\Users\Kyle.Dixon\AppData\Local\
Programs\Git\cmd;C:\Users\Kyle.Dixon\AppData\Local\atom\bin;C:\Users\Kyle.Dixon\Documents\
R\R-3.5.2\bin\R.exe;C:\Users\Kyle.Dixon\Documents\R\R-3.5.2\bin;C:\Users\Kyle.Dixon\
AppData\Roaming\MarketView\MarketView ExcelTools\;K:\Market Risk\

但是,我仍然遇到同样的错误:

K:\Market Risk>call "K:\Market Risk\activate.bat"
The system cannot find the path specified.

有人遇到过这个问题吗?

windows batch-file cmd path
1个回答
2
投票

我建议阅读 “X 未被识别为内部或外部命令、可操作程序或批处理文件”的原因是什么? 它应该有助于理解 Windows 是如何管理环境变量

PATH
的。不幸的是,Windows 并没有很好地管理它,这会导致很多问题,因为没有可用的命令来安全地添加/删除 systemuser
PATH
的文件夹路径。缺少由 Microsoft 编写的用于安全更新
PATH
并应用所有必要的错误检查的此类命令或可执行文件,其结果是产生许多不好的编码脚本,这些脚本经常损坏存储在 Windows 注册表中的 systemuser
PATH
正在尝试更新它们。

我的建议是以管理员身份打开 Windows 控制面板 - 系统和安全(在查看方式:类别上选择)- 系统 - 高级系统设置 - 环境变量 以管理员身份并清理

Path
环境变量,用户
Path
(上窗格)和 系统
Path
(下部窗格)。也可以通过单击 Windows 开始 按钮,在键盘上键入 环境 和 Windows 在菜单中建议 为您的帐户编辑环境变量 和用语言编辑系统环境变量 来打开环境变量窗口Windows 的。单击两个建议项目之一,如有必要,请根据 Windows 版本单击按钮环境变量

  • system Path
     应始终以以下默认 Windows 文件夹路径启动:
            
      %SystemRoot%\System32
    • %系统根%
    • %SystemRoot%\System32\Wbem
    • %SystemRoot%\System32\WindowsPowerShell 1.0\
    • %SystemRoot%\System32\OpenSSH\
    如果
    system Path
     不再以此处所写的这些文件夹路径启动,则它在过去曾被严重更新过。 (最后一个文件夹路径仅在 Windows 10 自版本 1809 和 Windows 11 上可用。) 
    C:\WINDOWS
     存储在 Windows 注册表中并在编辑 
    system 时显示 Path
     而不是 
    %SystemRoot%
     表示安装程序由于替换了原始文件夹,可执行文件或脚本没有很好地更新 
    system Path
    扩展版本引用环境变量
    SystemRoot
    的路径。这对于这些文件夹路径并不重要,但可能对其他文件夹路径有害。
  • 文件夹路径在两个
  • Path
     环境变量之一中不应存在多次。
    删除
    user Path
     以及 
    system Path
     中的所有重复项。

    您的两个
    Path
     环境变量包含三个时间:
            
      C:\Program Files (x86)\Common Files\Oracle\Java\javapath
    • C:\Program Files (x86)\Shoreline Communications\ShoreWare Client\
    • C:\WINDOWS
    • C:\WINDOWS\system32
    • C:\WINDOWS\System32\OpenSSH\
    • C:\WINDOWS\System32\Wbem
    • C:\WINDOWS\System32\WindowsPowerShell 1.0\
    已存在于
    system Path
     中的文件夹路径不应再次存在于 
    user Path
     中,当然也不应再次存在于 
    system Path
     中。
  • Path
     中可以列出不带或带反冲的文件夹路径。我更喜欢 
    Path
     末尾没有反斜杠的文件夹路径,因为这样可以减少将来通过批处理脚本使用命令 
    Path
     更新 
    reg
     时遇到的麻烦。
        
  • 环境变量
  • Path
    应仅包含
    文件夹路径,而不是完全限定的文件名 所以
    C:\Users\Kyle.Dixon\Documents\R\R-3.5.2\bin\R.exe
    Path
    中完全是无稽之谈。
    
清理完两个

Path

 环境变量后,
system Path
 中的文件夹路径应类似于:

    %SystemRoot%\system32
  • %系统根%
  • %SystemRoot%\System32\Wbem
  • %SystemRoot%\System32\WindowsPowerShell 1.0\
  • %SystemRoot%\System32\OpenSSH\
  • %CommonProgramFiles(x86)%\Oracle\Java\javapath
  • %ProgramFiles(x86)%\Microsoft SQL Serverh\DTS\Binn
  • %ProgramFiles(x86)%\Shoreline Communications\ShoreWare 客户端
  • C:\Program Files\dotnet
对于最后一条路径,最好保留

C:\Program Files

并且不要使用
%ProgramFiles%
,除了有
C:\Program Files\dotnet
C:\Program Files (x86)\dotnet
,我不知道,因为我的Windows计算机上没有这样的目录。有关原因,请参阅 Microsoft 文档页面
WOW64 实施详细信息

userPath

最终应该是这样的:

    %LocalAppData% 汤姆在
  • %LocalAppData%\Microsoft\WindowsApps
  • %LocalAppData%\Programs\Gi
© www.soinside.com 2019 - 2024. All rights reserved.