07/02/07 23:13:46
1.サーバーある場所以下のフォルダ内のbmp拡張子を全部D:にもってきたいんですが
どうすればいいでしょうか?
2.bmpをtool.exeを通すとtest.bmpとして吐き出されるexeがあります。
1で落としてきたファイルをこのツールを通してもとのファイル名に書き換えたいです。
どなたかバッチに詳しい人アドバイス宜しくお願いします
382:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/02/08 01:55:32
>>377
行数をなんらかの形で知ることができるケースなら、それでいけますね。
・・・自分でもいろいろ試してみたけど、C言語で標準入力を読んで
そのまんま標準出力に吐いちゃうプログラムを用意すれば一発でできました。
が、やっぱりこーゆー自作の補助コマンドに頼らずに処理したい。
もうちょっと頑張ってみます。
>>378
前半→ごもっともです。
後半→特定の目的の為ではなく、手段として押さえておきたいんで。
384:デフォルトの名無しさん
07/02/08 09:02:48
>>381-382
質問してるやつも答えてるやつもレベル低いな
それぐらいの簡単なファイル操作さえまともにできないのか
385:デフォルトの名無しさん
07/02/08 09:10:57
釣りしてるやつも釣られてるやつもレベル低いな
もっと美味い餌にしてくれクマー
386:デフォルトの名無しさん
07/02/08 16:57:02
>>381
OSの基本操作はWindows板へ
初心者~管理者まで必読!コマンドライン(DOS Pt.5)
スレリンク(win板) バッチならなんでもOK
DOS由来コマンドだけでなく、Windows バージョンアップのたびに拡充されてきたコマンド、
wsh(cscript)、cygwin、Resource Kit、Support Tools、その他のフリーソフト等ふくめ
コマンドラインインタフェースに関するネタならなんでもOK。
387:デフォルトの名無しさん
07/02/08 21:22:20
>>386
ひねりがないな
もう秋田
388:デフォルトの名無しさん
07/02/08 21:51:42
ひねる頭がない
389:デフォルトの名無しさん
07/02/08 23:26:06
だってコピペポだもの
390:デフォルトの名無しさん
07/02/12 12:39:45
スレリンク(saku板:290-291番)
やっとレス削除されたね
391:デフォルトの名無しさん
07/02/12 13:19:44
でも「掲示板・スレッドの趣旨とは違う投稿」には該当しないんだな
392:デフォルトの名無しさん
07/02/12 20:32:23
すみません。どなたがご教授お願いします。
バッチファイルで計算をしたいと思ってます。
5÷2を計算した場合に、2.5と値を出したいのですが、
以下のように記述すると、小数点が切り捨てになってしまい困ってます。
set /a num=5/2
echo %num%
2
小数点を下1桁を表示するような方法がございましたら
ご教授お願い致します。
393:デフォルトの名無しさん
07/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%
394:375
07/02/12 21:07:09
>>376
ありがとうございます!
出来ました!
395:デフォルトの名無しさん
07/02/12 21:19:48
スレ違い
396:デフォルトの名無しさん
07/02/12 21:31:44
バッチで浮動小数点計算をやろうとするところに感銘
397:デフォルトの名無しさん
07/02/12 21:59:33
すみません。誰か教えてください。
数字をカンマで区切りたいです。
100と入力したら100
1000000と入力したら1,000,000です。
よろしくお願いします。
398:デフォルトの名無しさん
07/02/12 22:13:08
>>397
そういうことやりたければバッチ以外を使うことをお勧めします
バッチでそんなことやる人がいたら頭のおかしい人です
399:デフォルトの名無しさん
07/02/12 22:16:46
バッチでカンマ区切りをやろうとするところに感銘
頭がおかしいとかそういう問題ではないね
400:デフォルトの名無しさん
07/02/12 22:22:10
>>398
お前、このスレにずっと粘着して、スレ違いを連呼してるヤツだろ?
少なくともお前が頭がおかしいことは間違いないから
騙されたと思って一度、林先生に診てもらってこい。
401:デフォルトの名無しさん
07/02/12 22:28:46
>>399
むしろ、このスレの存在意義はそういう事をする為だと思っている俺
402:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/02/12 22:50:49
>>385
出来ました
ありがとうございます
404:デフォルトの名無しさん
07/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%
)
405:404
07/02/12 23:02:02
よく考えたら EnableDelayedExpansion 要らんかも
俺がバッチ書く時のクセが出た、すまんね
406:デフォルトの名無しさん
07/02/12 23:29:19
ここ以外でバッチのスレなかったっけ?
スレ検索したけど見つからない
407:デフォルトの名無しさん
07/02/12 23:32:40
>>406
Windows板のやつ?
408:デフォルトの名無しさん
07/02/12 23:32:58
バッチ専用スレはここだけのはず
409:デフォルトの名無しさん
07/02/12 23:42:52
>>404の最後の意味が解らん
410:デフォルトの名無しさん
07/02/12 23:51:52
>>406
たぶんWindows板
あっちがバッチの本スレ
411:デフォルトの名無しさん
07/02/12 23:53:23
本スレじゃないだろ、常識的に考えて
412:デフォルトの名無しさん
07/02/12 23:53:30
>>406
スレリンク(win板)
413:406
07/02/12 23:56:04
>407-412
それですどうも
414:デフォルトの名無しさん
07/02/12 23:56:49
自演かよ
415:375
07/02/12 23:59:06
すみません、>>397は自分ではありませんが、
↓のような指定の方法について解説されているサイトを
教えていただけないでしょうか。
ググったのですが、なかなかヒットしません。
キーワードだけでもお願い致します。
set num=%num:~0,-1%.%num:~-1%
set B=%A:~-3%,%B%
set A=%A:~0,-3%
416:デフォルトの名無しさん
07/02/13 00:01:52
>>415
set /?
の中に書いてあるよ(環境変数の置換)
417:375
07/02/13 00:16:48
>>416
ありがとうございます!
助かります
418:404
07/02/13 00:35:44
>>409
>404 は call 用。
call されたとき、呼び出し元に値を戻すためにああやって書いた。
419:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/02/13 17:54:56
for %%1 in (%PATH%) do echo %%1
421:デフォルトの名無しさん
07/02/13 18:40:33
初心者はWindows板へ池ということだな
422:デフォルトの名無しさん
07/02/13 18:42:11
嵐は相変わらず論理が破綻してるな
423:デフォルトの名無しさん
07/02/13 18:50:40
嵐が嫌なら向こうに移ればいいんじゃね?ここがスレ違いかどうかは別として、向こうでバッチ関連の話題を扱ってるのは
確かなんだから、移ったところで話題的には支障無いだろう。文句言いながら、いつまでもここに居座り続けてる奴を見ると、
執拗に誘導してる奴と、それに反応してる奴は同一人物なのではと思えてくる。少なくとも、同一レベルであることだけは間違いない。
424:デフォルトの名無しさん
07/02/13 18:53:27
>>423
>>423も同類
425:デフォルトの名無しさん
07/02/13 19:03:41
424
426:419
07/02/13 19:17:38
>>420
まぢで…? 少しショックです。
強いて言うなら、"" 無しで空白入りのパス
(そんな指定をするインストーラもありWinもご丁寧に認識する)
が分離してしまうのが気になります。
とは言え、そんな指定自体が問題かも知れないですね。
ありがとうございました!
427:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/02/13 22:23:15
馬鹿にされたのがよっぽどくやしかったんだな
430:デフォルトの名無しさん
07/02/13 22:51:08
バグ?
for /f "usebackq delims=;" %%1 in ('a a;b b;c c') do echo %%1
431:デフォルトの名無しさん
07/02/13 22:58:43
>>430
プログラミング以前に使い方わかってない人はWindows板へ
432:デフォルトの名無しさん
07/02/14 00:46:43
>431
つまりキミにも解らないんだね
433:375
07/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:デフォルトの名無しさん
07/02/14 00:55:07
>>433
if で比較演算子使って、場合分けが確実かな。
435:375
07/02/14 01:18:55
>>434
レス有難うございます。
もう少しヒントを頂けないでしょうか・・・
436:デフォルトの名無しさん
07/02/14 01:34:06
@echo off
setlocal
for %%1 in (%PATH: =::%) do (
set x=%%1
call echo %%x:::= %%
)
437:デフォルトの名無しさん
07/02/14 06:14:57
cd c:\program files\gikonavi\log\2ch\news4vip
del *.dat
del *.tmp
exit
VIPのログ消去
438:デフォルトの名無しさん
07/02/14 12:51:57
>>437
バッチファイルプログラミングの鬼才現る
439:デフォルトの名無しさん
07/02/18 16:16:07
setlocal enabledelayedexpansion
set cr=^(改行)
(改行)
(改行)
echo %path:;=!cr!%
440:デフォルトの名無しさん
07/02/18 23:46:52
awkを持ってたら
echo %PATH% | awk BEGIN{RS=\";\"}{print}
なんてやりたくなってしまう。
441:デフォルトの名無しさん
07/02/19 00:50:47
runasで一時的にadminになってcmdを実行したいのですが、このとき、特定のパスで開くようにするにはどうすればいいんでしょうか
442:デフォルトの名無しさん
07/02/19 01:44:08
cmd /k cd 特定のパス
443:デフォルトの名無しさん
07/02/19 08:47:09
>>439
こんなこと出来たのかー!
^ の表記って他に何が出来るんだろう
444:デフォルトの名無しさん
07/02/19 10:38:16
コンソールの使い方はスレ違い
445:デフォルトの名無しさん
07/02/19 10:40:14
>>441-442
パソコンの使い方もスレ違い
446:デフォルトの名無しさん
07/02/19 18:29:07
コンソールの使い方とかパソコンの使い方とかは
書いてないのでスレ違いではありませんね。
447:デフォルトの名無しさん
07/02/19 19:45:59
>>1に従うと拡張子を".cmd"にしても「バッチファイルプログラミング」ではなくなってしまう件
448:デフォルトの名無しさん
07/02/19 19:58:52
>>447
御主、頭固いな
449:デフォルトの名無しさん
07/02/19 20:15:27
>>448
御主、頭固いな
447の言ってるのは、>>1に書いてあることだけがこのスレのルールでは無いってことだろ。
>>1に反していても、このスレの範疇となる話題はあるし、逆に>>1に反していなくても
スレ違いとなる話題もあるってこった。普通に見れば446の方が頭固い。
450:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/02/20 19:21:09
>>445
なんでだよ。バッチファイルの中で使うんだよ
452:デフォルトの名無しさん
07/02/20 19:36:48
バッチ自身がやってるわけじゃないからスレ違い
453:デフォルトの名無しさん
07/02/20 19:51:41
ここは初心者にパソコンの使い方を教えるスレです
454:デフォルトの名無しさん
07/02/20 20:00:18
プログラムを作る板なのに
プログラムの使い方を質問する人がたまにいるね
455:デフォルトの名無しさん
07/02/21 11:33:07
>>450
おまいすげーな…。
俺はてっきりsubstr()みたいなので生成後の文字列を判定するのかな、どうやるんだろう
って考えてたよ。
ちなみにWindowsのDosのバッチにsubstring関数みたいなのってあるんでしょうか?
456:デフォルトの名無しさん
07/02/21 12:12:07
>>455
set /? より。↓のようなのはあります。
また、展開の副文字列を指定することもできます。
%PATH:~10,5%
は、PATH 環境変数を展開し、展開結果の 11 番目 (オフセット 10) の文字
から始まる 5 文字だけを使います。長さが指定されなかった場合は、変数の
値の残りの長さを既定値とします。オフセットまたは長さのどちらかが負の値
の場合、環境変数の値の長さに指定されたオフセットまたは長さを足してその
数を使います。
%PATH:~-10%
は、パス変数の最後の10 文字が展開されます。
%PATH:~0,-2%
は最後の 2 文字以外のすべてが展開されます。
457:デフォルトの名無しさん
07/02/21 12:25:16
>>456
ほうほう。サンクスコ。
最新のMS-DOSはバッチで何でもできるんだ…。PERLいらずだな。
458:デフォルトの名無しさん
07/02/21 14:43:46
cmd.exeになっていろいろできるようになったとは言え、
PerlやAWKでやったほうがすっきりすることが多いね。
459:デフォルトの名無しさん
07/02/21 15:15:18
PerlやAWKは標準環境では使えないから、導入から結果を出すまでを考えれば
WSHの標準で使えるjsやvbsでやった方がスマートだよ。
引きこもって自分のPCしか弄らない人には関係ないかもしれないけど。
AWKはあんまり弄ったこと無いけどPerl、Python、Ruby使えたって、
表で役に立ったことなどほとんど無い。
460:デフォルトの名無しさん
07/02/21 15:26:22
バッチプログラミング以外はWindows板へ
初心者~管理者まで必読!コマンドライン(DOS Pt.5)
スレリンク(win板)
461:デフォルトの名無しさん
07/02/21 16:34:29
過疎ってるんだからちょっとした独り言ぐらいさせてやれ。
462:デフォルトの名無しさん
07/02/21 16:57:05
このスレは存在価値がないということか
463:デフォルトの名無しさん
07/02/21 19:04:51
ニュー即にハルヒスレがあるように、ちょっと脱線しても多目に見ようじゃないか
464:デフォルトの名無しさん
07/02/21 19:13:01
過疎スレに迷い込んでくる初心者を本スレへ誘導しないと
465:デフォルトの名無しさん
07/02/21 19:54:30
スレリンク(saku板:291番)
>291 :削除聞仲 ★ :2007/02/11(日) 23:56:54 ID:???0
>>>290
>住民さんが嫌がっていて152で謝っているのになぜ続けるのでしょう?
>嫌がらせに見えますのでレスの付いてないところだけGL6として削除しました。
>
あまり執拗に続けると、このスレの住人だけじゃなく大勢に迷惑かける
事を判ってないんだな。
466:デフォルトの名無しさん
07/02/21 19:57:14
過疎スレはまとめた方がいい
467:デフォルトの名無しさん
07/02/21 19:58:20
バカな奴だ
468:デフォルトの名無しさん
07/02/21 20:04:59
ネタが少なく、過疎ってる
469:デフォルトの名無しさん
07/02/21 20:51:20
ここは「あえてバッチでやってみるスレ」として成立させないか?
Win板のスレで「バッチで浮動小数点計算やりたいです」って書いたら
スクリプト使えって言われて終わりだろうがここならそれが可能だと思う
470:デフォルトの名無しさん
07/02/21 21:10:54
>>1
>バッチファイルプログラミングとは・・・・
>・ファイル拡張子が ".bat"
>・複数のコマンドを使い、実行させるバッチファイルを作る
ということなら、awkやsedを組み合わせてもおk?
471:デフォルトの名無しさん
07/02/21 21:12:28
小学生じゃないんだから自分で判断しろよ。
小学生ならごめんね。
472:デフォルトの名無しさん
07/02/21 21:19:52
>>470
おkだろ。程度にもよるけど。
473:デフォルトの名無しさん
07/02/21 21:42:34
あえて最悪の選択手段を選ぶのは個人の自由だとしても
無知な初心者を巻き添えにするのはかわいそう
474:デフォルトの名無しさん
07/02/21 21:50:47
ここら辺でどの範囲までがこのスレで言う「バッチファイルプログラミング」なのか
きちんと決めといた方がいいんじゃないか?
書き込みがあるたびに病気の人が出てくるのもウザいし。
475:デフォルトの名無しさん
07/02/21 21:54:20
決めたとしても病人は相変わらずウザいだろう。
476:デフォルトの名無しさん
07/02/21 21:59:25
awkやsedを組み合わせは使わない人にはウザいだけだよ。
batに対する嫌がらせとしか思えない。
477:デフォルトの名無しさん
07/02/22 00:54:04
そもそもバッチ処理をするためのものなんだから
.batでawkは使うな、ってのは本末転倒な意見だな。
もちろん「あえてバッチでやってみるスレ」とするのなら、それはそれで良いが。
478:デフォルトの名無しさん
07/02/22 08:43:44
>>477
あえてここでawkをやろうとするのが本末転倒
479:デフォルトの名無しさん
07/02/22 09:26:00
>478
過疎スレなんだし大目に見てやれ
480:デフォルトの名無しさん
07/02/22 11:51:28
awkやsedってSFU(ServiceForUnix)に入ってるんだったっけ?
標準じゃないよな?
まず標準のみの環境かどうかが(ry
481:デフォルトの名無しさん
07/02/22 12:03:52
メタ議論ウザス
482:デフォルトの名無しさん
07/02/25 17:02:16
>>450
set /a f=i % 10
があったね
483:デフォルトの名無しさん
07/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文でできそうな感じですが、ド素人なものでよくわかりません(>_<)
どなたか教えてください、お願いします!
484:483
07/02/25 21:37:03
すみません、使ってるOSはWindowsXP home editionです
485:デフォルトの名無しさん
07/02/25 21:39:31
マルチ死ねよ
486:483
07/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:デフォルトの名無しさん
07/02/25 22:47:03
死ねばいいよ
488:デフォルトの名無しさん
07/02/25 23:13:53
>>487
必死だな
489:デフォルトの名無しさん
07/02/25 23:26:08
マルチなんて荒らしみたいなもんだろ
490:デフォルトの名無しさん
07/02/26 01:23:11
>>489
同意。本人にそのつもりは毛頭ないのがさらにたちが悪い。
491:デフォルトの名無しさん
07/02/26 01:55:36
いちいちマルチかどうか確認してるのがキモイ
492:デフォルトの名無しさん
07/02/26 02:31:39
>>491
意図せずにマルチを見つけることはあっても、
わざわざマルチかどうか探すヤツなんて居ねぇから。
493:デフォルトの名無しさん
07/02/26 02:32:40
VISTAでもバッチできるの?
494:デフォルトの名無しさん
07/02/26 04:37:32
>>491
専ブラでお気に入りスレの更新チェック
↓
新着があるスレを開いていくと、同じ質問をハケーン
↓
マルチ氏ね
ってだけでしょ。
492の言うとおり、わざわざ確認なんかしなくても、
普通に新着をチェックしてればマルチは目に付く。
495:デフォルトの名無しさん
07/02/26 06:39:52
>>491
同じようなスレやコミュニティは住人もかなり被ることが多いから
嫌でも目につくんだよ
496:デフォルトの名無しさん
07/02/26 09:17:42
自分はマルチするためにあちこち投下してるくせに答える方も同じように巡回してるとか
少しも思わない想像力のなさが嫌われる原因
497:デフォルトの名無しさん
07/02/26 16:32:34
質問があります。
WindowsXPでですが、今日日付で作られたディレクトリを、自動削除する
バッチを作りたいと思っています。
例→20070226
今日も明日も明後日も、このバッチを起動しただけで削除したいのです。
rmdir /S /Q *
でいけると思ったのですが、
「ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。」
というエラーが出てしまいます。
どのようにしたら実現できるでしょうか?
なお店で売っているような標準の環境です。(sedやgrepはありません)
498:デフォルトの名無しさん
07/02/26 16:58:50
rmdir /S /Q %date:/=%
499:デフォルトの名無しさん
07/02/26 17:02:08
>>487
まずコマンドラインの使い方を勉強しましょう
windows板にコマンドラインのスレがあるからそこへ行くといい
500:デフォルトの名無しさん
07/02/26 17:10:06
del /f /s /q *
501:デフォルトの名無しさん
07/02/26 23:23:05
>>486
なんでパイプなんか使ってんの?
502:デフォルトの名無しさん
07/02/26 23:25:41
パイプの使い方はWindows板で
503:デフォルトの名無しさん
07/02/26 23:27:53
NGワード: Windows板
にしたら少しは平和になれるかも
504:デフォルトの名無しさん
07/02/26 23:34:55
@echo off
505:デフォルトの名無しさん
07/02/26 23:41:09
DOS 3.3の頃は @echo off と書けなかったから
echo offと表示されたものをエスケープシーケンスを使って
わざわざ消したものだったなあ。
506:デフォルトの名無しさん
07/02/26 23:43:25
@echo off
echo off
ってのはよく見る。
507:デフォルトの名無しさん
07/02/26 23:46:30
>>506
初めてみたけど、そう書く人がよくいるのか。
508:デフォルトの名無しさん
07/02/27 00:15:04
>>506 の周りだけだろ。
509:デフォルトの名無しさん
07/02/27 14:17:40
DOSの頃はバッチの1行目に
echo %ECHO%
とよく書いてた。普段は環境変数ECHOにoffをセットしておいて、
デバッグのときはonをセットする。
510:497
07/02/27 17:42:05
>>489-500
返答が遅くなってしまいましたが、ありがとうごさいます。
511:デフォルトの名無しさん
07/02/28 00:54:40
コマンドプロンプトでD:\が表示されているところから
C:\AAA
以下の無数にあるフォルダの中のZTNというフォルダ内のbmpの
拡張視のファイルだけをD:\PPPフォルダの中に入れたいです。
512:デフォルトの名無しさん
07/02/28 01:01:28
>>511
xcopy
513:デフォルトの名無しさん
07/02/28 01:19:48
cache内のファイルを削除したいんですけど
cd cache
del *
これだと確認メッセージが出て自動で削除できません。
パラメータにそれっぽいのがなかったので。
強制削除はバッチファイルから行えないんですか?
514:デフォルトの名無しさん
07/02/28 01:38:01
del /?
515:デフォルトの名無しさん
07/02/28 09:54:22
放っておくと初心者にパソコンの使い方を教えるスレになってしまうな
やっぱこまめに誘導しないとダメか?
初めて来て過去ログ読まずに質問するやつがほとんどだからな
516:デフォルトの名無しさん
07/02/28 10:02:50
>>513
パソコン初心者がいきなりプログラミングは無謀
パソコン初心者向きの板へどうぞ
PC初心者
URLリンク(pc9.2ch.net)
Windows
URLリンク(pc10.2ch.net)
ソフトウェア
URLリンク(pc9.2ch.net)
517:デフォルトの名無しさん
07/02/28 12:48:54
いいスレタイ案を思いついた!
バッチファイルプログラミングと初心者にパソコンの使い方を教えてこまめに誘導するスレ 4.bat
まぁ次スレは建てる必要ないけどね。といっても、勘違いに踊ら(ry
518:デフォルトの名無しさん
07/02/28 13:55:43
>517
長いから書くなら>>1に
519:デフォルトの名無しさん
07/02/28 13:58:39
つかスレタイに % って使えんの?
使えるなら %4 がいいなー
520:デフォルトの名無しさん
07/02/28 16:18:21
誘導厨は無視しましょう
>>517
却下
521:デフォルトの名無しさん
07/02/28 16:57:11
こういう利用がほとんどならプログラム板にある必要ない
次スレ不用
522:デフォルトの名無しさん
07/02/28 17:04:48
不要だと思うなら来なければいいだけ
523:デフォルトの名無しさん
07/02/28 17:09:42
寂しくて2chで馴れ合う中年釣り師と釣られ師カワイソス
524:デフォルトの名無しさん
07/02/28 22:26:46
>>523
お前そんなことしてたのか
迷惑なヤツだな
525:デフォルトの名無しさん
07/03/01 00:17:39
Q1.cd ~で指定したところがないときにそこでバッチを終了するというのはどうすればいいでしょうか?
Q2.Aフォルダ内のファイルをBフォルダに全部移すのはどうすればいいですか?
526:デフォルトの名無しさん
07/03/01 00:46:05
A1: if errorlevel 1 goto :eof
B1: xcopy a b /s
527:デフォルトの名無しさん
07/03/01 00:49:08
・・・ B1 ってなんだ・・・
ま、いいか。
528:デフォルトの名無しさん
07/03/01 15:51:26
>>511,>>525
move/?
529:デフォルトの名無しさん
07/03/01 17:06:25
パソコンの使い方はスレ違い
530:デフォルトの名無しさん
07/03/01 17:14:20
スレ違いではないので大丈夫です。
531:デフォルトの名無しさん
07/03/01 17:35:04
プログラミングじゃなくて初歩的なファイル操作
エクスプローラの使い方と同レベル
532:デフォルトの名無しさん
07/03/01 17:36:18
CUIがパソコンの使い方であった時代は終わった
なんて
533:デフォルトの名無しさん
07/03/01 19:11:56
次スレのスレタイ考えた
【ググるな】バッチファイルプログラミング 4.pl 【俺様に聞け】
534:デフォルトの名無しさん
07/03/01 19:30:53
>>533
0点
はい次の自称釣り師の方どうぞ↓
535:デフォルトの名無しさん
07/03/02 10:55:09
,、,、,||
;'`,゙、.||'、
'; 、' /´;`'.,
´' .; ' ; '、'.
'; 、 ' ,'
'.,´; '
l !j
/ルゝ
536:デフォルトの名無しさん
07/03/02 11:32:35
【まずググれ】バッチファイル初心者質問スレ 4.pl 【質問すんなカス】
537:デフォルトの名無しさん
07/03/02 18:28:43
Perlかよ
538:デフォルトの名無しさん
07/03/02 20:09:12
つ~か、このスレにぐぐって解決できないような問題を解決できるやついるのか?
539:デフォルトの名無しさん
07/03/02 20:12:24
解決できないから一生懸命誘導してるんだろ
540:デフォルトの名無しさん
07/03/02 23:15:28
>>538
スクリプトで出来ることを敢えてバッチでやる事に関しては
541:デフォルトの名無しさん
07/03/02 23:17:19
つーか、ふと考えたこと
「オブジェクト指向バッチスクリプト」
542:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/03/03 03:47:33
>.>541
つ PowerShellスクリプト
544:デフォルトの名無しさん
07/03/03 10:51:42
PowerShellは一回入れてちょっと遊んだきり使ってないな。
スレの方も閑古鳥が鳴いてるし。
545:デフォルトの名無しさん
07/03/03 17:51:15
デバイスマネージャの任意のデバイスを有効/無効にする
バッチファイルはどう書けばいいですか?
546:デフォルトの名無しさん
07/03/03 18:00:20
バッチファイルでは書けない。
コマンドラインのプログラムはあるが、スレ違いだから。
547:デフォルトの名無しさん
07/03/03 18:15:46
コマンドラインのプログラムがあればバッチで書けるだろ。
548:デフォルトの名無しさん
07/03/03 19:13:27
でもここはバッチファイルの構文的なことを語ったり質問したりするスレで
外部ツール探しや使い方についてはスレ違いだから。
549:デフォルトの名無しさん
07/03/03 19:16:08
得意の屁理屈キタ━━(゚∀゚)━━!!
550:デフォルトの名無しさん
07/03/03 19:17:34
勝手に「構文的なことを語ったり質問したりするスレ」と限定しないように。
551:デフォルトの名無しさん
07/03/03 19:22:26
>>545
知ってるけどスレ違いだから教えない。
552:デフォルトの名無しさん
07/03/03 19:38:02
勝手に「構文的なことを語ったり質問したりするスレ」じゃないと決めつけないように。
553:デフォルトの名無しさん
07/03/03 22:54:02
>>546
>>1をよく読むように!
554:デフォルトの名無しさん
07/03/03 22:58:33
>>553
>>546は病気なので何を言っても無駄っぽい。
555:デフォルトの名無しさん
07/03/03 23:09:27
>>1に書かれてることは、>>10や>>100や>>500なんかに書かれてることと等価。
全て一個人の発言であって1番目やキリ番だからといってスレへの影響力や強制力があるわけじゃない。
それが2chという個人が勝手な内容でスレ立て出来る掲示板での常識。
>>1に強制力があったら、「このスレを開いた人は、今日中に自殺しなくてはならない」という内容を
>>1に書いてスレ立てするだけで、多くの人を殺すことが出来ちゃう。
もちろんスレ違い指摘も一個人の意見なので、従うも従わないも無視するのも踊らされて反応するのも自由。
556:デフォルトの名無しさん
07/03/03 23:36:32
あらためてかくようなことかよ、ばか
557:デフォルトの名無しさん
07/03/04 00:01:18
論理が破綻してるな。
やはり病気というのは真実だった
558:デフォルトの名無しさん
07/03/04 00:13:12
557
559:デフォルトの名無しさん
07/03/04 22:04:26
どなたかこんなバッチつくれません??
2ファイルを1行ずつ改行して読み込む処理
x.txt y.txt
---- ----
aaa 111
bbb 222
---- ----
↓↓↓↓↓
z.txt
----
aaa
111
bbb
222
----
560:デフォルトの名無しさん
07/03/04 22:14:03
>>559
ここは自分でプログラムを作る人の板だから
自分で作らない人が来るところじゃない
561:デフォルトの名無しさん
07/03/04 22:15:56
>559
win板に行った方がいいよ
562:デフォルトの名無しさん
07/03/04 22:17:29
初心者~管理者まで必読!コマンドライン(DOS Pt.5)
スレリンク(win板)
563:デフォルトの名無しさん
07/03/04 22:31:31
>>559
初心者~管理者まで必読!コマンドライン(DOS Pt.4)
の>74,>87に似たようなものがある。
が、WSH使ったほうが簡単
564:デフォルトの名無しさん
07/03/04 22:32:40
誰か病院に連れて行ってやれ
565:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/03/04 22:54:13
>>565
x.txt が y.txt より長いと表示されないし
スペースのみの行だと echoはoffです になるな。だめだめ。
しかし、echo コマンドはなんで拡張オプション作ってくれなかったんだろう・・・
567:デフォルトの名無しさん
07/03/04 22:57:33
echo=…
と書けば…が空白でもechoはoffですとは表示されないよ。
568:デフォルトの名無しさん
07/03/04 22:57:34
道具を使い分けるのがプロ
日曜プログラマにはそれができない
569:デフォルトの名無しさん
07/03/04 23:01:16
Windows PowerShell徹底解説:ITpro
UNIXシステム管理者にとって,Windowsスクリプティングは長い間笑いの種だった。
これにはいくつかの理由があったが,代表的なのは,Windowsにはスクリプティングを
本当の意味で役立つものにするための主要機能の多くが欠けていたことだ。
itpro.nikkeibp.co.jp/article/COLUMN/20061106/252598/ - 114k - キャッシュ - 関連ページ
570:デフォルトの名無しさん
07/03/04 23:04:24
>>567
あ、ほんとだ。
知らなかったよ、サンクス!
571:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/03/05 15:15:27
>>559
7分後にはマルチかよ
|1689.2ファイルから1行ずつ改行して読み込みたい XYZ 07/03/04(日) 22:11
574:デフォルトの名無しさん
07/03/05 15:54:51
>>572
すっごいなソレ!
わけ分からん。wshか。未知の世界だわ。
575:デフォルトの名無しさん
07/03/05 17:54:40
>>572
をバッチに直すと、
と思ったけどマルチじゃね、ヤメタ。
576:デフォルトの名無しさん
07/03/05 18:39:39
プログラムを呼ぶだけのものをプログラミングとは言わない
GOTO :EOF 以降はバッチは無視するわけだし
スレ違い
577:デフォルトの名無しさん
07/03/05 18:41:03
たしかwin板にwshも使用可のスレがあったと思うよ
578:デフォルトの名無しさん
07/03/05 18:41:55
確かコマンドラインとかいうスレ
579:デフォルトの名無しさん
07/03/05 19:22:35
スレ違いと言っている人はかわいそうな病人。
580:デフォルトの名無しさん
07/03/05 19:29:57
>>574
BATの奇妙奇天烈奇々怪々の構文が理解できるのなら
WSH(JScript)の理路整然とした構文なんてすぐマスターできるよ。
581:デフォルトの名無しさん
07/03/05 19:33:51
>>580
機械言語の構文は理論整然としてるんだぉ(^ω^
理解に苦しむだけなんだぉ(^ω^
582:デフォルトの名無しさん
07/03/05 19:37:18
出前頼んだのは料理とは言わない
自分で料理しないで料理したふりは良くない
583:デフォルトの名無しさん
07/03/05 19:41:00
だれも料理が出てくることを期待していないんだぉ(^ω^
美味しい料理が食べれればいいんだぉ(^ω^
これがビジネスルールなんだぉ(;^ω^
584:デフォルトの名無しさん
07/03/05 19:45:45
癒し散布
. 。 . * ・゚ .。 . *・ 。 . *・゚
* 。 * ;* ,* ゚
*゚. *
*
(´ー`)ノポポポポポ・・・・
585:デフォルトの名無しさん
07/03/05 19:46:39
ここは作る人の板だから
586:デフォルトの名無しさん
07/03/05 19:47:58
インチキや手抜きはだめだよ
587:デフォルトの名無しさん
07/03/05 19:50:02
スレ違いと言うしか脳の無い人の板じゃありませんから
588:デフォルトの名無しさん
07/03/05 20:04:23
>>571-572
標準的なコマンドだけ使おうとすると
find使ったりと面倒なものですね。
一見したところ何やってるのかわからないしw
JScriptを埋め込んだバッチの方が分かりやすい。
589:デフォルトの名無しさん
07/03/05 20:19:22
ren * スレ違いの病人と戯れるスレ
590:デフォルトの名無しさん
07/03/05 20:25:00
rem 病人って言ってるけど実際に発達障害の一種だと思う
591:デフォルトの名無しさん
07/03/05 20:26:23
Cみたいな標準があるわけでもないのに何でこんなにひねくれてるんだ?
592:デフォルトの名無しさん
07/03/05 20:39:18
>>588
>>一見したところ何やってるのかわからないしw
そこが魅力なのw
バッチファイルプログラミングでの優先順位は
美しさ(オナニー)>>実行効率>>わかりやすさ
593:俺もなー
07/03/05 20:41:16
スルーできない奴がいるからだろ。
594:デフォルトの名無しさん
07/03/05 21:25:54
JScriptはスレ違い
595:デフォルトの名無しさん
07/03/05 21:28:45
>>594
スレ違い君、こんばんは
596:デフォルトの名無しさん
07/03/05 21:31:21
>>589
スレ違いって言うよりは、○チガイ。
あ、最近は総合失調症とかって言うんだっけ?
597:デフォルトの名無しさん
07/03/05 21:37:55
@rem 高機能自閉症っぽいような
598:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/03/05 22:58:19
すばらしいwww
600:デフォルトの名無しさん
07/03/05 23:09:18
>>598
%RANDOM%の使い方に注意しよう
601:デフォルトの名無しさん
07/03/05 23:15:08
そうか、低い確率だけど32767で割るとnum1,num2が10になる可能性があるな
thanks >>600
602:デフォルトの名無しさん
07/03/05 23:18:04
総合失調症でなくて統合失調症ですよん
603:デフォルトの名無しさん
07/03/05 23:20:14
レベル低いな
素人集団か
604:デフォルトの名無しさん
07/03/05 23:20:51
>>601
あと2点あるよ
605:デフォルトの名無しさん
07/03/05 23:24:57
初心者は素直にwin板行きなよ
606:デフォルトの名無しさん
07/03/05 23:26:37
>>603
そうやって上から見下ろしてるのがきもちいいんでしょ?でしょ?
いいよね~いいよね~~~
607:デフォルトの名無しさん
07/03/05 23:26:57
>>605
スレ違い君はまだ起きてたの?
608:デフォルトの名無しさん
07/03/05 23:57:37
sleep 2147483647
609:デフォルトの名無しさん
07/03/06 00:00:40
INT609
610:デフォルトの名無しさん
07/03/07 18:57:22
オレなんてすごい素人だけど、スレ違いとか病人だとか言って人減らし
してるヤツはどうかと思うよ。
多少のスレ違いまでもネタにして、ざっくばらんにいこうよ。
ちょっとはニュー即を見習ってもらいたいものだ。
611:デフォルトの名無しさん
07/03/07 19:48:14
ここはニュー足じゃないよ
郷に入っては郷に従え
612:デフォルトの名無しさん
07/03/07 20:02:36
当人たちはネタのつもりでやってるんだろうけど
ちっとも面白くないのが問題。
ちょっとは乳ーそくを見習ってもらいたいものだ。
613:デフォルトの名無しさん
07/03/07 20:08:09
>610
3行目は同意だが4行目は遠慮させてくだちぃ
614:デフォルトの名無しさん
07/03/08 20:05:32
>>598
for /f "tokens=1-10" %%0 in ("誘導厨 ググれカス WSH JSCRIPT スルー スレ違い 病人 発達障害 総合失調症 高機能自閉症" ) do echo 【%%%num1%】バッチファイルプログラミング 4.bat【%%%num1%】
615:デフォルトの名無しさん
07/03/08 20:12:35
>>614
訂正。2つ目はnum2
616:デフォルトの名無しさん
07/03/08 20:15:53
なんで改悪するの?
617:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/03/12 22:00:35
答えを教えてもらわないとできないんだったら
市販ソフトでも使っとけ
620:デフォルトの名無しさん
07/03/12 22:14:13
写経でもやるつもりなんだろうか
621:デフォルトの名無しさん
07/03/12 22:40:02
南無阿弥陀仏
622:デフォルトの名無しさん
07/03/13 07:18:42
>>618
> set /a num=10*x/y
> 恐らく、5/2=2 2*10=20のように計算されているのだと思います。
そう思ったら何故2行に分けない。
623:デフォルトの名無しさん
07/03/13 11:04:17
>>618
算数の問題のような気がするが・・・
小数点以下とバラして計算してしまえば良いだけでは。つまり、5/2 の結果をまず
一つの変数に入れる。これが 2 になる。次に (5*10/2)%10 を計算する。これが
小数点以下1桁目の値(5)になる。あとは表示するだけ。
624:デフォルトの名無しさん
07/03/13 11:39:53
質問です。
DOSのdelコマンドにはファイルをサブフォルダも辿って再帰的
に削除するオプションはないのでしょうか?
あるいは、他のやり方で同様のことを実現する方法はあります
でしょうか。
どなたか知ってる方いらっしゃいましたらご教授お願いします。
625:デフォルトの名無しさん
07/03/13 11:45:24
0点
626:デフォルトの名無しさん
07/03/13 11:49:36
古いDOSならdeltreeとかなかったっけ
今のコマンドプロンプトなら del /?
627:デフォルトの名無しさん
07/03/13 12:18:11
ここはプログラムを作る人の板です。
パソコンの使い方の質問はご遠慮下さい
628:デフォルトの名無しさん
07/03/13 12:25:15
PC初心者
URLリンク(pc9.2ch.net)
629:デフォルトの名無しさん
07/03/13 14:07:39
スレ違い君はまだいたのか
630:デフォルトの名無しさん
07/03/13 14:08:35
スレ違い君って627-628のことね
631:デフォルトの名無しさん
07/03/13 14:31:41
それはまちがい
632:デフォルトの名無しさん
07/03/13 14:34:34
病気を治せばまちがいでないことがわかるよ
633:デフォルトの名無しさん
07/03/13 14:35:52
病気を治せばまちがいであることに気付くよ
634:デフォルトの名無しさん
07/03/13 14:38:22
DOSのdelコマンドのオプションを質問するやつ
635:デフォルトの名無しさん
07/03/13 14:40:00
次にエクスプローラの使い方の質問がきてもおかしくないな
636:デフォルトの名無しさん
07/03/13 14:41:23
ダブルクリックがうまくできませんという相談がきてもおかしくないな
637:デフォルトの名無しさん
07/03/13 14:44:00
>>635-636
スレ違い君(594,605,627-628など)以上におかしいのは滅多に無いと思うから安心して
病院に行きなさい
638:デフォルトの名無しさん
07/03/13 15:48:19
おかしい人は、世間一般から見た「おかしい人」を正確に判断できません。637とかね。
639:デフォルトの名無しさん
07/03/13 15:52:47
検索ワードを入力してGoogleに検索させて
その結果を一覧表示するコードはどう書けばいいでしょうか。
640:デフォルトの名無しさん
07/03/13 16:10:31
そういう場合perlとか使うんじゃないか?
641:デフォルトの名無しさん
07/03/13 17:40:54
>>639
スレリンク(win板:573番)
でURLを指定すれば
642:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/03/13 19:02:32
無駄が多いなぁ
644:デフォルトの名無しさん
07/03/13 19:18:02
スレ違い君はコテ付けてくれよ
645:デフォルトの名無しさん
07/03/13 19:22:55
スレ違いを理解できないお馬鹿君はコテ付けてくれよ
646:デフォルトの名無しさん
07/03/13 19:57:24
>>645
スレ違い君、こんばんは。
647:デフォルトの名無しさん
07/03/13 19:59:21
なんでそんなに簡単に踊るの?
648:デフォルトの名無しさん
07/03/14 01:37:51
call :select 誘導厨 ググれカス WSH JSCRIPT スルー スレ違い 病人 発達障害 統合失調症 高機能自閉症
goto :eof
:select
call echo 【%%%num1%】バッチファイルプログラミング 4.bat【%%%num2%】
649:デフォルトの名無しさん
07/03/14 18:10:39
質問です。
もしかしてスレ違いです。
でもここはいい人ばかりなので、快く教えてくれると思います。
echo %date:/=%
とすると今日のYYYYMMDDを表示できますが、YYYYMMの部分だけ表示したいのです。
どうすれば良いでしょうか?
echo %date:/=% | cut -c1-6
とかできれば良いのですがSFUは入ってません。
すいませんが教えてください。
650:デフォルトの名無しさん
07/03/14 18:17:51
echo %DATE:~,4%%DATE:~5,2%
set hoge=%DATE:/=%
echo %hoge:~,6%
なんで置換知っていて切り出し知らないかなぁ?
651:デフォルトの名無しさん
07/03/14 18:26:27
>>650
ありがとうございます。
部分的にしか知らないからそんな使い方があるとは思いませんでした。
(*゚∀゚)=3 MS-DOSスゲー
652:デフォルトの名無しさん
07/03/14 18:31:28
MS-DOSでなくてWindows(NT系)のCMD.EXEの機能だよん
653:デフォルトの名無しさん
07/03/14 18:45:09
こういうのが絡むときの一括処理はパールで作るしかないって思ってたけど、
バッチでも十分っぽいな…
654:デフォルトの名無しさん
07/03/14 18:50:35
馬鹿のやること
655:デフォルトの名無しさん
07/03/14 19:03:28
可読性を考えるとPerlやJScriptのほうが良いことも多いだろうが
656:デフォルトの名無しさん
07/03/14 19:14:07
箸じゃなくても歯ブラシでも食べれることに気がついた
657:デフォルトの名無しさん
07/03/14 19:28:35
しかしナイフとフォークでは食べられない656であった
658:デフォルトの名無しさん
07/03/14 20:39:30
m9(・∀・)悪口書き込みたいが為だけにスタンバってるだろ!
659:デフォルトの名無しさん
07/03/14 20:42:39
自己紹介?
660:俺もなー
07/03/14 22:01:50
>>655
でも、余分なインストールが不要と言うメリットは捨てがたい時もあるしな。
661:俺もなー
07/03/14 22:03:15
あっ、JScript / VBScript なら、インストールは不要か...。
662:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/03/15 09:11:02
>>662
すごいなマジで
cmd.exeってかなりできる子だったんだな
664:デフォルトの名無しさん
07/03/15 09:27:42
いやcmd.exeじゃなくてcscript.exeだろ
まあ.batファイルに記述してるなら
cscript.exeを使うのはこのスレ的には問題ないけどね
665:デフォルトの名無しさん
07/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:続き
07/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:つづく
07/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:つづく
07/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:つづく
07/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: URLリンク(other.url)' \
-H 'Host: somehost' \
URLリンク(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:デフォルトの名無しさん
07/03/15 11:05:06
ショボすぎ
671:つづく
07/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:つづく
07/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:つづく
07/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:つづく
07/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 <gisle@aas.no>
=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:つづく
07/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:つづく
07/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:つづく
07/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:デフォルトの名無しさん
07/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:つづく
07/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:つづく
07/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:つづく
07/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:つづく
07/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:つづき
07/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 <gisle@aas.no>
=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:つづく
07/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:デフォルトの名無しさん
07/03/15 11:33:20
これは悪い嵐ですね
686:デフォルトの名無しさん
07/03/15 11:36:24
___
/´. _, -―-、ヽ、
./ l´[☆ィTfヘマ、 ヽ
| | |ィケリノ |ト}!l|
| _| レァ予 伝yリ| ,..、
| fr| 《{_丿 Ljハ∥ _,ノ/`il / / 、``_ .┼┐
| ゞ||''' r‐ァ`,ツイイ´ ハ il / | / /
| | 「`}T 云'I「|{ {::::{ V リ \
|| N {`ヾー弋イノ`衣√`ヾノ
从 |、
687:デフォルトの名無しさん
07/03/15 11:37:00
どうして、どこかにうpるという選択幅が思いつかなかったんだろうな。
688:デフォルトの名無しさん
07/03/15 11:43:48
しかも大半が無意味に近いんだよな。
689:デフォルトの名無しさん
07/03/15 11:45:13
自分の作ったものを誇示したかったんじゃないの?
テキストエディタで見ればたいしたものではないけど
数行以下のレスがほとんどのここに貼れば、ちょっとは凄そうに見えるじゃん。
実際には内容が"凄い"んじゃなくて、"凄く"邪魔なだけなんだけどねw
690:デフォルトの名無しさん
07/03/15 11:46:43
>>665-684
そのレス数20。文句言われないわけがない。
問い詰めたい…。なぜこんな荒業を炸裂させたのかを。
691:デフォルトの名無しさん
07/03/15 12:03:53
2000サーバー上で文字列をテキストファイルにリダイレクトする際に、改行をいれる方法を教えてください。
お願いします。
692:デフォルトの名無しさん
07/03/15 12:05:31
いくつかゴミが入ってるよ
せめてトリップ付ければ、ああいう邪魔はされなかっただろうし
例え邪魔されても、邪魔した方が哀れなだけだったんだがな
693:デフォルトの名無しさん
07/03/15 12:53:06
>>691
echo. >> hoge.txt
ってのは?
694:691
07/03/15 13:55:24
>>693
OKでした!ありがとうございました。
ていうか愚問スレ汚しスマソ
695:デフォルトの名無しさん
07/03/15 14:06:29
windowsで実行しているExeを定期的に監視して、
落ちていたら自動実行することってできませんか?
696:デフォルトの名無しさん
07/03/15 14:08:18
if文で複数の条件を書く方法を教えてください。
条件AとBとCが真のときにコマンドを実行したいのですが。
697:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/03/15 18:51:16
バッチ以外はスレ違い
700:デフォルトの名無しさん
07/03/15 19:37:24
700\(^o^)/!
701:デフォルトの名無しさん
07/03/15 19:39:01
まあ確かにバッチには違いないが長すぎたのが残念
702:デフォルトの名無しさん
07/03/15 19:46:50
>>696
単にネストすればいいだけじゃん
一応言っておくが、ネスト以外でとか、ひとつのif文でとか、条件後出ししないでね
703:デフォルトの名無しさん
07/03/15 20:11:42
>>695
↓のバッチでExeを起動するのはどうでしょう。
@echo off
:loop
start /wait …….exe
goto loop
704:デフォルトの名無しさん
07/03/15 20:14:23
ウイルスの作り方
705:デフォルトの名無しさん
07/03/15 21:01:40
>>704
病院行って来館してる患者全員とキスしまくる
706:デフォルトの名無しさん
07/03/15 21:39:26
質問する前にGoogleで検索しましょう。URLリンク(www.google.co.jp)
プログラム・ソフトの使い方はPC初心者板やソフトウェア板へ。
ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
707:デフォルトの名無しさん
07/03/15 23:23:06
>>695
バッチ単体では厳しいな。
cscript 使うなら WMI で作ったことあるけど。
708:デフォルトの名無しさん
07/03/16 00:32:24
@rem 彼はもしかしてアスペルガー
709:デフォルトの名無しさん
07/03/16 09:11:15
Cygwinのps -esWとか
710:デフォルトの名無しさん
07/03/16 17:38:37
>>695
>>87,>>94
711:デフォルトの名無しさん
07/03/17 00:41:35
バッチで、あるテキストファイルが開かれていたらそのまま、開かれていなかったら開く、というのをやりたいんだが、良い案ある?
テキストファイルを開くのは任意のエディタを使う。
712:デフォルトの名無しさん
07/03/17 01:06:30
エディタに因って開いてるファイルを得る方法は異なるわけだが、
その「任意のエディタ」ってのが開いてるファイルを標準出力に列挙するようなコマンドツール作って
そいつの結果をfor /fで当たればいいんじゃね?
というか普通エディタって、既に開いてるファイルをコマンドラインで渡しても
二重で開くことはないから、開いてる開いてないに関係なく、
単純にそのファイルをエディタに渡してやればいいような気もするが。
713:デフォルトの名無しさん
07/03/17 05:44:30
>712
いや、同じファイルを重複して開けることができてしまうエディタは案外多い
一番楽なのはエディタを選ぶことかな
714:デフォルトの名無しさん
07/03/17 10:25:38
>711
パソコン初心者ですか?
自分にできないことをバッチにやらせようとするのが根本的な間違い
バッチは人がやることを自動化するだけ
バッチにやらせる前に自分でやってみろ
あとパソコン初心者の方はこちらへどうぞ
PC初心者
URLリンク(pc9.2ch.net)
715:714
07/03/17 11:48:37
ちなみにボクは人間初心者です
716:711
07/03/17 13:13:38
>>714
わからないんだったら黙ってろ、カス!
>>712、713
ありがとうございます。
メモ帳だと、何度でも開いてしまうようですね。
717:デフォルトの名無しさん
07/03/17 13:41:59
tasklist.exe /v /fi "imagename eq notepad.exe"
718:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/03/17 14:36:33
可愛そうな人なんだから、そっとしておいてあげましょう。
そして、そっと心の中で早く病気が治る事を祈ってあげましょう。
720:711
07/03/19 00:25:10
>>717
ども。
それも考えたんだけど、notepadでたまたま別のファイルを開いていたら、そっちも閉じてしまわないかな?
721:デフォルトの名無しさん
07/03/19 00:36:29
tasklist.exe /v /fi "windowtitle eq filename - メモ帳"
はどう?
722:デフォルトの名無しさん
07/03/19 16:37:30
>>720
何のために/vを指定していると思う?
723:デフォルトの名無しさん
07/03/19 16:44:44
パソコンの使い方は板違いでスレ違い
724:デフォルトの名無しさん
07/03/19 16:51:54
>それも考えたんだけど
馬鹿にされてるぞ
725:デフォルトの名無しさん
07/03/19 23:46:49
port21を即座に開放させるDOSコマンドというか、
バッチを作りたいのですが、お知恵を拝借させてください。。。
726:デフォルトの名無しさん
07/03/19 23:48:29
>>725
port21って何?
解放って何?
727:デフォルトの名無しさん
07/03/20 00:25:15
解放じゃありません、開放です。
728:デフォルトの名無しさん
07/03/20 00:51:28
>>726
> port21って何?
( ^∀^)ゲラゲラゲラ
729:デフォルトの名無しさん
07/03/20 01:04:31
port21を即座に開放させるってどういうこと?
730:デフォルトの名無しさん
07/03/20 02:00:11
21ってことは、FTPセッションかなんかが残っていて、困ってるんだろう・・・
Net なんとかsessionじゃ・・・たしか全部きられちゃうしなぁ。。。
731:デフォルトの名無しさん
07/03/20 02:17:08
あー、IPヘルパAPIの SetTcpEntry() だな
バッチじゃどうしようもないけれどCでプログラムつくってゴリゴリすれば何とかなるね
732:デフォルトの名無しさん
07/03/20 02:19:05
あと、TCPしか有効じゃないと思うから他のコネクション型ソケットはどうしようもない
最悪プロトコルスタックにかぶさるような形(んーと、UNIXならipfwか?)のドライバ作るしかないね
733:デフォルトの名無しさん
07/03/20 02:19:56
>>727-728
というわけで頼んだ
734:デフォルトの名無しさん
07/03/20 05:42:18
>>729
エスパーしてみるとTIME_WAITうぜぇってことじゃね?
735:デフォルトの名無しさん
07/03/20 10:57:29
パソコンの使い方を知らない人がパソコンを買っても使えないのと同じで
パソコンの使い方を知らない人がバッチを使いこなすのは無理
バッチをやるまえにパソコンの使い方を勉強しましょう
736:デフォルトの名無しさん
07/03/20 14:15:44
以上、人間初心者の主張でした。
737:デフォルトの名無しさん
07/03/20 15:05:54
そうでもないか。
738:デフォルトの名無しさん
07/03/20 15:19:36
>>735
俺 Linux だけじゃなく Windows でもプログラム作れるけど、
どちらの OS も全ての操作方法については知らないよ。
てか、アプリ全部使いこなせるわけがなかろう。
739:デフォルトの名無しさん
07/03/20 15:36:48
バッチ = キーボードマクロ+α = キーボード履歴+α = パソコンの操作
と考えればいいだろ
バッチを書く前にパソコンの操作方法を調べればいいんだよ
それができればそのままバッチに書ける
740:デフォルトの名無しさん
07/03/20 16:55:28
「アプリ全部」なんて意味のないことを書いている時点で……
741:デフォルトの名無しさん
07/03/20 17:21:44
俺様からすれば、ここにいる奴らなんて初心者とすら言えないような超初心者なんだが
742:デフォルトの名無しさん
07/03/20 20:28:09
>>707
wmic.exe使えばどう?
XPHomeEditionなので、XPProのインストール媒体から抜いて来たけど
他にも関連ファイルがあるみたいで使えないよー
743:デフォルトの名無しさん
07/03/20 21:22:27
プログラム板でパソコンの使い方を教える変なやつ
744:デフォルトの名無しさん
07/03/20 21:29:30
DOSの時代は一般教養だったかもしれんが
Windowsのコマンドプロンプトは「一般的な使い方」からは外れてるんだがな
ましてバッチとなるとその更に上の段階
745:デフォルトの名無しさん
07/03/20 21:30:42
人間初心者乙!
746:デフォルトの名無しさん
07/03/20 21:38:35
このスレを理解するための関連サイト
URLリンク(www.autism.jp)
747:デフォルトの名無しさん
07/03/22 18:17:18
そもそもこのスレの趣旨としているバッチファイルプログラミングとはコマンドプロンプトとか
なり似通っていて初心者はその区別が付かずに「パソコンの使い方」に属する質問を多く聞いて
くることは目に見えているんだからそういう話をすべて「変なやつ」「人間初心者乙!」で茶化
して終わるならこのスレいらないのではないだろうか。
知識豊富な人でスレが成り立つほどこの板は人が多いわけではないのだから大風呂敷敷いて、
来るもの拒まずの精神でスレ運営できないものか。
748:デフォルトの名無しさん
07/03/22 18:25:25
粘着が張り付いてるだけ。
749:デフォルトの名無しさん
07/03/22 18:31:50
そうでもないか
750:デフォルトの名無しさん
07/03/22 19:16:10
>747
初心者は本スレへ誘導してあげるのが親切
質問にレスがつけばいいわけじゃない
751:デフォルトの名無しさん
07/03/22 19:57:00
来るもの拒まずの精神でスレ運営「できない人」は1人だけじゃないか。
「変なやつ」「人間初心者乙!」と言われてる人は初心者ではなく
「できない人」ですよ。
752:デフォルトの名無しさん
07/03/22 20:09:13
>このスレいらないのではないだろうか。
削除してもいいけど、本スレへ誘導するのに使えるから残してある
753:デフォルトの名無しさん
07/03/22 20:33:08
>>752
病院に行っても治しようがないっぽいね。かわいそうだけど。
754:デフォルトの名無しさん
07/03/23 09:19:43
shiftdown && echo on || echo off
みたいにSHIFTキーの押下で分岐するコードをよく書くんだけど
自前で作ったshiftdown相当の機能って
Windows標準のコマンドで代替きかないかな。
755:デフォルトの名無しさん
07/03/23 10:03:11
利くよ
756:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/03/23 17:07:50
バッチ以外はスレ違い
758:デフォルトの名無しさん
07/03/23 17:28:41
>>757
そうだね。
だからバッチファイルで実行できる>>756はスレ違いじゃないよね。
759:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/03/23 18:49:00
勘弁してくれ……
763:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/03/23 19:26:48
テスト
766:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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.