NET,CMD等命令调用时提示找不到文件,只能在SYSTEM32文件夹下才能运行
本人有些批处理,然后里面会用到NET,调用到CMD等命令之前在任意目录下,都可以直接正常运行然后今天在有台电脑上,发现调用到CMD,NET等命令时,提示找不到文件之类的提示,然后必须在SYSTEM32文件夹下面才可以正常运行
然后尝试搜索了一下,有些回答是说环境变量的问题,但是我看了下,也没看到什么异常的地方,
请教各位㚐,问题是出在哪里呢?
那就加上:
cd /d C:\Windows\System32 为毛不把批处理发上来??? 这台电脑的环境变量“path”被改乱了呗,变量值中的C:\Windows和C:\Windows\system32都没有了
打开命令提示符窗口执行set path就能看到了 本帖最后由 blank007 于 2023-10-28 21:02 编辑
hua_wuxin 发表于 2023-10-28 20:43
这台电脑的环境变量“path”被改乱了呗,变量值中的C:\Windows和C:\Windows\system32都没有了
打开命令提 ...
是这样的。我曾乱改 path 环境变量,结果有些程序不能运行了。改回来之后就正常了。 在环境变量中,加入system32目录 C:\Windows\System32
添加到环境里面! 在前面加一句试试,如果正常,那就是path变量异常
path %path%;C:\Windows;C:\Windows\System32 加上:cd /d C:\Windows\System32 yyz2191958 发表于 2023-10-28 19:57
那就加上:
cd /d C:\Windows\System32
这样是可以的,但是我想知道出问题的具体原因并解决 hua_wuxin 发表于 2023-10-28 20:43
这台电脑的环境变量“path”被改乱了呗,变量值中的C:\Windows和C:\Windows\system32都没有了
打开命令提 ...
但奇怪的是,变量里有这些,所以我说没看到什么异常的地方 l3429900 发表于 2023-10-28 22:32
在环境变量中,加入system32目录
变量里是有的 fulibo 发表于 2023-10-28 22:42
C:\Windows\System32
添加到环境里面!
变量里有这些 nttwqz 发表于 2023-10-28 22:43
在前面加一句试试,如果正常,那就是path变量异常
加了之后是运行正常了,是变量异常,但奇怪的是变量里面有SYSTEM32 本帖最后由 ut0 于 2023-10-29 16:00 编辑
就是变量里有systemroot,system32等设置,还是提示错误,所以觉得很奇怪,也找不到问题出在哪里
运行set path和set之后,显示的是这些
C:\WINDOWS\system32>set path
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
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
C:\WINDOWS\system32>set
ADSK_CLM_WPAD_PROXY_CHECK=FALSE
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\DELL\AppData\Roaming
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=DELL-PC2
ComSpec=C:\WINDOWS\system32\cmd.exe
DriverData=C:\Windows\System32\Drivers\DriverData
HOMEDRIVE=C:
HOMEPATH=\Users\DELL
LOCALAPPDATA=C:\Users\DELL\AppData\Local
LOGONSERVER=\\DELL-PC2
NUMBER_OF_PROCESSORS=12
OS=Windows_NT
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
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=AMD64 Family 25 Model 80 Stepping 0, AuthenticAMD
PROCESSOR_LEVEL=25
PROCESSOR_REVISION=5000
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
PUBLIC=C:\Users\Public
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\WINDOWS
TEMP=C:\Users\DELL\AppData\Local\Temp
TMP=C:\Users\DELL\AppData\Local\Temp
USERDOMAIN=DELL-PC2
USERDOMAIN_ROAMINGPROFILE=DELL-PC2
USERNAME=DELL
USERPROFILE=C:\Users\DELL
windir=C:\WINDOWS
本帖最后由 ut0 于 2023-10-29 11:08 编辑
邪恶海盗 发表于 2023-10-28 19:57
为毛不把批处理发上来???
现在发上来了
ut0 发表于 2023-10-29 10:47
加了之后是运行正常了,是变量异常,但奇怪的是变量里面有SYSTEM32
加了之后正常说明批处理的实际运行环境里缺这些 这个环境中的变量值跟自己打开的命令提示符窗口中的不一致
你在批处理最前面加上set和pause后在那台电脑上运行看看path变量呢? 学习学习 hua_wuxin 发表于 2023-10-29 12:07
加了之后正常说明批处理的实际运行环境里缺这些 这个环境中的变量值跟自己打开的命令提示符窗口中的不一 ...
是的,但问题是为什么批处理中变量和系统的变量不一致,而且系统变量里看起来都是正常的
加了set和pause之后是这样显示的,中间也显示是有%systemroot\system32%的,但还是报错
本帖最后由 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也行。
hua_wuxin 发表于 2023-10-29 16:46
你检查下注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment下Path ...
非常感谢回复和指点,我这下看到了,正常的环境变量下,path在命令行里的显示,不应该还是显示的变量,应该是显示的具体路径了。
但注册表的问题也没法查看了,因为电脑已经被人拿走了{:1_188:} hua_wuxin 发表于 2023-10-29 16:46
你检查下注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment下Path ...
原来是注册表类型问题,涨姿势了。
不知,删除path变量再重建是否能恢复正常。 我感觉就是环境变量的问题 学习学习 学习了 加上:cd /d C:\Windows\System32 这个我清楚,是装了清华天河后,自动添加的路径有问题
清华天河的路径是带有空格的,这样的路径必须要用双引号括起来,然而清华天河软件并没有考虑到这个问题,只是机械地把自己的带空格路径加到path变量中,从而导致了整个path环境变量的失效
解决这个问题的方法就是把path变量中的所有带空格的路径两边加上双引号(半角英文) 谢谢分享 谢谢分享
页:
[1]