1 名前:デフォルトの名無しさん [2006/05/25(木) 00:45:55 ] 前スレ バッチファイルプログラミング 2.bat pc8.2ch.net/test/read.cgi/tech/1104911889/ 関連スレ 初心者〜管理者まで必読!コマンドライン(DOS Pt.4) pc8.2ch.net/test/read.cgi/win/1116131036/ MS-DOS・Win3.1総合スレッド pc8.2ch.net/test/read.cgi/win/1025462258/ WSH(・∀・)スレッド! pc8.2ch.net/test/read.cgi/tech/1055075469/ バッチファイルプログラミングとは・・・・ ・ファイル拡張子が ".bat" ・複数のコマンドを使い、実行させるバッチファイルを作る を満たせばOK!
567 名前:デフォルトの名無しさん [2007/03/04(日) 22:57:33 ] echo=… と書けば…が空白でもechoはoffですとは表示されないよ。
568 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 22:57:34 ] 道具を使い分けるのがプロ 日曜プログラマにはそれができない
569 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 23:01:16 ] Windows PowerShell徹底解説:ITpro UNIXシステム管理者にとって,Windowsスクリプティングは長い間笑いの種だった。 これにはいくつかの理由があったが,代表的なのは,Windowsにはスクリプティングを 本当の意味で役立つものにするための主要機能の多くが欠けていたことだ。 itpro.nikkeibp.co.jp/article/COLUMN/20061106/252598/ - 114k - キャッシュ - 関連ページ
570 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 23:04:24 ] >>567 あ、ほんとだ。 知らなかったよ、サンクス!
571 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 23:19:19 ] んじゃ、改訂版 @echo off setlocal enableextensions enabledelayedexpansion for /f "skip=2 tokens=1* delims=]" %%i in ('find /n /v "" x.txt') do ( set L%%i=%%j set LastX=%%i ) for /f "skip=2 tokens=1* delims=]" %%i in ('find /n /v "" y.txt') do ( set LastY=%%i echo=!L%%i! echo=%%j ) set /a LastY=%LastY:~1% + 1 for /l %%i in (%LastY%, 1, %LastX:~1%) do ( echo=!L[%%i! echo= )
572 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 14:56:57 ] WSH使えば簡単だっちゅうに @if(0)==(0) ECHO OFF CScript.exe //NoLogo //E:JScript "%~f0" %1 %2 GOTO :EOF @end var fso=new ActiveXObject('Scripting.FileSystemObject'); var f1=fso.OpenTextFile(WScript.Arguments.Item(0)); var f2=fso.OpenTextFile(WScript.Arguments.Item(1)); while(!f1.AtEndOfStream || !f2.AtEndOfStream){ if(f1.AtEndOfStream) WScript.Echo(); else WScript.Echo(f1.ReadLine()); if(f2.AtEndOfStream) WScript.Echo(); else WScript.Echo(f2.ReadLine()); }
573 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 15:15:27 ] >>559 7分後にはマルチかよ |1689.2ファイルから1行ずつ改行して読み込みたい XYZ 07/03/04(日) 22:11
574 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 15:54:51 ] >>572 すっごいなソレ! わけ分からん。wshか。未知の世界だわ。
575 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 17:54:40 ] >>572 をバッチに直すと、 と思ったけどマルチじゃね、ヤメタ。
576 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 18:39:39 ] プログラムを呼ぶだけのものをプログラミングとは言わない GOTO :EOF 以降はバッチは無視するわけだし スレ違い
577 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 18:41:03 ] たしかwin板にwshも使用可のスレがあったと思うよ
578 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 18:41:55 ] 確かコマンドラインとかいうスレ
579 名前:デフォルトの名無しさん [2007/03/05(月) 19:22:35 ] スレ違いと言っている人はかわいそうな病人。
580 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 19:29:57 ] >>574 BATの奇妙奇天烈奇々怪々の構文が理解できるのなら WSH(JScript)の理路整然とした構文なんてすぐマスターできるよ。
581 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 19:33:51 ] >>580 機械言語の構文は理論整然としてるんだぉ(^ω^ 理解に苦しむだけなんだぉ(^ω^
582 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 19:37:18 ] 出前頼んだのは料理とは言わない 自分で料理しないで料理したふりは良くない
583 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 19:41:00 ] だれも料理が出てくることを期待していないんだぉ(^ω^ 美味しい料理が食べれればいいんだぉ(^ω^ これがビジネスルールなんだぉ(;^ω^
584 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 19:45:45 ] 癒し散布 . 。 . * ・゚ .。 . *・ 。 . *・゚ * 。 * ;* ,* ゚ *゚. * * (´ー`)ノポポポポポ・・・・
585 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 19:46:39 ] ここは作る人の板だから
586 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 19:47:58 ] インチキや手抜きはだめだよ
587 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 19:50:02 ] スレ違いと言うしか脳の無い人の板じゃありませんから
588 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 20:04:23 ] >>571-572 標準的なコマンドだけ使おうとすると find使ったりと面倒なものですね。 一見したところ何やってるのかわからないしw JScriptを埋め込んだバッチの方が分かりやすい。
589 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 20:19:22 ] ren * スレ違いの病人と戯れるスレ
590 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 20:25:00 ] rem 病人って言ってるけど実際に発達障害の一種だと思う
591 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 20:26:23 ] Cみたいな標準があるわけでもないのに何でこんなにひねくれてるんだ?
592 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 20:39:18 ] >>588 >>一見したところ何やってるのかわからないしw そこが魅力なのw バッチファイルプログラミングでの優先順位は 美しさ(オナニー)>>実行効率>>わかりやすさ
593 名前:俺もなー mailto:sage [2007/03/05(月) 20:41:16 ] スルーできない奴がいるからだろ。
594 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 21:25:54 ] JScriptはスレ違い
595 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 21:28:45 ] >>594 スレ違い君、こんばんは
596 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 21:31:21 ] >>589 スレ違いって言うよりは、○チガイ。 あ、最近は総合失調症とかって言うんだっけ?
597 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 21:37:55 ] @rem 高機能自閉症っぽいような
598 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 22:36:17 ] 過去100レスしか見てない俺がこのスレにふさわしいバッチを作ってみたよ @echo off setlocal enabledelayedexpansion set /a num1=10*%RANDOM%/32767 :set_num2 set /a num2=10*%RANDOM%/32767 if %num1%==%num2% goto set_num2 set str0=誘導厨 set str1=ググれカス set str2=WSH set str3=JSCRIPT set str4=スルー set str5=スレ違い set str6=病人 set str7=発達障害 set str8=総合失調症 set str9=高機能自閉症 echo 【!str%num1%!】バッチファイルプログラミング 4.bat【!str%num2%!】
599 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 22:58:19 ] すばらしいwww
600 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 23:09:18 ] >>598 %RANDOM%の使い方に注意しよう
601 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 23:15:08 ] そうか、低い確率だけど32767で割るとnum1,num2が10になる可能性があるな thanks >>600
602 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 23:18:04 ] 総合失調症でなくて統合失調症ですよん
603 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 23:20:14 ] レベル低いな 素人集団か
604 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 23:20:51 ] >>601 あと2点あるよ
605 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 23:24:57 ] 初心者は素直にwin板行きなよ
606 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 23:26:37 ] >>603 そうやって上から見下ろしてるのがきもちいいんでしょ?でしょ? いいよね〜いいよね〜〜〜
607 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 23:26:57 ] >>605 スレ違い君はまだ起きてたの?
608 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 23:57:37 ] sleep 2147483647
609 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 00:00:40 ] INT609
610 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 18:57:22 ] オレなんてすごい素人だけど、スレ違いとか病人だとか言って人減らし してるヤツはどうかと思うよ。 多少のスレ違いまでもネタにして、ざっくばらんにいこうよ。 ちょっとはニュー即を見習ってもらいたいものだ。
611 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 19:48:14 ] ここはニュー足じゃないよ 郷に入っては郷に従え
612 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 20:02:36 ] 当人たちはネタのつもりでやってるんだろうけど ちっとも面白くないのが問題。 ちょっとは乳ーそくを見習ってもらいたいものだ。
613 名前:デフォルトの名無しさん mailto:sage [2007/03/07(水) 20:08:09 ] >610 3行目は同意だが4行目は遠慮させてくだちぃ
614 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 20:05:32 ] >>598 for /f "tokens=1-10" %%0 in ("誘導厨 ググれカス WSH JSCRIPT スルー スレ違い 病人 発達障害 総合失調症 高機能自閉症" ) do echo 【%%%num1%】バッチファイルプログラミング 4.bat【%%%num1%】
615 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 20:12:35 ] >>614 訂正。2つ目はnum2
616 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 20:15:53 ] なんで改悪するの?
617 名前:デフォルトの名無しさん mailto:sage [2007/03/08(木) 21:05:43 ] (echo e 100 B9 00 10 BA 10 01 B4 09 CD 21 E2 F7 B4 4C CD 21 echo e 110 C6 AD B0 91 AC 82 F0 8C A9 8F 4B 82 C1 82 BD C8 echo e 120 C0 CF C0 DE 2D 3F 28 A5 81 CD A5 20 29 82 C1 2F echo e 130 99 81 81 DC 81 99 C1 DD C1 DD 20 24 echo g=100) | debug
618 名前:デフォルトの名無しさん [2007/03/12(月) 21:24:53 ] 以前、バッチでの小数点の計算について質問させて頂いた者です。 5÷2を計算した場合に、2.5と値を出したいと質問し、 以下を教えて頂きました。 @echo off set x=5 set y=2 set /a num=10*x/y set num=%num:~0,-1%.%num:~-1% echo %num% WindowsXP・2000では上記で正常に"2.5"と表示されるのですが、 WindowsNT4.0では、"20."と表示されます。 恐らく、5/2=2 2*10=20のように計算されているのだと思います。 WindowsNT4.0環境で、計算結果に小数点を含ませる方法はあるでしょうか。 ご教授お願いいたします。
619 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 22:00:35 ] 答えを教えてもらわないとできないんだったら 市販ソフトでも使っとけ
620 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 22:14:13 ] 写経でもやるつもりなんだろうか
621 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 22:40:02 ] 南無阿弥陀仏
622 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 07:18:42 ] >>618 > set /a num=10*x/y > 恐らく、5/2=2 2*10=20のように計算されているのだと思います。 そう思ったら何故2行に分けない。
623 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 11:04:17 ] >>618 算数の問題のような気がするが・・・ 小数点以下とバラして計算してしまえば良いだけでは。つまり、5/2 の結果をまず 一つの変数に入れる。これが 2 になる。次に (5*10/2)%10 を計算する。これが 小数点以下1桁目の値(5)になる。あとは表示するだけ。
624 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 11:39:53 ] 質問です。 DOSのdelコマンドにはファイルをサブフォルダも辿って再帰的 に削除するオプションはないのでしょうか? あるいは、他のやり方で同様のことを実現する方法はあります でしょうか。 どなたか知ってる方いらっしゃいましたらご教授お願いします。
625 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 11:45:24 ] 0点
626 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 11:49:36 ] 古いDOSならdeltreeとかなかったっけ 今のコマンドプロンプトなら del /?
627 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 12:18:11 ] ここはプログラムを作る人の板です。 パソコンの使い方の質問はご遠慮下さい
628 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 12:25:15 ] PC初心者 pc9.2ch.net/pcqa/
629 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 14:07:39 ] スレ違い君はまだいたのか
630 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 14:08:35 ] スレ違い君って627-628のことね
631 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 14:31:41 ] それはまちがい
632 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 14:34:34 ] 病気を治せばまちがいでないことがわかるよ
633 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 14:35:52 ] 病気を治せばまちがいであることに気付くよ
634 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 14:38:22 ] DOSのdelコマンドのオプションを質問するやつ
635 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 14:40:00 ] 次にエクスプローラの使い方の質問がきてもおかしくないな
636 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 14:41:23 ] ダブルクリックがうまくできませんという相談がきてもおかしくないな
637 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 14:44:00 ] >>635-636 スレ違い君(594,605,627-628など)以上におかしいのは滅多に無いと思うから安心して 病院に行きなさい
638 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 15:48:19 ] おかしい人は、世間一般から見た「おかしい人」を正確に判断できません。637とかね。
639 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 15:52:47 ] 検索ワードを入力してGoogleに検索させて その結果を一覧表示するコードはどう書けばいいでしょうか。
640 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 16:10:31 ] そういう場合perlとか使うんじゃないか?
641 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 17:40:54 ] >>639 pc11.2ch.net/test/read.cgi/win/1152544955/573 でURLを指定すれば
642 名前:デフォルトの名無しさん [2007/03/13(火) 18:29:45 ] @echo off setlocal enabledelayedexpansion set n=0 for /f "skip=14 usebackq" %%i in ("%~f0") do call :set_str "%~f0" %%i set /a num1=%RANDOM%%%%n% :set_num2 set /a num2=%RANDOM%%%%n% if %num1%==%num2% goto set_num2 echo 【!str[%num1%]!】バッチファイルプログラミング 4.bat【!str[%num2%]!】 goto :eof :set_str set str[%n%]=%2 set /a n+=1 goto :eof 誘導厨 ググれカス WSH JSCRIPT スルー スレ違い君 病人 発達障害 統合失調症 高機能自閉症
643 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 19:02:32 ] 無駄が多いなぁ
644 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 19:18:02 ] スレ違い君はコテ付けてくれよ
645 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 19:22:55 ] スレ違いを理解できないお馬鹿君はコテ付けてくれよ
646 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 19:57:24 ] >>645 スレ違い君、こんばんは。
647 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 19:59:21 ] なんでそんなに簡単に踊るの?
648 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 01:37:51 ] call :select 誘導厨 ググれカス WSH JSCRIPT スルー スレ違い 病人 発達障害 統合失調症 高機能自閉症 goto :eof :select call echo 【%%%num1%】バッチファイルプログラミング 4.bat【%%%num2%】
649 名前:デフォルトの名無しさん [2007/03/14(水) 18:10:39 ] 質問です。 もしかしてスレ違いです。 でもここはいい人ばかりなので、快く教えてくれると思います。 echo %date:/=% とすると今日のYYYYMMDDを表示できますが、YYYYMMの部分だけ表示したいのです。 どうすれば良いでしょうか? echo %date:/=% | cut -c1-6 とかできれば良いのですがSFUは入ってません。 すいませんが教えてください。
650 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 18:17:51 ] echo %DATE:~,4%%DATE:~5,2% set hoge=%DATE:/=% echo %hoge:~,6% なんで置換知っていて切り出し知らないかなぁ?
651 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 18:26:27 ] >>650 ありがとうございます。 部分的にしか知らないからそんな使い方があるとは思いませんでした。 (*゚∀゚)=3 MS-DOSスゲー
652 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 18:31:28 ] MS-DOSでなくてWindows(NT系)のCMD.EXEの機能だよん
653 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 18:45:09 ] こういうのが絡むときの一括処理はパールで作るしかないって思ってたけど、 バッチでも十分っぽいな…
654 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 18:50:35 ] 馬鹿のやること
655 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 19:03:28 ] 可読性を考えるとPerlやJScriptのほうが良いことも多いだろうが
656 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 19:14:07 ] 箸じゃなくても歯ブラシでも食べれることに気がついた
657 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 19:28:35 ] しかしナイフとフォークでは食べられない656であった
658 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 20:39:30 ] m9(・∀・)悪口書き込みたいが為だけにスタンバってるだろ!
659 名前:デフォルトの名無しさん mailto:sage [2007/03/14(水) 20:42:39 ] 自己紹介?
660 名前:俺もなー mailto:sage [2007/03/14(水) 22:01:50 ] >>655 でも、余分なインストールが不要と言うメリットは捨てがたい時もあるしな。
661 名前:俺もなー mailto:sage [2007/03/14(水) 22:03:15 ] あっ、JScript / VBScript なら、インストールは不要か...。
662 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 01:41:17 ] >>641 URLのときは、 @if(0)==(0) ECHO OFF CScript.exe //NoLogo //E:JScript "%~f0" %1 GOTO :EOF @end var htmlfile=WScript.GetObject(WScript.Arguments.Item(0)); while(htmlfile.readyState!='complete') WScript.Sleep(100); WScript.Echo(htmlfile.body.innerText);
663 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 09:11:02 ] >>662 すごいなマジで cmd.exeってかなりできる子だったんだな
664 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 09:27:42 ] いやcmd.exeじゃなくてcscript.exeだろ まあ.batファイルに記述してるなら cscript.exeを使うのはこのスレ的には問題ないけどね
665 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 10:51:17 ] batlでhttp get するプログラム @rem = '--*-Perl-*-- @echo off if "%OS%" == "Windows_NT" goto WinNT perl -x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9 goto endofperl :WinNT perl -x -S %0 %* if NOT "%COMSPEC%" == "%SystemRoot%\system32\cmd.exe" goto endofperl if %errorlevel% == 9009 echo You do not have Perl in your PATH. if errorlevel 1 goto script_failed_so_exit_with_non_zero_val 2>nul goto endofperl @rem '; #!/usr/bin/perl -w #line 15 # $Id: lwp-request,v 2.1 2002/01/03 02:07:02 gisle Exp $ # # Simple user agent using LWP library.
666 名前:続き mailto:sage [2007/03/15(木) 10:52:48 ] =head1 NAME lwp-request, GET, HEAD, POST - Simple WWW user agent =head1 SYNOPSIS lwp-request [-aeEdvhx] [-m method] [-b <base URL>] [-t <timeout>] [-i <if-modified-since>] [-c <content-type>] [-C <credentials>] [-p <proxy-url>] [-o <format>] <url>... =head1 DESCRIPTION This program can be used to send requests to WWW servers and your local file system. The request content for POST and PUT methods is read from stdin. The content of the response is printed on stdout. Error messages are printed on stderr. The program returns a status value indicating the number of URLs that failed.
667 名前:つづく mailto:sage [2007/03/15(木) 10:53:50 ] The options are: =over 4 =item -m <method> Set which method to use for the request. If this option is not used, then the method is derived from the name of the program. =item -f Force request through, even if the program believes that the method is illegal. The server might reject the request eventually. =item -b <uri> This URI will be used as the base URI for resolving all relative URIs given as argument. =item -t <timeout> Set the timeout value for the requests. The timeout is the amount of time that the program will wait for a response from the remote server before it fails. The default unit for the timeout value is seconds. You might append "m" or "h" to the timeout value to make it minutes or hours, respectively. The default timeout is '3m', i.e. 3 minutes.