无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 1341|回复: 28
打印 上一主题 下一主题

[求助] NET,CMD等命令调用时提示找不到文件,只能在SYSTEM32文件夹下才能运行

[复制链接]
跳转到指定楼层
1#
发表于 2023-10-28 19:27:52 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本人有些批处理,然后里面会用到NET,调用到CMD等命令之前在任意目录下,都可以直接正常运行
然后今天在有台电脑上,发现调用到CMD,NET等命令时,提示找不到文件之类的提示,然后必须在SYSTEM32文件夹下面才可以正常运行

然后尝试搜索了一下,有些回答是说环境变量的问题,但是我看了下,也没看到什么异常的地方,
请教各位㚐,问题是出在哪里呢?
2#
发表于 2023-10-28 19:57:11 | 只看该作者
那就加上:
cd /d C:\Windows\System32

点评

ut0
这样是可以的,但是我想知道出问题的具体原因并解决  详情 回复 发表于 2023-10-29 10:42
回复

使用道具 举报

3#
发表于 2023-10-28 19:57:35 | 只看该作者
为毛不把批处理发上来???

点评

ut0
现在发上来了  详情 回复 发表于 2023-10-29 11:01
回复

使用道具 举报

4#
发表于 2023-10-28 20:43:39 | 只看该作者
这台电脑的环境变量“path”被改乱了呗,变量值中的C:\Windows和C:\Windows\system32都没有了
打开命令提示符窗口执行set path就能看到了

点评

ut0
但奇怪的是,变量里有这些,所以我说没看到什么异常的地方  详情 回复 发表于 2023-10-29 10:44
是这样的。  详情 回复 发表于 2023-10-28 21:01
回复

使用道具 举报

5#
发表于 2023-10-28 21:01:21 | 只看该作者
本帖最后由 blank007 于 2023-10-28 21:02 编辑
hua_wuxin 发表于 2023-10-28 20:43
这台电脑的环境变量“path”被改乱了呗,变量值中的C:\Windows和C:\Windows\system32都没有了
打开命令提 ...

是这样的。我曾乱改 path 环境变量,结果有些程序不能运行了。改回来之后就正常了。
回复

使用道具 举报

6#
发表于 2023-10-28 22:32:43 | 只看该作者
在环境变量中,加入system32目录

点评

ut0
变量里是有的  详情 回复 发表于 2023-10-29 10:45
回复

使用道具 举报

7#
发表于 2023-10-28 22:42:00 | 只看该作者
C:\Windows\System32
添加到环境里面!

2023-10-28_22-41-41.png (193.29 KB, 下载次数: 25)

2023-10-28_22-41-41.png

点评

ut0
变量里有这些  详情 回复 发表于 2023-10-29 10:46
回复

使用道具 举报

8#
发表于 2023-10-28 22:43:35 | 只看该作者
在前面加一句试试,如果正常,那就是path变量异常
  1. path %path%;C:\Windows;C:\Windows\System32
复制代码

点评

ut0
加了之后是运行正常了,是变量异常,但奇怪的是变量里面有SYSTEM32  详情 回复 发表于 2023-10-29 10:47
回复

使用道具 举报

9#
发表于 2023-10-28 23:15:28 | 只看该作者
加上:cd /d C:\Windows\System32
回复

使用道具 举报

10#
 楼主| 发表于 2023-10-29 10:42:56 | 只看该作者
yyz2191958 发表于 2023-10-28 19:57
那就加上:
cd /d C:\Windows\System32

这样是可以的,但是我想知道出问题的具体原因并解决
回复

使用道具 举报

11#
 楼主| 发表于 2023-10-29 10:44:43 | 只看该作者
hua_wuxin 发表于 2023-10-28 20:43
这台电脑的环境变量“path”被改乱了呗,变量值中的C:\Windows和C:\Windows\system32都没有了
打开命令提 ...

但奇怪的是,变量里有这些,所以我说没看到什么异常的地方
回复

使用道具 举报

12#
 楼主| 发表于 2023-10-29 10:45:47 | 只看该作者
l3429900 发表于 2023-10-28 22:32
在环境变量中,加入system32目录

变量里是有的
回复

使用道具 举报

13#
 楼主| 发表于 2023-10-29 10:46:27 | 只看该作者
fulibo 发表于 2023-10-28 22:42
C:\Windows\System32
添加到环境里面!

变量里有这些
回复

使用道具 举报

14#
 楼主| 发表于 2023-10-29 10:47:26 | 只看该作者
nttwqz 发表于 2023-10-28 22:43
在前面加一句试试,如果正常,那就是path变量异常

加了之后是运行正常了,是变量异常,但奇怪的是变量里面有SYSTEM32

点评

加了之后正常说明批处理的实际运行环境里缺这些 这个环境中的变量值跟自己打开的命令提示符窗口中的不一致 你在批处理最前面加上set和pause后在那台电脑上运行看看path变量呢?  详情 回复 发表于 2023-10-29 12:07
回复

使用道具 举报

15#
 楼主| 发表于 2023-10-29 11:01:36 | 只看该作者
本帖最后由 ut0 于 2023-10-29 16:00 编辑

就是变量里有systemroot,system32等设置,还是提示错误,所以觉得很奇怪,也找不到问题出在哪里





运行set path和set之后,显示的是这些
  1. C:\WINDOWS\system32>set path
  2. Path=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;%SYSTEMROOT%\System32\OpenSSH\;C:\Program Files (x86)\Common Files\THSOFT Shared;C:\Users\DELL\AppData\Local\Microsoft\WindowsApps;C:\Program Files (x86)\Common Files\THSOFT Shared
  3. PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

  4. C:\WINDOWS\system32>set
  5. ADSK_CLM_WPAD_PROXY_CHECK=FALSE
  6. ALLUSERSPROFILE=C:\ProgramData
  7. APPDATA=C:\Users\DELL\AppData\Roaming
  8. CommonProgramFiles=C:\Program Files\Common Files
  9. CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
  10. CommonProgramW6432=C:\Program Files\Common Files
  11. COMPUTERNAME=DELL-PC2
  12. ComSpec=C:\WINDOWS\system32\cmd.exe
  13. DriverData=C:\Windows\System32\Drivers\DriverData
  14. HOMEDRIVE=C:
  15. HOMEPATH=\Users\DELL
  16. LOCALAPPDATA=C:\Users\DELL\AppData\Local
  17. LOGONSERVER=\\DELL-PC2
  18. NUMBER_OF_PROCESSORS=12
  19. OS=Windows_NT
  20. Path=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;%SYSTEMROOT%\System32\OpenSSH\;C:\Program Files (x86)\Common Files\THSOFT Shared;C:\Users\DELL\AppData\Local\Microsoft\WindowsApps;C:\Program Files (x86)\Common Files\THSOFT Shared
  21. PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
  22. PROCESSOR_ARCHITECTURE=AMD64
  23. PROCESSOR_IDENTIFIER=AMD64 Family 25 Model 80 Stepping 0, AuthenticAMD
  24. PROCESSOR_LEVEL=25
  25. PROCESSOR_REVISION=5000
  26. ProgramData=C:\ProgramData
  27. ProgramFiles=C:\Program Files
  28. ProgramFiles(x86)=C:\Program Files (x86)
  29. ProgramW6432=C:\Program Files
  30. PROMPT=$P$G
  31. PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
  32. PUBLIC=C:\Users\Public
  33. SESSIONNAME=Console
  34. SystemDrive=C:
  35. SystemRoot=C:\WINDOWS
  36. TEMP=C:\Users\DELL\AppData\Local\Temp
  37. TMP=C:\Users\DELL\AppData\Local\Temp
  38. USERDOMAIN=DELL-PC2
  39. USERDOMAIN_ROAMINGPROFILE=DELL-PC2
  40. USERNAME=DELL
  41. USERPROFILE=C:\Users\DELL
  42. windir=C:\WINDOWS
复制代码



回复

使用道具 举报

16#
 楼主| 发表于 2023-10-29 11:01:51 | 只看该作者
本帖最后由 ut0 于 2023-10-29 11:08 编辑
邪恶海盗 发表于 2023-10-28 19:57
为毛不把批处理发上来???

现在发上来了

path2.png (107.69 KB, 下载次数: )

path2.png

path.png (222.31 KB, 下载次数: )

path.png
回复

使用道具 举报

17#
发表于 2023-10-29 12:07:02 | 只看该作者
ut0 发表于 2023-10-29 10:47
加了之后是运行正常了,是变量异常,但奇怪的是变量里面有SYSTEM32

加了之后正常说明批处理的实际运行环境里缺这些 这个环境中的变量值跟自己打开的命令提示符窗口中的不一致
你在批处理最前面加上set和pause后在那台电脑上运行看看path变量呢?

点评

ut0
是的,但问题是为什么批处理中变量和系统的变量不一致,而且系统变量里看起来都是正常的 加了set和pause之后是这样显示的,中间也显示是有%systemroot\system32%的,但还是报错 [attachimg]533888[/attachimg]  详情 回复 发表于 2023-10-29 16:06
回复

使用道具 举报

18#
发表于 2023-10-29 13:21:28 | 只看该作者
学习学习
回复

使用道具 举报

19#
 楼主| 发表于 2023-10-29 16:06:03 | 只看该作者
hua_wuxin 发表于 2023-10-29 12:07
加了之后正常说明批处理的实际运行环境里缺这些 这个环境中的变量值跟自己打开的命令提示符窗口中的不一 ...

是的,但问题是为什么批处理中变量和系统的变量不一致,而且系统变量里看起来都是正常的

加了set和pause之后是这样显示的,中间也显示是有%systemroot\system32%的,但还是报错


回复

使用道具 举报

20#
发表于 2023-10-29 16:46:50 | 只看该作者
本帖最后由 hua_wuxin 于 2023-10-29 18:06 编辑

你检查下注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment下Path环境变量的类型。系统初始类型应该是REG_EXPAND_SZ,但是好像有什么东西(某个常见软件的安装程序?)会把它改成REG_SZ。如果被改成了REG_SZ,那么数据里就不能用%SystemRoot%,而必须直写为C:\Windows。或者把它删掉重建为REG_EXPAND_SZ也行。


点评

原来是注册表类型问题,涨姿势了。 不知,删除path变量再重建是否能恢复正常。  详情 回复 发表于 2023-10-29 18:47
ut0
非常感谢回复和指点,我这下看到了,正常的环境变量下,path在命令行里的显示,不应该还是显示的变量,应该是显示的具体路径了。 但注册表的问题也没法查看了,因为电脑已经被人拿走了  详情 回复 发表于 2023-10-29 18:17
回复

使用道具 举报

21#
 楼主| 发表于 2023-10-29 18:17:18 | 只看该作者
hua_wuxin 发表于 2023-10-29 16:46
你检查下注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment下Path ...

非常感谢回复和指点,我这下看到了,正常的环境变量下,path在命令行里的显示,不应该还是显示的变量,应该是显示的具体路径了。

但注册表的问题也没法查看了,因为电脑已经被人拿走了
回复

使用道具 举报

22#
发表于 2023-10-29 18:47:22 来自手机 | 只看该作者
hua_wuxin 发表于 2023-10-29 16:46
你检查下注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment下Path ...

原来是注册表类型问题,涨姿势了。
不知,删除path变量再重建是否能恢复正常。
回复

使用道具 举报

23#
发表于 2023-12-8 11:02:33 | 只看该作者
我感觉就是环境变量的问题
回复

使用道具 举报

24#
发表于 2024-2-17 10:35:31 | 只看该作者
学习学习
回复

使用道具 举报

25#
发表于 2024-2-17 10:46:26 | 只看该作者
学习了
回复

使用道具 举报

26#
发表于 2024-2-17 17:21:26 | 只看该作者
加上:cd /d C:\Windows\System32
回复

使用道具 举报

27#
发表于 2024-2-17 18:24:18 | 只看该作者
这个我清楚,是装了清华天河后,自动添加的路径有问题

清华天河的路径是带有空格的,这样的路径必须要用双引号括起来,然而清华天河软件并没有考虑到这个问题,只是机械地把自己的带空格路径加到path变量中,从而导致了整个path环境变量的失效

解决这个问题的方法就是把path变量中的所有带空格的路径两边加上双引号(半角英文)
回复

使用道具 举报

28#
发表于 2024-4-14 15:35:52 来自手机 | 只看该作者
谢谢分享
回复

使用道具 举报

29#
发表于 2024-4-21 14:43:22 | 只看该作者
谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-1 07:42

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表