07/12/08 21:42:41
cmd.exeのforって意外と機能があるよね
827:デフォルトの名無しさん
07/12/08 21:43:46
>>823
既存のbatに修正を加えたかったので、できたらbatで実現したかったため無理やりやってしまいました
(WSHをまったく知らないっていうこともあります・・・
>>824
加算してイコールという判定もありましたね
batで+=使えることも知りませんでした
828:デフォルトの名無しさん
07/12/08 21:44:50
>>826
すんげーややこしいので、いつもWSH使っちゃうよ。
829:デフォルトの名無しさん
07/12/08 21:49:16
>>828
そのややこしいのをリファレンス見ないで書ける人は凄いと思う
830:デフォルトの名無しさん
07/12/08 22:59:33
凄いとは思うが、あの覚えにくい物をマスターするなら、
他のスクリプト言語を学んだ方がマシという結論に達した・・・・・
831:デフォルトの名無しさん
07/12/09 02:01:19
>>823
知らないんなら出しゃばるなよ。うざい。
832:デフォルトの名無しさん
07/12/09 12:18:37
正義の戦いで東京10万、広島で8万、長崎で5万人も一晩でころしたってすごいね。
833:デフォルトの名無しさん
07/12/09 12:59:15
ややこしかったら既存のサブルーチン使えばいいだけ
まともなプログラム言語ならライブラリやサンプルプログラムがいくらでも見つかるはず
探しても見つからないようなら、そこまでしてバッチ使ってる人がいないということだな
834:デフォルトの名無しさん
07/12/09 13:20:49
>>817
AドライブにFDがセットされてるかどうか知りたい場合、例えば以下のVBScriptファイル"testRDY.vbs"を作っておき、
バッチファイル内で
CSCRIPT //NOLOGO testRDY.vbs A: | find /i "準備=True" > NUL
IF NOT ERRORLEVEL 1 ECHO 準備OKです。
の2行を実行してみるってのはどう?
'---------+---------+---------+---------+---------+ VBScript始端
Option Explicit
Dim A,D,F,A0,S,strTYP,strRDY
Set A = WScript.Arguments : Set F = CreateObject("Scripting.FileSystemObject")
S = "ERROR" : A0 = "" : If A.Count > 0 Then A0 = A(0)
If Len(A0) > 0 Then
Set D = F.GetDrive(A0)
strTYP = D.DriveType : strRDY = D.IsReady
If strTYP="1" Or strTYP="4" Then
S = "Drive準備=" & strRDY
Else
S = "(このドライブはリムーバブルメディア/CD/DVDじゃないが)Drive準備=" & strRDY
End If
End If
WScript.Echo(S)
Set D = Nothing : Set F = Nothing : Set A = Nothing
'---------+---------+---------+---------+---------+ VBScript終端
835:デフォルトの名無しさん
07/12/09 13:24:54
つかFDDなんてケーブル引っこ抜いてBIOSでオフにして置けよ。
21世紀にもなってFDなんて化石テクノロジーに頼るなよ。
836:デフォルトの名無しさん
07/12/09 13:56:28
ちなみに>834の方法では、FD/MO/スマードメディア/USBメモリ等は区別されず「リムーバブルメディア」と
して扱われるし、CD-ROM/CD-R/DVD-ROM/DVD-R等も区別されず一くくりにして扱われる。
それにWSHが入っていればWin95~XPまで幅広く使えるよう配慮したつもり。