Windowsでdefragコマンドを実行するperlスクリプトを実行したいと思います。ただ使ってみたら
system("defrag C:");
「「デフラグ」が内部または外部コマンド、操作可能なプログラム、またはバッチファイルとして認識されません」というメッセージが表示されます。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ファイルをテストすると失敗します。これはWindows2003で正常に機能しますが、Windows 2008で機能しなくなった理由を誰かが知っていますか?
ありがとう!
クリス
更新:バックスラッシュは元々エスケープされていませんでした。修理済み。