[表示 : 全て 最新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等の使用も
  検討しましょう。

481 名前:477 mailto:sage [2007/08/21(火) 21:24:49 ]
>>480
ありがとうございます。できました(*^v^*)

482 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 16:54:48 ]
WindowsXPって名前つきパイプみたいなもの使えます?

483 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 18:03:47 ]
>>482
mkfifoみたいなものを探してるなら、無いんじゃないかなあ。
一時ファイルを経由するしかないかと。APIでなら使えるけどね。

484 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 12:09:09 ]
%DATE%で当日の日付が取得できるのはわかるんだが
前日とか次の日ってのはどうやって取得すれば良いのかね??

485 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 12:43:29 ]
echo 今日は %date% です
echo 昨日の日付を入力してください
set /P prevdate=
echo 明日の日付を入力してください
set /P nextdate=

echo 前日は %prevdate% 、次の日は %nextdate% です

486 名前:484 mailto:sage [2007/08/29(水) 13:06:01 ]
>>485
いや、そりゃわかるんだが
もうちょい具体的に書くと
"昨日の日付.log"ていうファイルを触りたいときに
バッチファイル内でどういうふうに指定すれば良いのか教えてくだしあ。
って感じ

487 名前:485 mailto:sage [2007/08/29(水) 13:16:46 ]
以下のスレの最初の方に書いてあるよ
ttp://pc11.2ch.net/test/read.cgi/win/1176558776/

488 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 15:01:05 ]
ヒント: >>1の最後の2行

489 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 20:49:11 ]
>>484
「1日前の計算」のところに書いてあるよ
www.atmarkit.co.jp/fwin2k/win2ktips/419batchdate/batchdate.html



490 名前:489 mailto:sage [2007/09/01(土) 20:54:15 ]
自分も聞きたいことが

>>489のサイトの「変数値の部分文字列抽出用の修飾」のとこにでてくる
m文字目からn文字分抽出する %date:~m,n%
%~t0やfor文の%%~tAにこの修飾は使えないもんですかね?

もうひとつ、この手の文字列抽出の修飾は他にもあるんですか?
DOS、バッチ関連のサイトを読み漁ってるんですけど見つからなくて。。
gglのキーワードか、リファレンスサイト教えてもらえないでしょうか

491 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 21:54:46 ]
>>490
help set
help call

492 名前:デフォルトの名無しさん [2007/09/02(日) 00:14:45 ]
VBScriptをバッチファイルから呼び出しています
処理結果をerrorlevelへ返してバッチファイル側の分岐条件にしたいのですが
VBScriptから値を返す方法がわかりません
おねがいします

493 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 00:20:29 ]
WScript.Quit

494 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 00:30:45 ]
>>493
うまくいきました
ありがとうございます

495 名前:デフォルトの名無しさん mailto:sage [2007/09/05(水) 17:33:51 ]
バッチでこんな感じのテキストを作りたいのですが、
こういうのの参考になるコマンドとかwebsiteとか
ご存知ないでしょうか、それともテキスト処理
とかcygwinとか使ったほうがいいでしょうか?
どなたかよろしくお願いします。

9/1:6:30
9/2:7:00
9/3:7:30
・・・・
つづく

496 名前:デフォルトの名無しさん mailto:sage [2007/09/05(水) 17:37:27 ]
ユーザー必読!コマンドライン(DOS Pt.6)
pc11.2ch.net/test/read.cgi/win/1176558776/

497 名前:デフォルトの名無しさん mailto:sage [2007/09/05(水) 18:06:34 ]
>>495
とりあえず9/30まで

@echo off
set timeval=390
set day=1
:loop
set /A hour=%timeval% / 60
set /A min=%timeval% %% 60
set min=0%min%
echo 9/%day%:%hour%:%min:~-2%
set /A day += 1
set /A timeval += 30
if %day% == 31 goto :end
goto loop
:end

書いといて何だけど、WSH使った方がいいと思う。

498 名前:デフォルトの名無しさん mailto:sage [2007/09/05(水) 18:18:54 ]
やはり日付を扱うのはwindowsだとWSHとかなんですか。
なんだか苦手意識があって・・・
とりあえずはいただいたものでうまくできそうですので、
それを応用したいと思います。ありがとうございます。

499 名前:デフォルトの名無しさん mailto:sage [2007/09/05(水) 21:52:20 ]
cygwinを使おうと思うような人なら
JScriptでもPerlでもわけないというイメージがある。



500 名前:デフォルトの名無しさん [2007/09/05(水) 23:36:47 ]
バッチファイルを作りたいのですが、まったくの初心者です
OSはXP-Homeです

"C:\Program Files\×××\×××.exe"
通常はこれでソフトを起動させる事が出来るんですが
起動しないソフトもあるんですがその場合はどのように書けば良いでしょうか?

501 名前:デフォルトの名無しさん mailto:sage [2007/09/05(水) 23:42:11 ]
>>500
もしや、エクスプローラで拡張子を表示しない人?

502 名前:デフォルトの名無しさん [2007/09/05(水) 23:47:54 ]
>>501
確認しましたが拡張子はexeでした

503 名前:デフォルトの名無しさん [2007/09/05(水) 23:49:09 ]
例えば拡張子がtxtなどの場合は同様に起動しませんが
これを起動する方法を応用しても出来ないのでしょうか?

504 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 00:00:04 ]
起動しますが何か。

505 名前:デフォルトの名無しさん [2007/09/06(木) 00:06:28 ]
今やったら起動しました
何か間違ってたみたいですすいません
ついでなので起動中のソフトの終了の仕方も教えてください
バッチファイルで

506 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 00:19:21 ]
>>505
shutdown -s

507 名前:デフォルトの名無しさん [2007/09/06(木) 00:37:41 ]
>>506
shutdown -s "C:\Program Files\2chtubo\2chtubo.exe" shutdown
"C:\Program Files\2chtubo\2chtubo.exe" shutdown -s
shutdown "C:\Program Files\2chtubo\2chtubo.exe" -s
いずれも試しましたがダメでした

ちなみに起動や終了ができないソフトは壷です
"C:\Program Files\2chtubo\2chtubo.exe"
としても起動しませんでした

508 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 00:38:29 ]
訂正
一番上のはこっちです
shutdown -s "C:\Program Files\2chtubo\2chtubo.exe"

509 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 00:39:32 ]
2chの壷ってただのローカルプロキシサーバになるんじゃなかったっけ?



510 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 00:43:29 ]
そうですが本体はexeですし、設定もしてますよ

511 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 00:43:44 ]
>>505
taskkillコマンドがあるはずなんだが、うちじゃ使えない
というわけでwshをおすすめするよ

512 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 00:45:09 ]
>>510
多分起動してる(また多重起動した場合は直ぐに終了されている)と思われ
本体がexeかどうかは関係ないし、設定もこの話題の場合意味が無いと思う

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
例の病気の人ですか?






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

前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