質問: ### 前提・実現したいこと FTP系バッチファイルを、タスクスケジューラにて本体がスリープ中に実行したいです。 スリープ中以外では正常に動作するバッチファイルが、スリープ中のみホストに繋がりません。 (※サーバーの情報に関しては記号に置き換えています) タスクスケジューラの設定は以下です。 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/8bfdd473a6e0cef9ccb1b01cef7edaa0.jpeg) ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/aca5b324f9b902c4e9b85ed0e896251a.jpeg) ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/947ad080f7d8a97a2a292817faf82382.jpeg) バッチファイル初心者です。 原因のわかる方、いらっしゃいましたらどうぞよろしくお願いいたします。 ### 発生している問題・エラーメッセージ ``` C:\Users\USER\Desktop\auto\test>ftp -s:ftp.txt ftp> open 〇〇 不明なホスト 〇〇 です。 ftp> △△ コマンドが無効です。 ftp> ◇◇ コマンドが無効です。 ftp> asc 接続されていません。 ftp> prompt 対話モード オフ。 ftp> cd www 接続されていません。 ftp> put C:\www\test.html 接続されていません。 ftp> bye C:\Users\USER\Desktop\auto\test>pause 続行するには何かキーを押してください . . . ``` ### 該当のソースコード ``` open 〇〇 △△ ◇◇ asc prompt cd www put C:\www\test.html bye ``` 非スリープ状態では正常に動作しています。 ### 試したこと Wクリックでバッチを実行する、非スリープ状態で実行するなどの際は正常に動作しています。
回答: スリープを解除してから、ネットワークが接続できる状態になるのに多少の時間が必要です。 ネットワークの復旧前にftp 接続しているため、ホストに接続できないのではないでしょうか? たとえば、バッチファイルの ftp 実行の前に timeout コマンドで時間待ちして待機させるとどうなりますか? (たとえば、60秒待機してから ftp させてみるとか) ``` timeout /t 60 ```