- 1 名前:デフォルトの名無しさん [2008/08/04(月) 23:27:23 ]
- 拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる
質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです。 ※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう。 【前スレ】 (関連スレは>>2) 【.cmd】 バッチファイルスクリプト %2 【.bat】 pc11.2ch.net/test/read.cgi/tech/1197881068/
- 454 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 13:19:01 ]
- >>451
そういう動作でもないっぽい。 適当なファイルを.exeに変えたら中身に関わらずバイナリとして実行しようとするし、 適当な.exeを.batや.cmdにリネームするとバッチとして実行しようとする。 よくわからん。
- 455 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 13:27:55 ]
- 何も考えてないんだろ。
for文とか場当たり的な拡張を繰り返したような文法だし。 継ぎ足し継ぎ足しなケース分けのコードがいっぱい入ってそう。
- 456 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 14:13:53 ]
- >>450
メモ帳かバイナリエディタでexeファイルを開いてみろ。 先頭にMZ〜ってあるだろ?それで判別してる。 詳しくは「ヘッダ」でググれ
- 457 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 14:23:58 ]
- >>452
病人は病院に行きましょう
- 458 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 14:28:55 ]
- >>457
いい加減スレ荒らすのやめてくれ。お前みたいなのが人生かけてマンマークしたところで メンヘラが消えたためしがなんだが。
- 459 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 16:20:49 ]
- 拡張子が com, exe → ヘッダ部分を読んでMZならexe実行。でなけりゃ com 実行。
それ以外→とりあえずヘッダ部分を読んでMZならexe実行。でなけりゃ関連づけ。 じゃないかと推測。
- 460 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 16:37:01 ]
- ここはお前の日記帳じゃねえよ
チラシの裏にでも書いてろ
- 461 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 17:34:01 ]
- 拡張子が付いてればCreateProcess それでエラーなら関連付けへ
- 462 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 17:37:09 ]
- また推測か
氏ねやゴミ
- 463 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 17:43:10 ]
- ollyで調べた
- 464 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 22:17:35 ]
- >>456
それは知ってるんだけど、そこに何故拡張子のあるなしが関係する?というのが メインの疑問で。 MZとだけ書いたテキストファイルmz.txtをコマンドプロンプトから開こうとすると 実行ファイルとして扱われるんだな… かといって拡張子を消したらダメ。
- 465 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 23:30:55 ]
- start mz.txt
- 466 名前:デフォルトの名無しさん [2008/10/10(金) 12:00:18 ]
- UNIX 系のシェルにある where コマンドと同じような
働きをするコマンドって用意されていますか? PATH で指定されるディレクトリ群の中に同名の実行ファイル があった時にどれが実行されるのかを表示してくれるコマンドです.
- 467 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 12:02:57 ]
- Vista には where あるよ
- 468 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 12:05:07 ]
- パソコンの使い方の話は板違い
PC初心者 pc11.2ch.net/pcqa/ パソコンの使い方 初心者〜管理者まで必読!コマンドライン(DOS Pt.7) pc11.2ch.net/test/read.cgi/win/1217738171/
- 469 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 12:26:42 ]
- >>467
- 470 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 14:30:17 ]
- XPにもあるけど?
C:\Program Files\Support Tools\Where.Exe
- 471 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 14:37:24 ]
- つかえfor
for %I in (notepad.exe) do echo %~f$PATH:I
- 472 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 21:42:49 ]
- >>470
ないぞ?
- 473 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 23:43:54 ]
- あるぞ
- 474 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 23:45:50 ]
- 素のXPには無い
- 475 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 00:07:21 ]
- ftp://ftp.microsoft.com/reskit/y2kfix/x86/where.exe
- 476 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 01:13:21 ]
- バッチで画像を出す方法ってありますか?
- 477 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 01:14:08 ]
- ところで、タイトルの%3って、バッチなら%%3の方が委員では
- 478 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 01:33:21 ]
- echo 画像
- 479 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 02:00:06 ]
- start 画像
- 480 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 02:38:54 ]
- >476
start "" 画像ファイル とか。ビューアを指定したいならビューアで開く。 コマンドプロンプトの画面内に表示したいなら、無理じゃないかな。
- 481 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 03:53:38 ]
- >>477
- 482 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 14:38:43 ]
- アスキーアートを表示する
- 483 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 15:00:52 ]
- echox使ってカラーでビットマップ表示しろ
- 484 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 16:43:08 ]
- 拡張子無しのファイルとフォルダを区別する方法ってありますか?
今まで、 if "%~x1"=="" goto fol でやってたのですが、拡張子無しのファイルも含まれることに最近気づいたので
- 485 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 17:24:28 ]
- 普通にある
そんな馬鹿なことやってるのお前だけだ
- 486 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 17:38:40 ]
- >>484
if exist "%1\nul" goto fol
- 487 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 17:49:46 ]
- >>486
それローカルドライブには通用するんだけど ネットワークドライブだとファイル\nulも 真になっちゃっていまいちなのよね。 確実なのは dir /ad "%~1" >nul 2>&1 if %ERRORLEVEL% == 0 goto fol かな。
- 488 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 19:18:15 ]
- >>487
振り分けできました。ありがとうございます。 >>486 自分の環境ではうまく動作しなかったので、今回は487を使うことにしました。 ありがとうございます。
- 489 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 10:39:32 ]
- >>476
mspaint 画像.jpg
- 490 名前:デフォルトの名無しさん [2008/10/13(月) 13:49:30 ]
- さっきどっかのレスで見かけた
cmd / 〜あと似たことがいくつか でファイル名を指定して実行したら全てのデータが消えた・・・ 戻す方法は無いのでしょうか?
- 491 名前:デフォルトの名無しさん [2008/10/13(月) 13:56:16 ]
- >>490
あとシステムの復元使ってもファイルは消えたまんまだった 誰かタスケテ
- 492 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 14:06:24 ]
- >>490-491
ttp://cowscorpion.com/Software/FileRecovery.html
- 493 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 14:10:13 ]
- dir /ad "c:\System Volume Information"
うまくいかねぇ
- 494 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 14:15:03 ]
- if exist "c:\System Volume Information\nul" goto fol
こっちもあかん
- 495 名前:デフォルトの名無しさん [2008/10/13(月) 14:49:08 ]
- >>492
not foundでした・・・
- 496 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 15:06:52 ]
- not foundじゃないよ
- 497 名前:デフォルトの名無しさん [2008/10/13(月) 15:10:33 ]
- ほんとだorz
ちょっと試してきます
- 498 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 15:43:44 ]
- >>493-494
System Volume Informationに対するアクセス権ないからだと思われ それケースにも対応するならこんな感じかな? dir /ad /b "%~dp1" | findstr /x /c:"%~nx1" >nul 2>&1 if %ERRORLEVEL% == 0 echo folder
- 499 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 16:27:03 ]
- ウイルス危険
- 500 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 19:25:16 ]
- >>487
少し前にそのへんを検証したページを見た記憶があるんだが、思い出せん。 ベストなのは exist "%1\." とかだったかなぁ。
- 501 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 20:10:34 ]
- >>500
ttp://otn.blogtribe.org/
- 502 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 20:41:34 ]
- exist "%1\."?
なんかもうperlに近いな
- 503 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 20:44:47 ]
- 「パソコンの使い方」と言う人来ないねw
- 504 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 20:51:50 ]
- 召喚するなw
- 505 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 20:54:26 ]
- if exist "ファイル\." echo 駄目やんけ
- 506 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 21:02:35 ]
- if exist 「パソコンの使い方」と言う人 echo 来るな
- 507 名前:デフォルトの名無しさん mailto:sagr [2008/10/13(月) 21:32:25 ]
- if exist "c:\System Volume Information\\*" goto fol
>>501 もあかん
- 508 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 21:54:02 ]
- ここはお前の日記帖
- 509 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 00:47:37 ]
- >>507
だからそこはアクセス権の問題だろ。 別のディレクトリで試せよ。
- 510 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 01:17:01 ]
- >>498
dir /ad /b "%~dp1" | findstr /x /c:"%~nx1" >nul 2>&1 はSFNであかん
- 511 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 15:18:21 ]
- dirはdirectoryの中を見るもので、directory自身を見るものじゃない
すじも性能も悪いからやめとけ directory自身を見ろ
- 512 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 20:33:35 ]
- >>510
なるほど、SFNのことは考えてなかった。 じゃあこんなのはどうだろう。 echo "%~a1" | findstr ^d >nul if %ERRORLEVEL% == 0 goto fol
- 513 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 20:48:19 ]
- まどろしかよ
set a=%~a1 if %a:~0,1%==d goto fol
- 514 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 20:57:51 ]
- マトリョーシカって何?
- 515 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 22:28:20 ]
- ロシアの入れ子人形
- 516 名前:デフォルトの名無しさん mailto:sage [2008/10/14(火) 23:56:53 ]
- 古語【間怠(まどろ)し】 手緩い もどかしい
- 517 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 22:46:49 ]
- 通りすがりだがネタがなさそうなので投下しておこう。
AKAI ME30PII Simulator for Win32(2000/XP/Vista) ttp://ktbrick.tamajiri.com/ 試作で作ったとあるMIDI関連機器の操作部分だけクローン。 この程度と笑ってやってくれorz
- 518 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 22:51:32 ]
- >>517
000〜002を結合させたファイルをダウンロードさせたくない理由があるの?
- 519 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 23:24:19 ]
- >>518
単に借りているところの容量制限。
- 520 名前:デフォルトの名無しさん mailto:sage [2008/10/16(木) 23:47:24 ]
- >>519
納得
- 521 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 00:09:29 ]
- sakuratan.ddo.jp/imgboard/img-box/img20081019000521.jpg
計算が合わない・・・・・ @echo off set var=1 set flu=0 md K:\0 for %%i in (*.bmp,*.jpg,*.png,*.ico,*.gif,*.jpeg) do ( copy K:\東方\東方MAX\%%i K:\%flu%\ call :add %flu% ) pause :add IF %var%==600 ( set/a flu=%flu%+1+1+1 echo %flu% ←これecho %%flu%% set var=0 md K:\%flu% pause ) set/a var=%var%+1 exit/b いちおうK:\東方\東方MAXのなかの数千枚のがぞうを600枚単位でKドライブ直下に0〜どんどんフォルダつくって移動する ってな物を作ってるんですが フォルダの名前を出すための計算?がおかしいです。どこ直せばいいでしょうか ちなみにループ1週目が0になり2週目も0になり3週目で1になります。
- 522 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 00:10:28 ]
- ああ、ミスったset/a flu=%flu%+1+1+1 はテストのために書いた。
本当はset/a flu=%flu%+1です
- 523 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 00:28:26 ]
- >>164
- 524 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 01:07:01 ]
- 遅延環境変数の展開って理解されにくいよね
- 525 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 01:10:16 ]
- 環境変数の遅延展開って理解されにくいよね
- 526 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 01:16:33 ]
- set /a flu=%flu%+1 とかより set /a flu+=1 の方がスマート
- 527 名前:521 mailto:sage [2008/10/19(日) 02:39:48 ]
- 遅延環境変数なのかな?
書き換えて set /a sra=%flu%+1 とかにしてもsraに変数が入らない(´・ω:;.:... setlocal ENABLEDELAYEDEXPANSION を入れても!flu!が文字列としてしか認識されない(´;ω;`)ブワッ
- 528 名前:521 mailto:sage [2008/10/19(日) 02:44:52 ]
- >>527 変数に値が入らないの間違いだ(´・ω・`)
- 529 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 03:26:04 ]
- @echo off
setlocal ENABLEDELAYEDEXPANSION set var=1 set flu=0 md K:\0 for %%i in (*.bmp,*.jpg,*.png,*.ico,*.gif,*.jpeg) do ( copy K:\東方\東方MAX\%%i K:\%flu%\ call :add %flu% ) pause goto :EOF :add IF %var%==600 ( set/a flu+=1 echo !flu! set var=0 md K:\!flu! pause ) set/a var+=1
- 530 名前:521 mailto:sage [2008/10/19(日) 03:44:53 ]
- >>529 動いてないように見えて動いてたわ・・・・・
んでもこうするとコピー先指定どうするか・・・・
- 531 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 03:50:53 ]
- copyのとこも!flu!にして
- 532 名前:521 mailto:sage [2008/10/19(日) 03:59:24 ]
- ありゃ、なんだまた見た目に翻弄された(´・ω:;.:...
ご迷惑をおかけしました・・・・・・・・
- 533 名前:521 mailto:sage [2008/10/19(日) 04:00:33 ]
- @echo on で見てると出力先がK:\!flu!\って見えるから誤解してた。
皆さんトンクス
- 534 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 04:39:39 ]
- echo ZUN信者乙
- 535 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 15:10:43 ]
- >@echo on で見てると出力先がK:\!flu!\って見えるから
はぁ?
- 536 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 15:24:48 ]
- >>535
はぁ?w
- 537 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 19:56:45 ]
- >>535
展開されてないように見えるだろがw
- 538 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 19:59:44 ]
- >>529
> call :add %flu% 引数使ってなくね?
- 539 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 20:08:51 ]
- !にしなくていい%を!にして
!にしないといけない%を!にしてないのは ぱぁ?
- 540 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 20:40:16 ]
- > !にしなくていい%を!にして
どれよw
- 541 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 20:47:02 ]
- echo !flu!
md K:\!flu!
- 542 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 21:07:17 ]
- 環境変数の遅延展開って理解されにくいよね
- 543 名前:デフォルトの名無しさん mailto:sage [2008/10/20(月) 20:50:27 ]
- ディレクトリの中の実行ファイルを名前順に実行するには
どうしたらいいんでしょうか(´・ω・`) start /w ---.exe とか延々書いたりdirをテキストにリダイレクトして順次読めないか とか試してみたんですがうまくいきません('A`) どなたかおねがいします・・・
- 544 名前:デフォルトの名無しさん mailto:sage [2008/10/20(月) 21:13:42 ]
- >543
まずパソコンの使い方を勉強しましょう PC初心者 pc11.2ch.net/pcqa/ パソコンの使い方 初心者〜管理者まで必読!コマンドライン(DOS Pt.7) pc11.2ch.net/test/read.cgi/win/1217738171/
- 545 名前:デフォルトの名無しさん mailto:sage [2008/10/20(月) 21:14:49 ]
- >>544は荒らしなので無視していいです。
>>3を参照
- 546 名前:デフォルトの名無しさん mailto:sage [2008/10/20(月) 21:17:09 ]
- >>543
start /w ---.exe でほんとにうまくいかないんですか?
- 547 名前:デフォルトの名無しさん mailto:sage [2008/10/20(月) 21:19:21 ]
- コマンドラインが満足に使えない人ですか?
- 548 名前:デフォルトの名無しさん mailto:sage [2008/10/20(月) 21:26:05 ]
- Vistaですがビッグローブの動画がみれません
コンポーネントをアップグレードしてくださいって言われるけどできません どうすればいいでしょうか?
- 549 名前:デフォルトの名無しさん mailto:sage [2008/10/20(月) 21:28:19 ]
- そんな動画見なくていいよ
- 550 名前:デフォルトの名無しさん mailto:sage [2008/10/20(月) 21:29:53 ]
- 役にたつ奴いねーから帰るわ。
- 551 名前:デフォルトの名無しさん mailto:sage [2008/10/20(月) 21:33:51 ]
- >>546
や、うまくいくんですが量がおおくめんどいので ディレクトリの中全部を手っ取り早く処理できないかなー ってことでw テキストに入れてfor /f でとりだすのか・・・?くらいの知識しかねーす('A`) すんませんー
- 552 名前:デフォルトの名無しさん mailto:sage [2008/10/20(月) 21:35:47 ]
- 友人からPCゲームを借りたのですが、マイコンピューターからCDーROMを開くと「デバイスの準備が出来ていません」と出ます
どうしたらいいですか?
- 553 名前:デフォルトの名無しさん mailto:sage [2008/10/20(月) 21:38:51 ]
- >>551
カレントディレクトリの中のexeを実行するなら for %%i in (*.exe) do start /w %%i でどうでしょう
- 554 名前:デフォルトの名無しさん mailto:sage [2008/10/20(月) 21:40:25 ]
- そんなゲームやらなくていいよ
|

|