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


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

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



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

【関連スレ】
バッチファイルプログラミング 3.bat
pc11.2ch.net/test/read.cgi/tech/1148485555/
WSH(・∀・)スレッド! Part 2
pc11.2ch.net/test/read.cgi/tech/1176698934/
Windows PowerShell (正式版リリース)1.0
pc11.2ch.net/test/read.cgi/tech/1163818863/
HTAをもっと流行らせる計画
pc11.2ch.net/test/read.cgi/tech/1124559962/
ユーザー必読!コマンドライン(DOS Pt.6)
pc11.2ch.net/test/read.cgi/win/1176558776/
MS-DOS・Win3.1総合スレッド
pc11.2ch.net/test/read.cgi/win/1025462258/

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

513 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 00:45:53 ]
つ TASKKILL /?

514 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 00:46:58 ]
>>513
taskkillってXP Homeで使えるの?
こうなるんだけど

D:\Documents and Settings\俺用>taskkill
'taskkill' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

515 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 00:50:01 ]
確かXP-Proと2000にしかなかった気がする

516 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 00:54:14 ]
XP Pro x64だけどtaskkillあった

517 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 06:03:56 ]
cygwin, sysinternals suite入れてないやつはアフォ

518 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 06:14:37 ]
cygwin入ってたらcmd.exeの貧弱なシェルスクリプトにこだわる必要ないじゃん

519 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 08:44:50 ]
アクティブスクリプトでなくわざわざWindows外部の基盤システムを導入してその上のスクリプトを呼び出す神経がわからん

520 名前:489 mailto:sage [2007/09/06(木) 13:41:21 ]
>>491さん
遅くなりましたがレス有難うございました
HELPはかなり重要なことが書かれていますね
全コマンドのHELPをリダイレクトしてテキストに生成するバッチ組んで見ました
印刷して製本して熟読しようと思いますー

521 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 19:00:48 ]
>>507
とりあえず shutdown /? 位見てから書き込もうね。

アホすぎて見てらんない。

rd /q/s 〜 なトラップに引っかかるタイプの人でしょ。



522 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 19:56:56 ]
そういうshutdownみたいなコマンドの使い方は
プログラミングとは言わないから板違いでスレ違いだろ

523 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 23:58:21 ]
スクリプトでソフトを全部終了させればいいじゃない

524 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 00:02:39 ]
>>523
的に当たらないから矢をでかくした感じだな

525 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 00:57:52 ]
'shutdown' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

526 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 20:46:08 ]
WindowsXP/2003からの機能だよ

527 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 01:30:52 ]
WindowsXP/2003から新たに導入されたコマンドやツールはコピーしておくと便利だな。
msconfigとかもね。まあスレ違いだけど。

528 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 02:46:52 ]
>>527
コピーした先の環境がEXE Hellに陥る姿をみてわろた

529 名前:デフォルトの名無しさん [2007/09/10(月) 12:38:39 ]
こういうのはどうやれば良いのでしょうか?

「○○を実行しますか?(Y/N)」とメッセージを表示させ、
YならラベルYを実行、NならBATファイル終了。



530 名前:529 mailto:sage [2007/09/10(月) 12:49:44 ]
申し遅れました。

環境は、Windows2000です。

531 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 13:12:15 ]
そこまで初心者ならこっちのスレへどうぞ

ユーザー必読!コマンドライン(DOS Pt.6)
pc11.2ch.net/test/read.cgi/win/1176558776/



532 名前:529 mailto:sage [2007/09/10(月) 13:14:07 ]
>530

ありがと。
レベル違いすぎてて

533 名前:デフォルトの名無しさん [2007/09/10(月) 14:02:53 ]
チョイスとか言ってみる

534 名前:デフォルトの名無しさん [2007/09/10(月) 21:50:31 ]
set /p と if /i を使う手がある

535 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 00:09:07 ]
choiceってXPやVistaにもあったっけ?

536 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 00:26:45 ]
>>535
ない。
確かDOSでもかなり後のバージョンでないと入ってなかった気がする。

537 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 01:33:10 ]
batに対してフォルダをD&Dすればそのフォルダを圧縮、
batをダブルクリックで起動した場合には規定のフォルダを圧縮
という動作のために、最初の行に
if "%1" == "" goto default
と書いたのだけど、D&Dするフォルダに空白が含まれていると%1が
if ""some folder"" == "" goto default
と展開されるらしくエラー。
かといってダブルクォートをなくして
if %1 == "" goto default
とした場合はダブルクリック起動で
if == "" goto default
となってしまうのでエラー。

どうすれば良いでしょうか。



538 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 01:50:50 ]
"%~1"

539 名前:537 mailto:sage [2007/09/11(火) 02:38:11 ]
>>538
神様ありがとうございました。

540 名前:デフォルトの名無しさん [2007/09/11(火) 12:00:13 ]
バッチファイルで複数の指定ファイルを削除する場合の書き方を教えてください


541 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 12:01:48 ]
del a.txt "c:\program files\b.txt" c.txt



542 名前:540 [2007/09/11(火) 12:16:43 ]
>>541
ありがとうございました

543 名前:デフォルトの名無しさん [2007/09/11(火) 12:45:09 ]
ゲームで極める シェルスクリプトスーパーテクニック
www.gihyo.co.jp/books/978-4-7741-3202-0
slashdot.jp/books/article.pl?sid=07/09/06/2334232

動画
jp.youtube.com/watch?v=HaKhw2nUgTk


バッチファイルおわった・・・

544 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 13:16:48 ]
ファイル消すのにもいちいち質問してるようじゃ
入門書すら存在しないんだろうね

545 名前:デフォルトの名無しさん [2007/09/11(火) 19:14:05 ]
今時バッチの入門書なんて

546 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 20:16:28 ]
>>543
そもそも動作環境が違うんだから、比較する意味が無いだろう。
むしろ将来的にパワーシェルがWindows標準になる事を考えれば、
そっちのほうが。

バッチファイルはちょっと複雑な事をさせようとすると、感覚的に
わかりづらい記述になるので、バッチファイルを極めるより、WSHを
覚えたほうがマシだね。

ちなみにモレは丁度、一昨日買った所。1キー入力で反応させるのとか目から鱗だった。

547 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 15:32:16 ]
本の宣伝にしか見えないんだけどw

548 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 23:19:39 ]
宣伝にマジレス。漏れおわった・・・・

549 名前:デフォルトの名無しさん mailto:sage [2007/09/13(木) 08:44:07 ]
>>543
すげーな。俺この本買ってUNIXに乗り換えるわ。
お前らはいつまでもしょぼいバッチファイルをしこしこ書いてなさいってこった。

550 名前:デフォルトの名無しさん mailto:sage [2007/09/13(木) 11:23:01 ]
rem文中のメモでも %~~ の表記があるとバッチが落ちて驚いた
ということはremでメモを残すことにもリスクがあるのか

551 名前:デフォルトの名無しさん [2007/09/13(木) 16:20:51 ]
aaa.log というファイルが0バイトなら削除するっていうのはどう書いたらいい?



552 名前:デフォルトの名無しさん mailto:sage [2007/09/13(木) 16:26:59 ]
call :main c:\test.txt
exit /b

:main
if "%~z1"=="0" del "%~1"

553 名前:デフォルトの名無しさん mailto:sage [2007/09/13(木) 18:59:32 ]
@echo off && goto enddoc

    指定時間まで寝るコマンド

:usage
    echo Usage: SleepAt TIME [COMMAND]
    echo.
    echo Sample: SleepAt 16:00 %systemroot%\media\tada.wav
    goto exit

:enddoc

    if "%~1" == "/h" goto usage
    if "%~1" == "/?" goto usage
    if "%~1" == "" goto usage

:loop
    title sleepat %~1 now:%time:~0,8%
    if "%time%" gtr "%~1" goto exit
    sleep 1
    goto loop

:exit
    if "%~2" == "" exit /b
    %2 %3 %4 %5 %6 %7 %8 %9


554 名前:903 [2007/09/14(金) 02:04:28 ]
バッチファイルに
Format C とかいて
スタートアップにおいたらどうなります?

555 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 02:09:21 ]
>>554
無効なドライブ指定です。

556 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 08:12:57 ]
>>554
アクセスは拒否されました。

557 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 17:16:40 ]
質問させてください。
FireFoxとかインストールするときに次へ進むボタンとかあるけど
batだけで全部処理できますか?

558 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 18:38:00 ]
ここはバッチでプログラミングするスレなので、
既にバッチを使いこなせる人を対象としています。

バッチを知らない人やバッチ初心者はこちらへ

ユーザー必読!コマンドライン(DOS Pt.6)
pc11.2ch.net/test/read.cgi/win/1176558776/

559 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 02:29:17 ]
558(荒らし)の言っていることに騙されてはいけませんよ。

560 名前:デフォルトの名無しさん [2007/09/19(水) 10:55:29 ]
ファイルの中に特定の文字列があれば削除するってのはどう書けば良い??

561 名前:560 [2007/09/19(水) 11:04:30 ]
ごめん、できた。
ありがとう。



562 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 13:46:02 ]
特定の文字列があれば、そのファイル自体を削除するのか
その文字列を削除するのかわからないけど
バッチ組めたならアップしておくと参考になっていいと思うよ

563 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 15:07:03 ]
その程度の物に参考も糞もあるかよw

564 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 10:42:30 ]
バッチでバイナリって扱えたっけ?

565 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 16:27:14 ]
/b

566 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 20:55:45 ]
テキストもある意味バイナリ

567 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 21:36:30 ]
いいえ、それはトムです。

568 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 19:41:48 ]
forの中でsetする時などは、遅延展開 !変数! を使うと思いますが、
名前に ! が含まれてるファイルを引数にすると期待通り動かなくなりますよね

callを使って遅延展開を代替することもできますが、やはり限界があると思います
みなさんははどうやって対処していますか?

569 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 19:47:01 ]
初心者はこちらへ

ユーザー必読!コマンドライン(DOS Pt.6)
pc11.2ch.net/test/read.cgi/win/1176558776/

570 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 19:51:13 ]
>568
他のスクリプト言語を使う

571 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 16:39:23 ]
なんだってエスケープは必要だろ



572 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 16:46:21 ]
>>568
対処法はWSHを使う

573 名前:デフォルトの名無しさん [2007/09/22(土) 16:47:45 ]
ユーザー必読!コマンドライン(DOS Pt.6) への誘導には
従う必要はありませんので。念のため。

574 名前:デフォルトの名無しさん [2007/09/22(土) 16:54:32 ]
任意のフォルダに任意のテキストファイル(内容在り)を
作成すること可能ですか?



575 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 16:58:33 ]
>>574
echo 在り > 任意の\任意の.txt

576 名前:574 [2007/09/22(土) 17:04:21 ]
>>575
ありがとうございます!

577 名前:574 [2007/09/22(土) 17:15:08 ]
度々すいません。
echo 「ファイル内容」 > 任意の\任意の.txt
のコマンドですが、
「ファイル内容」を複数行にしたい場合はどう記述すればよいのでしょうか?
\nとかは試してみましたけどダメでした・・・


578 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 17:29:07 ]
echo 1行目> 任意の\任意の.txt
echo 2行目>> 任意の\任意の.txt
echo 3行目>> 任意の\任意の.txt
……

579 名前:574 [2007/09/22(土) 17:31:19 ]
>>578
すいません。
どうもありがとうございました。

580 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 18:37:41 ]
小学生?

581 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 18:39:17 ]
>>580
例の病気の人ですか?



582 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 05:51:46 ]


583 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 14:34:48 ]
どっかで
echo >> filnemae.txt aaaaaaaaaaaaaa
echo >> filnemae.txt bbbbbbbbb
echo >> filnemae.txt cccccccccccccccccccccccccc
echo >> filnemae.txt dddddd

みたいな書きかたしててちょっとよさげにみえた

584 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 19:10:09 ]
filnemae?

585 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 20:14:20 ]
>>583
> filnamae.txt echo aaaaaaaaaaaaaa
>> filnamae.txt echo bbbbbbbbb
>> filnamae.txt echo cccccccccccccccccccccccccc
>> filnamae.txt echo dddddd

こんなんでもいいんだよね

586 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 19:00:48 ]
(
echo aaaaaaaaaaaaaa
echo bbbbbbbbb
echo cccccccccccccccccccccccccc
echo dddddd
) >> filnemae.txt


587 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 05:33:10 ]
へー、美しい書き方だな

588 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 20:31:51 ]
echo aaaaaaaa^
bb^
ccc^
ddd

もいけるぜ改行されないけど

589 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 21:44:08 ]
echo aaaaa^

bbbbb^

ccccc^

ddddd> failname.txt


でも行ける。改行がCR+LFでなくLFだけでも良ければ。

590 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 19:53:17 ]
dllの読み込みって、%path%とカレントディレクトリでどっちが優先されるのでしょうか?

591 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 20:12:46 ]
アプリケーション側で読み込む DLL のパスを指定していなければ
1. アプリケーションのあるディレクトリ
2. カレントディレクトリ
3. システムディレクトリ
4. Windows ディレクトリ
5. 環境変数 PATH に書かれているディレクトリ
の順。、



592 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 20:37:56 ]
ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.WIN32COM.v10.en/dllproc/base/dynamic-link_library_search_order.htm
最近のWindowsでは、システム・ウィンドウズディレクトリより
カレントディレクトリの順位のほうが低い。

環境変数PATHより高いことに違いはないけどな。

593 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 20:38:55 ]
上のURLはローカルなms-helpだったな、すまん。
msdn2.microsoft.com/en-us/library/ms682586.aspx

594 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 20:49:39 ]
おまいらスレタイ見直せ

595 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 22:23:01 ]
>>1に書いてある関連情報の範疇

596 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 08:17:15 ]
powershellの話もここで扱うの?


597 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 08:20:41 ]
pc11.2ch.net/test/read.cgi/win/1163764836/

598 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 10:36:38 ]
win板か、じゃぁイラネ


599 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 09:56:34 ]
同一ディレクトリ内に、
同一内容のファイル(ファイル名は異なるが内容は一緒)があれば、
一方を削除して、その消したログを吐き出すっていう
バッチファイルを作りたいんですが・・・。
教えてエロイ人!

600 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 10:07:01 ]
まだ自分でプログラムを作れない初心者はこっちへ↓

ユーザー必読!コマンドライン(DOS Pt.6)
pc11.2ch.net/test/read.cgi/win/1176558776/

601 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 11:41:01 ]
600は荒らしなので無視してかまいません



602 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 11:56:59 ]
>>599
そういうのはWSHでやったほうが

603 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 12:02:15 ]
>>599
ifとforとerrorlevelとfcとdelでできるかも
遅いだろうね

604 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 12:15:46 ]
総当りになるからファイル数の二乗で処理が増えるわな
その前にファイルサイズでふるいにかけて…

UnDupでも使っとけって話だな。

605 名前:599 mailto:sage [2007/10/23(火) 12:46:41 ]
>>600-604

ありがとうございます!
やっぱり総当たりになるから遅いですよね。
ファイルサイズで対象を削ってから・・・なるほど。。。

WSHについても、調べてみますー。

606 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 19:22:57 ]
@echo off
setlocal EnableExtensions EnableDelayedExpansion
pushd %1
set FileSize=-1
set FileName=""
for /f "tokens=*" %%I in ('dir "%TargetDir%" /o:sn /b /a:-d') do (
if !FileSize! EQU %%~zI (
fc /b !FileName! "%%~fI">nul
if not errorlevel 1 echo del "%%~fI"
) else (
set FileSize=%%~zI
set FileName="%%~fI"
)
)
popd


607 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 19:27:23 ]
>>606
消し忘れた

誤: ('dir "%TargetDir%" /o:sn /b /a:-d')
正: ('dir /o:sn /b /a:-d')


あと、十分にデバッグしてもらった後に

誤: echo del "%%~fI"
正: del "%%~fI"


608 名前:606 mailto:sage [2007/10/23(火) 19:30:37 ]
・・・すまん
同じサイズで内容の異なるファイルが3つ以上あるとこれじゃだめだね。

めんどいので、後は任せた・・・

609 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 21:34:06 ]
>>599
WSHでやるなら↓を流用するといいかも
pc11.2ch.net/test/read.cgi/tech/1176698934/227-228

610 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 22:32:47 ]
わざわざ作ったのか

611 名前:606 mailto:sage [2007/10/23(火) 22:38:09 ]
任せた・・・とか言いながらやっぱり自分で書いてみたりして・・・

@echo off
setlocal EnableExtensions EnableDelayedExpansion
pushd %1
set FileSize=-1
set FileList=""
for /f "tokens=*" %%I in ('dir /o:sn /b /a:-d') do (
if !FileSize! EQU %%~zI (
call :CmpFile "%%~fI" !FileList!
) else (
set FileSize=%%~zI
set FileList="%%~fI"
)
)
popd
endlocal
goto :eof

:CmpFile
fc /b %1 %2>nul
if not errorlevel 1 (
echo del %1
REM del %1
goto :eof
)
shift /2
if not "%~2"=="" goto :CmpFile
set FileList=%FileList% %1




612 名前:デフォルトの名無しさん [2007/10/23(火) 22:48:54 ]
バッチのFOR文ってすごく難しいと思うんですが
自分だけでしょうか?


613 名前:デフォルトの名無しさん [2007/10/23(火) 22:50:38 ]
難しいかどうかは、人それぞれだろうが
奥が深いのは確か。






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

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

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