解決済みの質問
質問:No.4487725
すぐに回答ほしいです
お気に入り投稿に追加する (0人が追加しました)
回答数2
閲覧数155
バッチファイルで、リムーバルディスクを認知させ特定の拡張子のファイルを探す方法
質問です。
コマンドプロンプトを利用したバッチファイルの記載の方法で、「リムーバルディスク内の特定の拡張子(例:.exeファイル)を探し出し、発見されればそのファイルをテキストの書き出し、なければ発見されませんでしたとテキストに書き出す方法を探しています。
対象とするOSはWindowsXPです。
また、複数のリムーバルディスク(USBメモリが2つ接続されている場合など)へも対応させたいです。
皆さんのお力をお借りしたいと思っております。
よろしくお願いします。
投稿日時 - 2008-11-18 06:59:51
質問者が選んだベストアンサー
回答:No.2
Googleで調べたら wmic コマンドをつかって調べられそうでしたので作ってみました。
以下の例は、 exeファイルとtxtファイルを調べる例です。
下から5行目の *.exe *.txt の所を適宜修正して試してみてください。
検索結果はバッチファイルと同じ場所に list.txt として出力されます。
Windows XP Pro で動作確認しました。

:---------------------------------------------------- sample.bat
echo off
type NUL>list.txt
for /F "tokens=1" %%d in ('wmic logicaldisk ^| find "リムーバブル"') do dir %%d>NUL 2>&1&&call :sub %%d
for %%x in (list.txt) do if %%~zx EQU 0 echo リムーバブルディスクが見つかりませんでした>list.txt
more list.txt
exit /b

:sub
type NUL>tmp.txt
for /R %1\ %%f in ( *.exe *.txt ) do echo %%f>>tmp.txt
for %%x in (tmp.txt) do if %%~zx EQU 0 echo %1では発見されませんでした>tmp.txt
copy /a list.txt+tmp.txt list.txt>NUL
del tmp.txt
goto :EOF
投稿日時 - 2008-11-18 22:58:41
この回答を支持する
(現在0人が支持しています)
お礼
大変参考になりました。
ありがとうございました。
投稿日時 - 2008-11-23 20:13:58
この質問は役に立ちましたか?
0人が「このQ&Aが役に立った」と投票しています
ベストアンサー以外の回答
回答:No.1
>また、複数のリムーバルディスク(USBメモリが2つ接続されている場合など)へも対応させたいです。

ドライブ名の内、現在どれがリムーバブルディスクになっているかを知りたいと言うことなら、コマンドプロンプトの機能では不可能です。
ドライブ名を固定で良いなら可能です。

cd /d E:\
dir /b /s *.exe >c:\path\list.txt 2>&1
投稿日時 - 2008-11-18 22:26:54
この回答を支持する
(現在0人が支持しています)
お礼
大変参考になりました。
ありがとうございました。
投稿日時 - 2008-11-23 20:13:38
もっと聞いてみる
関連するQ&Aはこちら
test01.bat >> YYMMDD結果.txt コマンドプロンプトのバッチ処理を実行結果をテキストで保存したいのですが、ファイル名を、 「YYMMDD結果.txt」と"YYMMDD"に本日の日...
解決法を探してみたのですが、見つからないのでご教授ください。 コマンドプロンプトでどんなコマンド(ipconfig,ping,etc)を入力しても 「操作可能なプログラムまたはバッチ ファイルとして...
UNIX系であればコマンド実行にTeraTermなどを使用していますが、Windowsでコマンド実行する際は標準のコマンドプロンプトを使用しています。 ですがコマンドプロンプトは非常に使いにくいです。...
この他の関連するQ&Aをキーワードで探す
プログラミングのサブカテゴリ
RSS
-PR-
PR
-PR-