2013-02-26 88 views
3

我試圖在Windows中運行以下命令:Windows批量錯誤:「'ping'不被識別爲內部或外部命令可操作程序或批處理文件。」

ping -n 5 127.0.0.1 > nul 

我得到的錯誤:

'ping' is not recognized as an internal or external command operable 
program or batch fie. 

爲什麼不能窗口找到平安?這裏是我的腳本,它不工作:

@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 
) 

回答

6

您已經覆蓋了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 
+0

只是一些注意事項。這隻會暫時將文件夾添加到路徑環境變量中。一旦cmd會話結束,更改將會丟失。要查看創建變量時應該注意的所有已定義的環境變量,請在命令行中鍵入'set'。 – 2013-02-26 15:09:15

+0

@DavidRuhmann我已經添加了關於如何在臨時和永久基礎上設置的註釋。 – 2013-02-26 15:14:37

+0

很酷。也可能要注意'setx'有1024個字符的限制。因此,如果設置的環境變量超過1024個字符,變量將被截斷爲1024個字符。 – 2013-02-26 15:22:02

0

如何診斷此錯誤:

'ping' is not recognized as an internal or external command operable 
program or batch fie. 

因爲您的path環境變量不包含指向可執行文件的目錄:ping.exe。所以這個問題就變成了爲什麼你的命令行程序cmd.exe找不到ping.exe

可以在這樣的命令行打印出你的路徑變量:

echo %PATH% 

這對我來說會打印:

C:\WINDOWS;C:\WINDOWS\system32;C:\Program Files\jZip;C:\MinGW\bin 

上面的字符串是由分號(;)分隔。請注意名爲C:\WINDOWS\System32的元素,該元素定義ping.exe的位置。

解決方案

  1. 沒有指定C:在你的路徑變量\ WINDOWS \ System32中。確保它在那裏。
  2. ping.exe丟失。找出誰刪除並放回去。
  3. ping.exe已損壞。在它所在的位置運行它:C:\WINDOWS\System32\ping.exe,或替換ping.exe
  4. 在查找它之前,您已覆蓋PATH變量。
4

喜來修復「平」請在下面按照步驟

進入屬性在我的電腦

高級系統設置----->高級----->環境變量 選擇從系統變量列表中選擇'PATH'並編輯並設置PATH到c:\ windows \ system32;這將解決您的問題。

----->如果還是u有一個問題,做下面的步驟...

控制面板 - >系統和安全 - > Windows防火牆 - >高級設置 - >入站規則 - >新規則 - >自定義規則

在協議和端口:協議:在同一面板上ICMPv4 去定製,選擇「特定ICMP類型」,勾選「回顯請求」

其餘的是微不足道的;進入下一個...下一個...並保存。

你應該完成。這個盒子從這一點響應ping。

乾杯

普拉薩德

相關問題