2016-09-20 3 views
0

私はEpsonスキャンフォルダ内のすべてのファイルを削除するスクリプトを持っています。スクリプトを手動で実行すると完全に機能します。しかし、何らかの理由で私がタスクスケジューラでタスクをセットアップしても、それはファイルを削除しませんか?誰がなぜこれが起こるのか知っていますか?タスクスケジューラ問題が発生しているCMDファイルを実行して手動で実行するときに動作します

注:pclist.txtは、PC名

@echo off 

for /F %%G in (pclist.txt) do ( 

pushd "\\%%G\C$\Epson Scans" || exit /B 1 
for /D %%I in ("*") do (
    rd /S /Q "%%~I" 
) 
del /Q "*" 
popd 

) 

答えて

1

のリストだけであるあなたは、ファイルpclist.txtが「おそらく」\Windows\system32ディレクトリに配置されていることを確認していますか?

スケジュールされたタスクとして実行する場合、カレントディレクトリは必ずしもユーザとして実行されるときに使用されるディレクトリではありません。

これを実現する最も簡単な方法は、それらの括弧内にその完全パスを入れること、または@echo offの直下に次の行を追加することです。

IF "%CD%\" NEQ "%~dp0" PUSHD "%~dp0" 
関連する問題