コア FTP 経由でいくつかのファイルをアップロードするために毎週実行する必要がある単純なバッチ ファイルがあります。
Core FTP LE の無料版を使用しています。
MySavedProfile は、コア FTP のサイト マネージャーを使用して作成した保存済みプロファイルのサイト名です。プロファイルには、接続するサイトの URL / 資格情報などが含まれています。
バッチ ファイルの内容は次のとおりです。
SET logf=confirm.log
echo test-start >> %logf%
"C:\Progra~1\CoreFTP\coreftp.exe" -B -s -pasv -O -site MySavedProfile -u "C:\Progra~2\PathToFiles\FileToUpload.txt"
echo test-finish >> %logf%
Windows Server 2012 r2 タスク スケジューラの場合、バッチ ファイルを実行するタスク スケジューラ ライブラリのルートに、基本的な毎週スケジュールされたタスクを作成しました。このスケジュールされたタスクには、次のものがあります。
(一般タブの下)
"Run whether user is logged on or not" is selected
"Run with highest privileges" is checked
Configure for = Windows Server 2012 R2
(アクション中)
Action = Start a program
Program / Script = "C:\Progra~2\PathToFiles\batch.bat"
Start in = C:\Progra~2\PathToFiles\
これが私が得ている奇妙な動作です:
バッチ ファイルを直接ダブルクリックすると、問題なく動作し、Core FTP 経由でテキスト ファイルをアップロードできます。
ただし、Windows タスク スケジューラに実行させようとすると、Core FTP ライン以外はすべて実行されます。つまり、私はいつものように取得します:
test-start
test-finish
confirm.log ファイルに記録されていますが、FileToUpload.txt はリモート サーバーにアップロードされておらず、検出できる CoreFTP からのエラーはありません。
バッチ ファイルを実行する権限を持つサービス アカウントと、このスケジュールされたタスク用の自分のアカウントでこれを試しました。同じ結果が得られます。その CoreFTP 行が実行されていないようです。少なくともタスクスケジューラ経由ではありません。このアップロードを自動化する必要があります。
Core FTP のドキュメント、Google などを検索しました。この問題に遭遇した人はいないようです。遠く離れた問題からの推奨事項を適用しましたが、どれも機能しませんでした。
どんな助けでも大歓迎です。ありがとうございました。