[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 05/09 18:49 / Filesize : 119 KB / Number-of Response : 606
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【.cmd】 バッチファイルスクリプト %3 【.bat】



1 名前:デフォルトの名無しさん [2008/08/04(月) 23:27:23 ]
拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる
質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです。

※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう。

【前スレ】 (関連スレは>>2)
【.cmd】 バッチファイルスクリプト %2 【.bat】
pc11.2ch.net/test/read.cgi/tech/1197881068/



452 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 13:07:52 ]
バッチとまったく関係ないし、
パソコンの使い方の話は板違い

PC初心者
pc11.2ch.net/pcqa/    パソコンの使い方

初心者〜管理者まで必読!コマンドライン(DOS Pt.7)
pc11.2ch.net/test/read.cgi/win/1217738171/

453 名前:デフォルトの名無しさん mailto:sage [2008/10/06(月) 13:11:39 ]
COMMAND.COM ではそんなことなかったはずだから
CMD.EXE かな?

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を開くと「デバイスの準備が出来ていません」と出ます
どうしたらいいですか?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<119KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef