我想运行一个在 Windows 上运行 defrag 命令的 perl 脚本。当我尝试使用
system("defrag C:");
我得到“'defrag' 未被识别为内部或外部命令、可运行程序或批处理文件”。即使我给出了 C:\Windows\System32\defrag.exe 的完整路径,我也会得到同样的错误。此外,任何对 defrag.exe 是否存在的测试都会失败。例如:
if(-f "C:\\Windows\\System32\\defrag.exe"),
if(-x "C:\\Windows\\System32\\defrag.exe"), and
if(-e "C:\\Windows\\System32\\defrag.exe")
都失败了。事实上,它们在测试任何 .exe 文件时都会失败。这在 Windows 2003 上运行良好,有谁知道为什么它不再在 Windows 2008 上运行?
谢谢!
克里斯
更新:反斜杠最初没有转义。固定的。