|
|
こんにちは。またご教示を仰ぎたいのですが、、 (問題点) コマンドプロンプトを立ち上げて直接コマンドを打つとちゃんと結果が出るのに、まったく同じようにバッチの中に書いて実行するとその命令文がひたすらDOS窓の中を流れ続けて結果を得られない。 (実行文) findstr /g:c:\test.txt c:\db.txt>c:\result.txt (やりたいこと) ファイルサーバーにある個人用フォルダ(フォルダ名は例えば12345とか0d0001など社員番号とまったく同じか社員番号の頭に0がついている)のフォルダ名が記述されたテキストファイル(c:\db.txt)と特定の社員一人分の社員番号(d0001)が記述されたテキストファイル(c:\test.txt)を比較し、社員番号に部分(あるいは”全部”)一致する個人用フォルダ名をテキストファイル(c:\result.txt)にはきださせたい。 繰り返しになってしまいますが、上の実行文をコマンドプロンプト上で直接打つとちゃんと目的の社員番号に一致するフォルダ名が得られるのですが、バッチに書いて実行するとひたすら命令文が画面を流れてしまうのです。これはなぜでしょうか?また、どのように対応すればよろしいでしょうか? バッチだと実行者がシステムユーザーで動いてしまうからかな?と思い、試しに runas /user:domainame\userid "findstr /g:c:\test.txt c:\db.txt>c:\result.txt" というバッチを書いてみたのですが空っぽのテキストファイルがはきだされるだけで、やはりうまく動きません。 原因、対応方法ご存知の方、ご教示くださいませ。 なお、コマンドプロンプトにこだわっているわけではなく、やりたいことができれば他の方法でもいいのですが(sedやgrepならできるはずと思い調べながらやってみたのですが、挫折しました)なにぶん浅学なため正しい命令文がかけず、思うように動かせません。 "IZGREP"というフリーウェアの使い方をご存知の方、上記やりたいことを実現できる命令文を教えていただけないでしょうか? 長文になり申し訳ありません。よろしくお願いいたします。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|