1 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 21:33:11 ] 拡張子が .cmd または .bat のバッチファイルの スクリプティング(プログラミング)にかかわる 質問,テクニック(JScript,Perl等の埋め込みなど含む), 関連情報のためのスレです。 【関連スレ】 バッチファイルプログラミング 3.bat pc11.2ch.net/test/read.cgi/tech/1148485555/ WSH(・∀・)スレッド! Part 2 pc11.2ch.net/test/read.cgi/tech/1176698934/ Windows PowerShell (正式版リリース)1.0 pc11.2ch.net/test/read.cgi/tech/1163818863/ HTAをもっと流行らせる計画 pc11.2ch.net/test/read.cgi/tech/1124559962/ ユーザー必読!コマンドライン(DOS Pt.6) pc11.2ch.net/test/read.cgi/win/1176558776/ MS-DOS・Win3.1総合スレッド pc11.2ch.net/test/read.cgi/win/1025462258/ ※なんでも無理矢理バッチでやろうとせずWSH等の使用も 検討しましょう。
806 名前:デフォルトの名無しさん mailto:sage [2007/12/03(月) 23:12:24 ] help dir
807 名前:デフォルトの名無しさん mailto:sage [2007/12/03(月) 23:25:03 ] 吉外登場w
808 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 19:07:33 ] >>805 >>798 とか、UNIX板/Linux板でならそう言えるな。 それが基本的な使い方だし。(そのLinux板でも基本GUIの比率上がってきてるけどな) だがWinやMacではもはやコマンドライン自体 基本的な使い方から外れた機能だ。 >>806 dir 単品で出来るオプションあったっけ? 手元の Win2k だと見当たらなかった。
809 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 19:09:57 ] ディレクトリ自身の情報というのがそもそもよくわからない
810 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 19:31:01 ] dir hoge.* /ad
811 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 19:33:59 ] 基本的な使い方かどうか以前にプログラミングの話じゃないから板違い 続きはこっちでやればいいよ↓ ユーザー必読!コマンドライン(DOS Pt.6) pc11.2ch.net/test/read.cgi/win/1176558776/
812 名前:デフォルトの名無しさん [2007/12/04(火) 19:36:28 ] DIR unko.txt とすると 2007/11/20 19:14 29 unko.txt 1 個のファイル 29 バイト みたいに表示される。 ところが、ディレクトリだと DIR manco とやっても 2007/11/20 19:13 <DIR> manco とは出ない。(ディレクトリの中身が表示されてしまう) インチキでよければこういう方法ならある。 FOR %%I IN (manco) DO ECHO %%~tI %%I もしくは CALL :mydir manco GOTO :EOF :mydir ECHO %~t1 %1 EXIT /B
813 名前:デフォルトの名無しさん [2007/12/04(火) 19:38:15 ] >>810 その方法だと、hoge.bak みたいなディレクトリまで表示されてしまう。
814 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 20:28:50 ] >>734 vbscriptではできない?
815 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 22:05:56 ] 既知害の誘導は狼少年のようなものですね
816 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 15:42:29 ] どういうこと? 煽りとかでなく素で意味が解らない。
817 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 16:03:05 ] XPのExplorerで、FDを挿入せずにアクセスすると待機状態(挿入したら開く状態)になるんだけど あれって出来ないかな? 「FD挿入したら何かキーを押して…」 の部分を 「挿入待ち」とかに出来たら簡素で良いんだけども
818 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 16:45:11 ] できない
819 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 19:58:07 ] >>816 このスレで絶えず他のスレに誘導しようとする奴の おかしさが分かれば意味が分かるはずなのだが。 狼少年 ja.wikipedia.org/wiki/%E5%98%98%E3%82%92%E3%81%A4%E3%81%8F%E5%AD%90%E4%BE%9B
820 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 20:34:40 ] >>817 dll書き換え
821 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 20:59:05 ] ドライブにメディア挿入を検知する機能が無いんだから無理だろ CDなら何とかなるけど…
822 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 21:24:05 ] set /p A="数値入力してください" set /p B="数値を入力してください" for %%C in (????)do echo %%C このときA〜Bの数値を出力をするにはどのようにしたらいいのでしょうか? Aに18 Bに21 が入力されると 18 19 20 21 と出力されるようにしたいと思っています
823 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 21:30:32 ] ※なんでも無理矢理バッチでやろうとせずWSH等の使用も 検討しましょう。
824 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 21:36:11 ] 出力させるだけなら @echo off setlocal set /p A="数値入力してください" set /p B="数値を入力してください" :loop echo %A% if "%A%"=="%B%" goto :eof set /a A+=1 goto loop
825 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 21:40:04 ] 自己解決しました for /L %%C in (%A%,1,%B%)do echo %%C このようにすることでできました
826 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 21:42:41 ] cmd.exeのforって意外と機能があるよね
827 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 21:43:46 ] >>823 既存のbatに修正を加えたかったので、できたらbatで実現したかったため無理やりやってしまいました (WSHをまったく知らないっていうこともあります・・・ >>824 加算してイコールという判定もありましたね batで+=使えることも知りませんでした
828 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 21:44:50 ] >>826 すんげーややこしいので、いつもWSH使っちゃうよ。
829 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 21:49:16 ] >>828 そのややこしいのをリファレンス見ないで書ける人は凄いと思う
830 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 22:59:33 ] 凄いとは思うが、あの覚えにくい物をマスターするなら、 他のスクリプト言語を学んだ方がマシという結論に達した・・・・・
831 名前:デフォルトの名無しさん [2007/12/09(日) 02:01:19 ] >>823 知らないんなら出しゃばるなよ。うざい。
832 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 12:18:37 ] 正義の戦いで東京10万、広島で8万、長崎で5万人も一晩でころしたってすごいね。
833 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 12:59:15 ] ややこしかったら既存のサブルーチン使えばいいだけ まともなプログラム言語ならライブラリやサンプルプログラムがいくらでも見つかるはず 探しても見つからないようなら、そこまでしてバッチ使ってる人がいないということだな
834 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 13:24:54 ] つかFDDなんてケーブル引っこ抜いてBIOSでオフにして置けよ。 21世紀にもなってFDなんて化石テクノロジーに頼るなよ。
836 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 13:56:28 ] ちなみに>834の方法では、FD/MO/スマードメディア/USBメモリ等は区別されず「リムーバブルメディア」と して扱われるし、CD-ROM/CD-R/DVD-ROM/DVD-R等も区別されず一くくりにして扱われる。 それにWSHが入っていればWin95〜XPまで幅広く使えるよう配慮したつもり。