該命令位於一個大型批處理文件的中間,該文件在Windows XP下運行超過5年,但運行時在Windows 7(32位)下,它報告「MyBatch.bat不被識別爲內部/外部命令,可操作程序或批處理文件」。cmd/C「MyBatch.bat Param1 Param2 Param3」在WinXP下工作,但在Win7下失敗
如果我將主批處理文件編輯爲在'cd'或'dir'前面的行,它將顯示MyBatch.bat存在的目錄,但cmd找不到它。
我發現使呼叫工作的唯一方法是在行前加上'set path =%path%;%cd%',但這隻能用,因爲MyBatch.bat的位置現在在路徑。這對於主批處理文件的其餘部分來說是不切實際的解決方案。我無法使用'調用MyBatch.bat ...',而是在其他地方使用cmd/C來調用.exe文件。
在我的系統中,'cmd'在註冊表中設置爲管理員模式,並啓用了命令擴展(對於主批處理文件所需的某些處理所需的管理員模式)。我也嘗試將cmd設置爲WINXPSP3兼容模式,但它沒有區別。
這就好像Win7版本的cmd只使用%path%來查找內容,而不是查看它正在運行的目錄,而WinXP版本則是。我在任何地方都沒有見過這種限制。
我誤解了某些東西或錯過了某個步驟或註冊表標誌? 有沒有辦法使WinD下的cmd工作,因爲它在WinXP下?
你可能是對的,但你應該提供真實的生活數據,而不是'「MyBatch.bat Param1 Param2 Param3」'。 – Endoro
什麼是使用的實際文件夾? Win 7和Win 8中的管理員比Win XP中的管理員擁有更少的訪問權限。嘗試右鍵點擊批處理文件並以「管理員身份運行」。看看它是否成功。 – foxidrive
@Endoro - 感謝您的回覆。我不認爲添加真正的參數會有幫助,因爲它們只會意味着批處理文件處理它們的情況,但完整的行是: cmd/C「MkPCBld。蝙蝠發佈Nowait NoDemo「 – Falstaff