Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Command line Windows批处理错误:“'ping'未被识别为内部或外部命令可操作程序或批处理文件。”_Command Line_Batch File_Cmd_Command Line Arguments - Fatal编程技术网

Command line Windows批处理错误:“'ping'未被识别为内部或外部命令可操作程序或批处理文件。”

Command line Windows批处理错误:“'ping'未被识别为内部或外部命令可操作程序或批处理文件。”,command-line,batch-file,cmd,command-line-arguments,Command Line,Batch File,Cmd,Command Line Arguments,我正在尝试在windows中运行此命令: ping -n 5 127.0.0.1 > nul 我得到一个错误: 'ping' is not recognized as an internal or external command operable program or batch fie. 为什么windows找不到ping?以下是我的脚本,它不起作用: @ECHO OFF ::set path SET path=M:\\5.bmp :findfile IF EXIST %p

我正在尝试在windows中运行此命令:

ping -n 5 127.0.0.1 > nul
我得到一个错误:

'ping' is not recognized as an internal or external command operable 
program or batch fie. 
为什么windows找不到ping?以下是我的脚本,它不起作用:

@ECHO OFF

::set path
SET path=M:\\5.bmp

:findfile
IF EXIST %path% (
    ECHO File found
) ELSE (
    ECHO File not found
    ping -n 5 127.0.0.1 > nul
    goto findfile
)
您已重写PATH环境变量,因此命令处理器无法再找到ping可执行文件

修复程序很好而且简单-只需使用不同的变量名

:: set path
SET MyPath=M:\\5.bmp

:findfile
IF EXIST %MyPath% (
请注意,如果您真的想设置path环境变量,您应该像这样附加到它:

REM Set temporarily for this session
SET PATH=%PATH%;C:\Some\Folder

REM Set permanently (but note - this change will not be made to this session)
SETX PATH=%PATH%;C:\Some\Folder
如何诊断此错误:

因为path环境变量不包含指向可执行文件ping.exe的目录。所以问题变成了为什么命令行程序cmd.exe找不到ping.exe

您可以在命令行上打印path变量,如下所示:

echo %PATH%
为我打印的是:

C:\WINDOWS;C:\WINDOWS\system32;C:\Program Files\jZip;C:\MinGW\bin
上面的字符串由分号分隔;。请注意名为:C:\WINDOWS\System32的元素,该元素定义了ping.exe的位置

解决方案

您没有在path变量中指定C:\WINDOWS\System32。确保它在那里。 缺少ping.exe。找出是谁删除了它并放回原处。 ping.exe已损坏。在它所在的位置运行它:C:\WINDOWS\System32\ping.exe,或替换ping.exe。 在查找PATH变量之前,您已经覆盖了它。
嗨,要修复ping,请执行以下步骤

转到我的计算机中的属性

高级系统设置-->高级-->环境变量 从系统变量列表中选择“路径”,编辑并将路径设置为c:\windows\system32;这会解决你的问题

--->如果仍然有问题,请执行以下步骤

控制面板->系统和安全->Windows防火墙->高级设置->入站规则->新规则->自定义规则

在协议和端口中:协议:ICMPv4 在同一面板上,转到“自定义”,选择特定ICMP类型,选中“回显请求”框

其余的都是琐碎的;转到下一个。。。下一个并保存它

你应该完蛋了。此框从此点开始响应ping

干杯


Prasad

只是一些注释。这只会将文件夹临时添加到path环境变量中。cmd会话一结束,更改就会丢失。要查看创建变量时应注意的所有已定义的环境变量,请在命令行中键入set。@DavidRuhmann我添加了关于如何临时和永久设置的注释。酷。可能还需要注意的是,setx限制为1024个字符。因此,如果设置的环境变量长度超过1024个字符,则该变量将被截断为1024个字符。
C:\WINDOWS;C:\WINDOWS\system32;C:\Program Files\jZip;C:\MinGW\bin