[DOS BATCH]32 位元應用程式無法存取在執行 64 位元版的 Windows Server 2003 或 Windows xp 的電腦上的 [system32] 資料夾問題

[DOS BATCH]32 位元應用程式無法存取在執行 64 位元版的 Windows Server 2003 或 Windows xp 的電腦上的 [system32] 資料夾問題

紀錄一下過程

問題描述

今天要測試下列批次檔(Batch)執行狀況

rem   checkPath 指定了磁碟檢查結果輸出檔案位置
set  checkPath=C:\CheckDiskResult.txt
echo 檢查C槽 > %checkPath%
chkdsk C: >> %checkPath%

發現在我的本機上(作業系統:windows7 Enterprise X64)可以執行

但是到了主機(作業系統:windows server 2003 Enterprise X64)卻不能執行

出現下列畫面

pic1

解決方式

參考下列網址後

32 位元應用程式無法存取在執行 64 位元版的 Windows Server 2003 或 Windows xp 的電腦上的 [system32] 資料夾

修改程式如下

rem   checkPath 指定了磁碟檢查結果輸出檔案位置
set  checkPath=C:\CheckDiskResult.txt
rem   exePath 指定了chkdsk執行檔位置
set  exePath=%WINDIR%\system32\chkdsk.exe
echo 檢查C槽 > %checkPath%
"%exePath%" C: >> %checkPath%

就可以了

參考資料

32 位元應用程式無法存取在執行 64 位元版的 Windows Server 2003 或 Windows xp 的電腦上的 [system32] 資料夾

如何自動執行 Chkdsk