- - PR -
DOSコマンドのファイル出力について
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-12-15 16:50
WindowsXPにてファイル削除をDOSで行おうとしています。
削除実行自体は問題ないのですが、実行結果をログに出力するところがうまくいきません。 del xxxx.bak >> Job.log ログとしては実行したDel文をそのまま出力したいと思っています。 ************************* del xxxx.bak ************************* echoを使っても、ログの中は何も出力されません。 コマンドの実行文自体をファイル出力することはできないのでしょうか? | ||||
|
投稿日時: 2008-12-15 17:16
copy con xx.dat
zzz xxx ^Z copy con xx.bat echo off del %1 echo on echo del %1 ^Z xx.bat xx.dat >> xx.log type xx.log c:\xxx>echo del xx.dat del xx.dat です。 | ||||
|
投稿日時: 2008-12-15 18:48
ぴあちゃんさん、ありがとうございます。
echo off del %1 echo on echo del %1 とするという事は、やはり実行文だけでログに出力する事はできないという事でしょうか。 2段階になってしまいますか〜。 | ||||
|
投稿日時: 2008-12-15 19:17
del /?
copy con xx.za xxx zzz aaa ^Z del /S xx.za 削除したファイル - c:\sss\xx.za って表示されました。 /S オプションですね。 | ||||
|
投稿日時: 2008-12-16 00:18
ん?
それ間違いですね。 /S オプションは全てのサブディレクトリから削除であって表示には無縁かと。 delコマンド時の結果のリダイレクトは出来なかった筈(遠い記憶w)。 ぴあちゃん氏のアドバイスされた方法でも良いですが、個人的にはdelコマンドの 前と後に対象ディレクトリのdirをリダイレクトする方法が好みです。 | ||||
|
投稿日時: 2008-12-16 09:26
# 脱線ですが
del コマンドのヘルプより:
| ||||
|
投稿日時: 2008-12-16 10:55
みなさんありがとうございます。
del xxxx.bak /S >> Job.log でイメージしていたログが出ましたが、仕様通りサブディレクトリのファイルも消されてしまいました。(笑) スクリプトプログラマさんの方法ではほぼイメージ通りですが、ログとしては余計なのも出てしまいます。 ******************************** Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\\tmp>del xxxx.bak C:\\tmp> ******************************** これをもうひと工夫すればなんとかできるような気がします。 | ||||
|
投稿日時: 2008-12-16 15:21
> echo del xxxx.bak | cmd 2>&1 | findstr "del" >> Job.log
結果は > type Job.logt del xxxx.bak プロンプトは cmdの変数で消せる でも、古参ヲタの思い出エピソードのような袋小路感いっぱい。 だって「21世紀」 よ! |