質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

コマンドプロンプト

コマンドプロンプト(cmd.exe)はMicrosoftによって提供されているコマンドラインインタプリタです。OS/2・Windows CE・Windows NTで使用可能です。

Q&A

解決済

1回答

3205閲覧

windowsのforfilesコマンドでファイル検索

DaichiYasuda

総合スコア173

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

コマンドプロンプト

コマンドプロンプト(cmd.exe)はMicrosoftによって提供されているコマンドラインインタプリタです。OS/2・Windows CE・Windows NTで使用可能です。

0グッド

0クリップ

投稿2017/05/17 06:43

IISのログを検索するのをコマンドプロンプトで実行したいです

u_exyymmdd.logファイルがC:\inetpub\logsフォルダ以下にあるとします。
yymmddは一日前の日付で検索したいです。
ディレクトリの場所は一意ではないので変数にしたいです。

powershellだと簡単に実行できますがコマンドプロンプトでのやり方を教えてもらえますでしょうか?

以上何卒よろしくお願いいたします

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

コマンドプロンプト=バッチファイル、という前提でよいでしょうか。
前月位なら簡単ですけど、前日だと大変です。
自力で書こうかと思いましたが、調べたらいくつか出てきたのでリンクしておきます。
http://itdiary.info/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%97%E3%83%AD%E3%83%B3%E3%83%97%E3%83%88/post-851/

上記のものを流用させていただき下記のようにしてみました。
あとは適当に修正してください。

BAT

1@ECHO OFF 2Setlocal enabledelayedexpansion 3 4Set LOGDIR=c:\inetpub\logs 5Set SearchDay=%date% 6Call :GET-Yesterday ResultDay %SearchDay:~0,4% %SearchDay:~5,2% %SearchDay:~8,2% 7 8dir %LOGDIR%\u_ex%ResultDay%.log 9exit /b 10 11:GET-Yesterday 12Set yy=%2 13Set mm=%3 14Set dd=%4 15 16Set /a dd=%dd%-1 17Set dd=00%dd% 18Set dd=%dd:~-2% 19 20Set /a ymod=%yy% %% 4 21 22IF "%ymod%"=="0" ( 23 Set /a ymod_100=%yy% %% 100 24 IF !ymod_100!==0 ( 25 Set /a ymod_400=%yy% %% 400 26 IF NOT !ymod_400!==0 ( 27 Set /a ymod=1 28 ) 29 ) 30) 31 32IF %dd%==00 ( 33 IF %mm%==01 (Set mm=12&& Set dd=31&& Set /a yy=%yy%-1) 34 IF %mm%==02 (Set mm=01&& Set dd=31) 35 IF %mm%==03 (Set mm=02&& Set dd=28&& IF %ymod%==0 (Set dd=29)) 36 IF %mm%==04 (Set mm=03&& Set dd=31) 37 IF %mm%==05 (Set mm=04&& Set dd=30) 38 IF %mm%==06 (Set mm=05&& Set dd=31) 39 IF %mm%==07 (Set mm=06&& Set dd=30) 40 IF %mm%==08 (Set mm=07&& Set dd=31) 41 IF %mm%==09 (Set mm=08&& Set dd=31) 42 IF %mm%==10 (Set mm=09&& Set dd=30) 43 IF %mm%==11 (Set mm=10&& Set dd=31) 44 IF %mm%==12 (Set mm=11&& Set dd=30) 45) 46 47REM Set %1=%yy%/%mm%/%dd% 48Set %1=%yy:~2,2%%mm%%dd% 49 50:EOF

追記

質問タイトルにあったforfilesを失念してました。
ファイル名自体が前日固定なので必要性はあまり感じませんが、必要があればコメントください。

投稿2017/05/17 07:58

編集2017/05/17 08:03
ttyp03

総合スコア16998

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

DaichiYasuda

2017/05/17 08:24

ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問