1 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 17:44:28 ] 拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる 質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです。 ※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう。 【前スレ】 (関連スレは>>2-5 ) 【.cmd】 バッチファイルスクリプト %1 【.bat】 pc11.2ch.net/test/read.cgi/tech/1178281991/
2 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 17:45:00 ] 【関連スレ】 DOSでプログラミング pc11.2ch.net/test/read.cgi/tech/1047001533/ HTAをもっと流行らせる計画 pc11.2ch.net/test/read.cgi/tech/1124559962/ WSH(・∀・)スレッド! Part 2 pc11.2ch.net/test/read.cgi/tech/1176698934/ Windows板:お前ら、wsh使ってますか? Part7 pc11.2ch.net/test/read.cgi/win/1190548945/ Windows板:Windows PowerShell (正式版リリース)1.0 pc11.2ch.net/test/read.cgi/win/1163764836/ Windows板:ユーザー必読!コマンドライン(DOS Pt.6) pc11.2ch.net/test/read.cgi/win/1176558776/ Windows板:MS-DOS・Win3.1総合スレッド pc11.2ch.net/test/read.cgi/win/1025462258/ OS板:■★▲DOSはまだ現役! Drive.B: pc11.2ch.net/test/read.cgi/os/1046875141/ 昔のPC板:MS-DOS総合スレッド 2 bubble6.2ch.net/test/read.cgi/i4004/1144778720/
3 名前:デフォルトの名無しさん [2007/12/17(月) 17:49:11 ] うぅ、このスレを立てたのに誘導レスを前スレへ書き込めなかった。(泣)
4 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 18:32:35 ] 助けてください。 バッチを使っていたら変になりました。 マイピクチャに置いてあるMP3ファイルやWAVファイルが 昨日まで縮小表示のときに一目でMP3かWAVか書いてあって 分かったのですが、今はCDのディスクのマークに音符のマークに なってしまいました。元に戻したいのですが、どのようにすれば よろしいでしょうか?宜しくお願いします。
5 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 18:36:47 ] >4 リカバリ
6 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 18:41:24 ] すみません兄のPCでバッチをしていたらフリーズしてしまいました 治し方がわかりません。 電源は落とさないよう言われています。 兄不在なので教えていただけますか? よろしくお願いします。
7 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 18:44:41 ] >>6 兄をリカバリ
8 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 18:45:20 ] >>1 乙 もう初心者ネタは面白くないので以後完全スルーします
9 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 18:45:34 ] >4 もし良かったら、バッチの内容をこのスレにコピペしてみてくれないか?少々興味がある。
10 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 18:47:25 ] すいません教えてください 1週間ぐらい前にバッチ使ってからおかしくなりました パソコンの左下に 【その操作は無効です】ってマークがでて 音が消えたり 動かなかったりがあるんですが 困ってます 対処方教えてください
11 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 20:35:38 ] >4-10 バッチ使っててもプログラミングの話じゃないから板違い バッチ初心者はこちらの板へどうぞ↓ PC初心者 pc11.2ch.net/pcqa/ ソフトウェア pc11.2ch.net/software/ Windows pc11.2ch.net/win/
12 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 20:39:27 ] バッチの使い方の質問はWindows板へどうぞ↓ Windows板:ユーザー必読!コマンドライン(DOS Pt.6) pc11.2ch.net/test/read.cgi/win/1176558776/
13 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 21:21:41 ] 自演だと思うけど、初心者ネタに誘導レスするのやめてくんない? 全員スルー力をつけろよ。
14 名前:デフォルトの名無しさん [2007/12/17(月) 22:31:27 ] ↓以下のURLを貼る人は削除人も認めたことがある荒らし、 または人格障害者なので無視してかまいません。 pc11.2ch.net/pcqa/ pc11.2ch.net/software/ pc11.2ch.net/win/ pc11.2ch.net/test/read.cgi/win/1176558776/
15 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 22:37:37 ] >1-2
16 名前:デフォルトの名無しさん mailto:sage [2007/12/17(月) 22:44:41 ] >14 ↑
17 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 04:21:13 ] >>10 まず使ったバッチを貼れ 話はそれからだ
18 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 16:27:47 ] バッチファイルをダブルクリックで起動したときは最後に pauseしてDOS窓を開いたままにして、 他のバッチファイルからcallしたときはpauseさせたくないのですが、 そんなことは可能でしょうか?
19 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 16:42:38 ] 前に似たような質問して回答もらってなかったか? また回答だけもらって無視だろうか?
20 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 16:43:21 ] オプションで切り分けるようにして、他のバッチからはオプションつきで動かすとか。
21 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 16:59:51 ] えっと・・・バッチでホップアップブロック機能を停止したいのですが、いつものように 上のほうに「ホップアップがぶr(ry」のように表示されはするんですが 一瞬で消えてしまいますどうしたら停止できますか? 機種はウインドウズXPふつうのデスクトップモデムは内蔵されていません
22 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 17:02:23 ] >>19 おそらく別人だと思います。 >>20 それでいけそうです。ありがとうございます。
23 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 17:06:33 ] 今使ってるVAIOノートのモニターが5分おきくらいに蛍光管がもうすぐ寿命が切れる前のように チラツキと文字がにじんだような状態になります直す方法がわかりましたら教えてください
24 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 19:30:22 ] やだよ
25 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 19:57:14 ] 盛大にスレ違い
26 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 20:00:17 ] つーか鼬害
27 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 20:13:07 ] ギリギリでスレ違いじゃないと信じてここに書くけど Vistaになってedlinも(editも)日本語表示できなくなったわけだけど まぁ、残念だがそれはいいとして、バッチ処理の途中で ファイル中の文字を単純に書き変えさせたいときとかにどうしよう、と みんなはどうしているのでしょうか しょうがなくどっからか拾ってきたsedとかで書き換えたりしてるんだけど なんか良い知恵があったら教えてください>edlinの代わり(UNIXでいうexみたいな使い方で)
28 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 21:22:01 ] >>27 たぶん標準ツールでどうにかしたい、って事なんだろうけど 無理なのでは? 自分の場合はバッチファイル書くときは普通にGUIの サクラエディタつかってる。Ctrl+Bで開いているスクリプトを 実行する事ができる。 ちょこっと修正したい時はvim使うときもある。 あとは自身が言ってるようにsed使ったり、その他のawk、perl、ruby...etc を使うのがいいんじゃなかろか。 ちなみにモレは誘導基地外じゃないけど、↓のスレのほうが 質問に合ってるような希ガス pc11.2ch.net/test/read.cgi/win/1176558776/
29 名前:デフォルトの名無しさん mailto:sage [2007/12/18(火) 21:48:48 ] なるほど、了解しました そうか、一回外部エディタを途中で呼び出しちゃえばいいのか で、書き換え終了を待って、処理を再開、と めんどくさいけど、それが一番現実的な気もします startしなければ待っててくれるんだよね、確か コメントくれてアリガト
30 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 00:28:41 ] >>27 for /f つかえ >>20 前スレみれ
31 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 00:41:47 ] >>30 なんかややこしい感じですが、set、for /fと参照変数の置換、echoなんかを駆使すれば テキスト書き換えも自動で出来そうですね うーん、ちょっと頭ひねってみます
32 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 03:17:19 ] >>20 @FOR /F "tokens=1-4" %%1 IN ("%CMDCMDLINE:"=' %") DO @IF "%%1%%2%%3%%4"=="cmd/c''" PAUSE
33 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 03:41:12 ] コンソールウィンドウをバッチファイルから最小化したり、 戻したり、調べたりはどうするのでしょうか
34 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 03:46:27 ] 出来ません
35 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 05:24:03 ] できますん
36 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 06:41:01 ] 凝ったことするならWSHで書けば。。。
37 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 16:15:29 ] でもソレをやるともはやバッチスクリプトとは認められない俺 勿論標準で付いてくるコマンドなのは他のコマンドと同じであって それらは個人的にOKだが…う〜ん
38 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 16:37:10 ] >>35 >>36 kwsk
39 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 17:01:15 ] そういうことをするプログラムをバッチから呼ぶだけ 何々さん、これやって 自分でできないことは人に頼む
40 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 17:24:44 ] フォルダ名をファイルにつけたいのですが、どんなコマンドがありますでしょうか。。
41 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 17:37:23 ] >>40 for/?
42 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 17:50:50 ] >>39 >そういうことをするプログラム 具体的にその名前と呼び出し方をkwsk
43 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 19:04:24 ] SW_MINIMIZE
44 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 19:12:31 ] ren ファイル名 フォルダ名
45 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 19:16:45 ] 掲示板に書かれてるURLをクリックしたり、画像をみようとして 画像掲示板のサムネイル表示になっているところをクリックすると いつもなら新しいウインドウで開かれるんですが、それができずひとつしか 開けません。新しいウインドウで開くを選択しても同じです。 しかもウインドウが一つしかないうえに、「戻る」で戻れません。 どうしたらいいでしょうか??もしよければ教えてください
46 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 21:22:38 ] 'SW_MINIMIZE' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
47 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 21:30:27 ] kwskを連発してるのは、>>33 か? 標準コマンド使ってバッチファイルのみでは無理だよ。 VBS等を使って、WSH、MS-Word、WMI等のオブジェクトを 呼び出す方法があるけど、詳しくは自分でスレ探して聞いてくれ。
48 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 21:36:52 ] でも Windows板:ユーザー必読!コマンドライン(DOS Pt.6) というスレは、ここの基地害イチオシのとこなので行く気にならないよね。
49 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 00:45:50 ] 何が「でも」なのか、さっぱりわからん。 >>47 に対してのレスじゃないよな?
50 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 01:39:09 ] >>43 cmd.exeってウィンドウハンドル持ってたっけ?
51 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 02:10:38 ] コンソールウィンドウにハンドルなかったっけ?
52 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 12:20:02 ] >>33 つpowershell.exeのone liner
53 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 15:18:47 ] コンソールウィンドウにハンドルはあるぜ 極普通のウィンドウだ
54 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 00:27:56 ] フォルダ名を取得するには、、どうすればいいんでしょうか><
55 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 00:53:24 ] 何のフォルダ名?
56 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 00:56:14 ] dir/?
57 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 11:15:44 ] >54 例えば以下のバッチファイルを作り、その本体またはショートカットをWindowsのSendToフォルダに入れて、 任意のフォルダを何個でもいいから選択した状態で右クリック→[送る]→そのバッチファイルを指定する。 ※Win95/98/NTでは、8.3形式でしかフォルダ名を取り込めない。 ※WinNT/2000/XPでは、指定したフォルダ名に空白等の記号が含まれてると失敗する。 ↓ IF "%1"=="" ECHO (ファイル/フォルダは未指定) :LOOP IF "%1"=="" GOTO ENDLOOP ECHO "%1" SHIFT /1 GOTO LOOP :ENDLOOP ECHO 何かキーを押すと終わり。 PAUSE > NUL
58 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 11:27:11 ] ふむ
59 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 11:38:29 ] 頭わるそう
60 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 12:14:25 ] フォルダと言ってるのに無視ですか?
61 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 14:04:55 ] dir/?
62 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 14:05:39 ] それディレクトリ
63 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 14:47:01 ] ファイル フォルダだよ
64 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 14:57:20 ] >※WinNT/2000/XPでは、指定したフォルダ名に空白等の記号が含まれてると失敗する。 "%~1" つかえよ >ECHO 何かキーを押すと終わり。 set /p =何かキーを押すと終わり。 つかえよ
65 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 15:07:14 ] 馬鹿に何言っても無駄
66 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 15:18:24 ] 深読みして擁護しようとしたけど無理だった
67 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 15:23:29 ] >>64 まぁ、9x系OSを切り捨てるなら確かにそれでもいい。
68 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 16:36:45 ] for %%a in (%*) do echo %%a
69 名前:デフォルトの名無しさん mailto:sage [2007/12/21(金) 16:53:52 ] >>32 IF "%CMDCMDLINE:~0,9%"=="cmd /c """ PAUSE
70 名前:デフォルトの名無しさん [2007/12/25(火) 19:10:44 ] \aaaa\bbbb\ ↓ \aaaa\bbbb のような最後の\だけ取ることってどうやれば出来ますか?
71 名前:デフォルトの名無しさん mailto:sage [2007/12/25(火) 21:23:48 ] こっちで聞いて↓ Windows板:ユーザー必読!コマンドライン(DOS Pt.6) pc11.2ch.net/test/read.cgi/win/1176558776/
72 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 01:37:59 ] >>71 馬鹿乙
73 名前:デフォルトの名無しさん [2007/12/28(金) 04:40:30 ] ECHO public class A{public static void main(String[] a){System.out.println(a[0].substring(0,a[0].lastIndexOf("\\")));}} > A.java javac A.java java A \aaaa\bbbb\
74 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 06:40:13 ] ちょ、一行野郎どころか、それまでアリ?w
75 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 09:13:30 ] @echo off setlocal set dir=\aaaa\bbbb\ for /F "tokens=* usebackq" %%a in (`echo %dir%^|mshta.exe "javascript:with(new ActiveXObject('Scripting.FileSystemObject'))GetStandardStream(1).WriteLine(GetStandardStream(0).ReadLine().replace(/\\+$/,''));close()"`) do set dir=%%a echo %dir%
76 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 12:22:25 ] set FLD=\aaaa\bbbb\ if "%FLD:~-1%"=="\" set FLD=%FLD:~0,-1% echo %FLD%
77 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 14:38:12 ] ブラクラ注意
78 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 18:31:20 ] ブラチラ注意
79 名前:デフォルトの名無しさん mailto:sage [2007/12/28(金) 21:29:00 ] >>73 ファイル残すな
80 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 13:55:26 ] あるディレクトリに格納されているファイルをランダムに取り出すために、 %randam%をファイル名の先頭につけてテキストファイルに出力して それをsortしてから取り出してます。 もっといいアイデアないかな?
81 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 15:32:17 ] skip=%randam%
82 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 15:55:04 ] すみません、ちょっと説明が足りませんでした そのディレクトリにある全てのファイル一覧をランダムに並び替えたいのです なので、skip=%random%だとランダムに1つのファイルを取り出すのには好都合でしたが ファイル一覧を並び替えるというのだと難しそうです バッチファイルは思ってたよりいろいろなことが出来るのにいまさら驚き。
83 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 16:39:15 ] >%randam%をファイル名の先頭につけてテキストファイルに出力して パイプ
84 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 19:54:55 ] プログラミングというレベルの話じゃないから こっちへ↓ Windows板:ユーザー必読!コマンドライン(DOS Pt.6) pc11.2ch.net/test/read.cgi/win/1176558776/
85 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 20:04:15 ] >>84 は誘導先でも基地害認定されてるぞw
86 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 22:35:58 ] そうでもないか
87 名前:デフォルトの名無しさん mailto:sage [2007/12/31(月) 22:57:39 ] アスペルガー
88 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 16:22:18 ] >>75 ウィンドウが一瞬出たり、 アクティブウィンドウが切り替わるのなんとかならん?
89 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 17:11:45 ] 直にWSH使え
90 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 17:16:06 ] @if (0)==(0) echo off setlocal set dir=\aaaa\bbbb\ for /F "tokens=* usebackq" %%a in (`cscript.exe //nologo //e:jscript %~f0 "%dir%"`) do set dir=%%a echo %dir% exit /b @end WScript.Echo(WScript.Arguments(0).replace(/\\+$/,''));
91 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 17:29:58 ] ひとつのバッチファイルに複数のJScriptを組み込むには?
92 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 17:49:45 ] 組み込んでるのは1つだけど @if (0)==(0) echo off setlocal cscript.exe //nologo //e:jscript %~f0 foo cscript.exe //nologo //e:jscript %~f0 bar exit /b @end switch (WScript.Arguments(0).toLowerCase()) { case "foo": foo(); break; case "bar": bar(); break; default: WScript.StdErr.WriteLine("error"); } function foo() { WScript.Echo("This is foo."); } function bar() { WScript.Echo("This is bar."); }
93 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 19:45:25 ] Set objWMIService = GetObject("winmgmts:") Set objLogicalDisk = objWMIService.Get("Win32_LogicalDisk.DeviceID='c:'") FreeMegaBytes = objLogicalDisk.FreeSpace / 1048576 Wscript.Echo FreeMegaBytes
94 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 19:45:54 ] Set objWMIService = GetObject("winmgmts:") Set objLogicalDisk = objWMIService.Get("Win32_LogicalDisk.DeviceID='c:'") FreeMegaBytes = objLogicalDisk.FreeSpace / 1048576 Wscript.Echo Int(FreeMegaBytes)
95 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 19:46:36 ] Const CONVERSION_FACTOR = 1048576 Set objWMIService = GetObject("winmgmts:") Set objLogicalDisk = objWMIService.Get("Win32_LogicalDisk.DeviceID='c:'") FreeMegaBytes = objLogicalDisk.FreeSpace / CONVERSION_FACTOR Wscript.Echo Int(FreeMegaBytes)
96 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 19:47:23 ] Const CONVERSION_FACTOR = 1048576 Computer = "atl-dc-01" Set objWMIService = GetObject("winmgmts://" & Computer) Set objLogicalDisk = objWMIService.Get("Win32_LogicalDisk.DeviceID='c:'") FreeMegaBytes = objLogicalDisk.FreeSpace / CONVERSION_FACTOR Wscript.Echo Int(FreeMegaBytes)
97 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 19:53:36 ] Const CONVERSION_FACTOR = 1048576 Computer = "atl-dc-01" Set objWMIService = GetObject("winmgmts://" & Computer) Set objLogicalDisk = objWMIService.Get("Win32_LogicalDisk.DeviceID='c:'") FreeMegaBytes = objLogicalDisk.FreeSpace / CONVERSION_FACTOR Wscript.Echo "There are " & Int(FreeMegaBytes) & _ " megabytes of free disk space."
98 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 19:54:20 ] For Each objLogicalDisk In colLogicalDisk Wscript.Echo objLogicalDisk.DeviceID Next
99 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 19:54:56 ] Set objWMIService = GetObject("winmgmts:") Set colTapeDrives = objWMIService.InstancesOf("Win32_TapeDrive") For Each objTapeDrive In colTapeDrives Wscript.Echo objTapeDrive.Name Next
100 名前:デフォルトの名無しさん mailto:sage [2008/01/01(火) 19:55:28 ] Set objWMIService = GetObject("winmgmts:") Set colTapeDrives = objWMIService.InstancesOf("Win32_TapeDrive") Wscript.Echo colTapeDrives.Count