締切済み

[コマンドプロンプト]世代管理+ログの圧縮

  • 暇なときにでも
  • 質問No.7336695
  • 閲覧数569
  • ありがとう数1
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 67% (35/52)

こんにちは、お世話になります。

現在コマンドプロンプトを用いて以下の動作を行うと考えております。

(1)数世代(3世代)のログを残して以前(4世代以前)のログはlhacaで圧縮します。
(2)古いログは削除します。(予定)

現在記述している内容は以下になります。

echo ******************************************************>>C:\testbat\result.log
set LHACA_PATH="C:\Program Files\Lhaca\Lhaca.exe"
echo %date%>>C:\testbat\result.log
for /F "skip=3" %%F in ('dir /B C:\testbat\sample*') do echo %%F>>C:\testbat\result.log
for /F "skip=3" %%F in ('%LHACA_PATH% C:\testbat\sample*') do echo %%F>>C:\testbat\result.log
echo ******************************************************>>C:\testbat\result.log

これでBATを実行すると「C:\testbat\sample*」内のファイルのひとつだけが圧縮されました。
スキップしたファイル以外を全て個別に圧縮するにはどうすればよいでしょうか?


お手数をおかけし、申し訳ありませんがご教授をお願いします。

回答 (全2件)

  • 回答No.2

ベストアンサー率 23% (3656/15482)

for の仕様を確認してください.

for /F "skip=3" %%F in ('%LHACA_PATH% C:\testbat\sample*') do echo %%F>>C:\testbat\result.log
というのは, 結果的に「%LHACA_PATH% C:\testbat\sample* の出力結果の 4行目以降を C:\testbat\result.log に追加する」ことになっていませんか?
感謝経済
  • 回答No.1

ベストアンサー率 23% (3656/15482)

5行目は何を意図しているのですか?

あと, lhaca の仕様がわからないのですが, コマンドラインにファイル名を並べたらそれらを全部圧縮してくれるものなのですか? もしそうだとしたら, 各ファイルがそれぞれ別のファイルに圧縮されるのですか? それとも, 全体を 1つのファイルにまとめるのですか? はたまた別の動作をするのですか?
お礼コメント
Non201010

お礼率 67% (35/52)

返信ありがとうございました。


五行目とは
for /F "skip=3" %%F in ('%LHACA_PATH% C:\testbat\sample*') do echo %%F>>C:\testbat\result.log

こちらのことであってますでしょうか?
やろうとしている内容としては、ログファイルを3つスキップして、
4つ目から順次LHACAに送って圧縮しようとしております。

LHACAのコマンドを個別に
'%LHACA_PATH% C:\testbat\sample1.log
'%LHACA_PATH% C:\testbat\sample2.log
'%LHACA_PATH% C:\testbat\sample3.log

と記載したものを実行すると同じフォルダ内に圧縮ファイルが
生成されたのでFOR文で名前を切り替えて送れば圧縮できないかなぁっと考えました。
投稿日時 - 2012-03-02 18:58:16
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


感謝指数によるOK-チップ配布スタート!

ピックアップ

ページ先頭へ