- ベストアンサー
FTPコマンドでサーバのファイルをget後変更する
BATファイルで、FTPコマンドを実行するコーティングで、サーバのファイルをgetした後でファイル名を ファイル名_hhmmss (hhmmss:タイムスタンプ 時:分:秒)に変更するには、どのようなコーティングをすればいいのか教えてください。よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
コマンドラインで echo ファイル名_%time:~0,2%%time:~3,2%%time:~6,2% と入力して確認してみてください。 OKなら、ファイル出力時に記述すればいいです。 --- 質問からは外れますが、あとでファイル名だけで日付も知りたいのならYYMMDDも必要なのでは?
その他の回答 (2)
- asciiz
- ベストアンサー率70% (6794/9659)
どうも失礼しました、回答no.1で完璧ですね…
- asciiz
- ベストアンサー率70% (6794/9659)
Windowsのコマンドプロンプトでは、コマンドラインで使えるプログラムが貧弱なものしかなく、そのような応用は難しいです。 例えば、時刻表示できるのは「time」コマンドですが、「time /t」と実行すると、"17:30"と固定フォーマットで表示されてしまい、秒の表示ができませんし、ファイル名には不適切な「:」記号まで入ってしまっています。 そして、その表示された文字列を操作するコマンドも、ありません。 unix(linux等)であれば、そもそもの date コマンドに日付・時刻の出力フォーマット指定があり、直接12:34:56→123456 という文字列出力ができますし、文字やパターンの置換に tr コマンドや sed コマンドも使えます。 unixならば、コマンドの組み合わせで、そのようなファイル名保存スクリプトを組むことも現実的なのですが。 unixコマンドラインを実現する cygwin をインストールして、そのようなスクリプトを組む、という手がひとつ。(cygwin に、フォーマット指定可能なdateコマンドも、tr・sedコマンドも、含まれています) むしろいっそのこと perl や ruby 等で、FTPでファイル取得→現在時刻より作成したファイル名で保存、と一連の動作をするスクリプトを組んでしまった方が早い気がします。