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

458 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 23:13:23 ]
DLしたアプリケーションが開けない
コマンドプロンプトで作られた物だとは思うが
開いた瞬間勝手に閉じてしまう
どうすればいいかな?

459 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 23:27:30 ]
>>458
コマンドプロンプトの使い方を覚えろ。
話はそれからだ。

460 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 12:02:59 ]
>>458
コマンドプロンプトから開けばいい

461 名前:デフォルトの名無しさん [2007/08/13(月) 12:37:49 ]
yahooなどのログインを自動的に行うにはどうすればいいんでしょうか?
net useを使ってみたんですがうまくいきません。
どのようなコマンドを使うかだけでもいいのでヒントをいただけないでしょうか

462 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 14:10:45 ]
>>461
バッチよりWSHやHTAでやったほうがいよ

463 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 14:15:11 ]
てかyahooしらんが、
そもそもHTTPセッションで管理されてたらbatでもスクリプトでも色々ムリがあると思われ

464 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 14:25:07 ]
>>462-463
ありがとうございます。バッチだと難しいんですね

465 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 15:09:05 ]
>>458
コマンドプロンプト開いて(Win+Rでcmd.exeと入力)
cd c:\yourappdir
yourapp.exe
とかやればよし

466 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 17:08:22 ]
batのfor文で、in() のカッコの中に%1を入れも動かないんですが、何故なんでしょうか?
%1にはD&Dしたテキストファイルのフルパス名が入っているはずなんですが・・



467 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 17:15:03 ]
>>466
echoをONにしてコマンドプロンプト上から実行してみろよ。

468 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 17:21:41 ]
>>467
実行してみたらfor /f in (%1) doのはずが
for 1) do となっていました。("%1")でとしてもダメでした。どうすればいいのでしょうか?

469 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 17:33:21 ]
@echo off
for /F "delims=" %%i in (%1) do echo %%i
pause

特に問題ないが。

470 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 17:40:26 ]
>>469
%1のせいではなくて、%%iを%iとしてたためにできなかったみたいです。失礼しました。ありがとうございました!


471 名前:デフォルトの名無しさん [2007/08/20(月) 20:30:39 ]
質問です。
まず状況として、PC1とPC2、PC3がLANでつながっています。
PC1で既存のバッチを実行し、PC1内のファイルから新しいファイルを生成します。
作成されたファイルをPC2に渡して、また別の既存のバッチをPC2自身に実行させ、
渡されたファイルからさらに新しいファイルを生成します。
このファイルをあらかじめ指定した出力先(PC1〜PC3のいずれか)
にコピーして、終了。
PC1で開始したら、ここまで自動で処理するようにしたいのです。

考えていた案は、PC1に入れたプログラムで開始を指示すると
PC1のバッチを実行し、生成ファイルをPC2にコピー、
atコマンドで1分後にPC2自身にPC2の新規バッチを実行させ、
新規バッチ内で既存バッチを呼び出して処理後、出力先にコピーする、
というものでした。
ところがタスク内ではコピー先にネットワークのPCを指定するとエラーになるようで、
最後の出力先にコピーする部分で行き詰まりました。

この案自体何か考え方がおかしい気もするのですが、名案が浮かばず困っています。
既存のバッチを改変せずに一括して処理する、良い方法はありませんでしょうか?



472 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 22:00:25 ]
>>471

> ところがタスク内ではコピー先にネットワークのPCを指定するとエラーになるようで、
> 最後の出力先にコピーする部分で行き詰まりました。

その最後の部分のみが問題だったら、その部分のコマンドとエラー結果を貼るといい。

473 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 22:15:44 ]
>>472
実行アカウントの問題でしょ

474 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 22:35:35 ]
>>471
atじゃなくて、rshではいかんの?

475 名前:471 mailto:sage [2007/08/20(月) 23:08:12 ]
>472
たとえばbatch.batの最後の行が、copy c:\test.txt \\PC2\c\test で
at \\PC2 22:54 c:\batch.bat とやったとします。
at打つと54分の実行までは
状態 ID     日付                    時刻          コマンド ライン
-------------------------------------------------------------------------------
        1   今日                    22:54         copy c:\test.txt \\PC2\c\test
なんですが、54分過ぎると
エラー  1   明日                    22:54         copy c:\test.txt \\PC2\c\test
こうなります。ログは何も吐かないみたいですが…

>473
管理者アカウント取ってるのでat自体は問題なく通ります。

>474
それは知らなかったですね…試してみます。

476 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 07:47:47 ]
>>475
copy c:\test.txt \\PC2\c\test
の問題なら、
copy c:\test.txt \\PC2\c\test > c:\log.txt 2>&1
みたいな感じで自分でエラーをログファイルに落として確認するとか、
copy直後にpauseで一時停止してエラーを見ればいい。(atコマンドに/interactiveが必要か)



477 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 20:50:00 ]
copyするファイルと同じフォルダをコピー先として指定したい場合、どういう記述で指定すればいいですか?

478 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 20:53:12 ]
>>477
copy ファイル名 新しいファイル名

479 名前:477 mailto:sage [2007/08/21(火) 21:02:23 ]
>>478
送るにショートカットを置いて動作させたいと思ってるんですが、
そうしたらバッチファイルのあるフォルダにコピーされてしまったんです。
いちお

@echo off
copy %1 _title.jpg
end

みたいにしたんですが...

480 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 21:13:59 ]
copy %1 "%~dp1_title.jpg"

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

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 ]
難しいかどうかは、人それぞれだろうが
奥が深いのは確か。

614 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 22:54:29 ]
難しいと言うより可読性がとても悪いような

615 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 23:06:15 ]
スペースでインデントするとIEでは(専ブラでも)削除されるからだよ。

エディタにコピペしてみ。

616 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 23:09:55 ]
for文の可読性の悪さはインデント関係ないよ



617 名前:デフォルトの名無しさん [2007/10/23(火) 23:56:08 ]
java なんてこうだぜ!

for (String str : a) {
 System.out.println(str);
}

コレに比べたら

FOR %%I IN (*.*) DO (
 ECHO %%I
)

こっちがマシ。

618 名前:デフォルトの名無しさん mailto:sage [2007/10/23(火) 23:59:18 ]
どう見ても拡張しすぎだよな。
まったく異なる機能が一つのコマンドに無理やり詰め込まれてるって気がする。

ところで in のあとの ( ) は グループ化の ( ) より強いんだろうか?

619 名前:デフォルトの名無しさん [2007/10/24(水) 06:08:18 ]
つーかさっさとマルチタブなcmd.exe作れよ。糞エス
PowerShellでもガワが古いままとかドンだけてぇぬいてんだカス

620 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 07:51:29 ]
そんなぐらい自分でやれよ

621 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 11:28:23 ]
乞食らしくPowerShellIDEでも使わせてもらえよ。

622 名前:599 mailto:sage [2007/10/24(水) 12:02:13 ]
>>606さん

ありがとうございます!
早速、勉強しながらテストさせて頂きます!
こんなことがパッと書けるなんて、すごいなぁ。

>>609さん

おお!こっちも参考になりそうですね!
WSHも勉強してみたいと思います。

皆さん、色々ありがとうございましたー。

623 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 15:35:14 ]
unixみたいに、コマンドをバックグラウンド実行ってできないのでしょうか?

624 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 15:38:43 ]
ない
cygwinのbash使うか
start使うと別窓で開くが

625 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 16:15:39 ]
バッチじゃなくてOSやコマンドラインの話だな

626 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 16:24:34 ]
>>624
ありがとうございます。

コマンドプロンプトを非表示の状態でバッチを実行することってできますか?



627 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 16:49:25 ]
ここはパソコンの使い方を教える所じゃなくて
プログラムを作るスレ

628 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 17:08:00 ]
CreateProcessでSW_HIDEで実行すれば非表示に出来るが一般的とは言いがたいな。
start /min で最小化して実行するのが無難だな。

629 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 21:46:54 ]
627は阿保だろ

630 名前:デフォルトの名無しさん [2007/10/25(木) 03:01:55 ]
スタート⇒ファイル名を指定して実行

もしくはショートカットアイコンでも作ってクリックしろ

631 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 18:37:22 ]
>>626 FAQ >>358

632 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 18:43:48 ]
>>599
つ C:\Program Files\Support Tools\dupfinder.exe

633 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 23:05:33 ]
>>626
つ AT

634 名前:デフォルトの名無しさん mailto:sage [2007/10/25(木) 23:53:11 ]
フォルダに入っているすべてのWMVをEXEに渡して
とある変換処理をさせています↓

FOR %%F IN (*.WMV) DO C:\CONVERT.EXE "%%F"

しかし、このEXEは出力先が指定できず、同じフォルダ内に結果のWMVを作ります。
それでFOR対象の中に変換後のWMVが入ってきてしまい、
必要のない変換を行ってしまいます。

こういう場合どう書けばいいんでしょうか?
変換後のファイルは頭に'[Converted]-'とつきます。
これがついてるものだけを弾きたいんですが。

私の古い知識では他のバッチを作るとか
リネームして戻すととかくだらない方法しか思いつきませんorz

それと最近のバッチコマンド(WinNT以降?)について
よく解説されてるサイトとかってあります?

635 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 00:18:38 ]
FOR %%F IN ('DIR /B *.WMV') DO C:\CONVERT.EXE "%%F"


636 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 00:21:38 ]
>>626
ftp://ftp.microsoft.com/ResKit/win2000/soon.zip



637 名前:デフォルトの名無しさん [2007/10/26(金) 00:25:34 ]
>>634
>それと最近のバッチコマンド(WinNT以降?)について
>よく解説されてるサイトとかってあります?

pc11.2ch.net/test/read.cgi/tech/1178281991/6

638 名前:デフォルトの名無しさん [2007/10/26(金) 01:26:13 ]
FOR %%F IN (*.CS) DO CALL :convert "%%F"
GOTO :EOF

:convert
SET T=%~1
SET T=%T:~0,12%
IF NOT "%T%" == "[Converted]-" C:\CONVERT.EXE "%~1"
EXIT /B


639 名前:デフォルトの名無しさん [2007/10/26(金) 01:29:56 ]
いかん、まちごた。WMV やった・・・
FOR %%F IN (*.WMV) DO CALL :convert "%%F"
GOTO :EOF

:convert
SET T=%~1
SET T=%T:~0,12%
IF NOT "%T%" == "[Converted]-" C:\CONVERT.EXE "%~1"
EXIT /B

要するに、頭12文字が [Converted]- で無いヤツを処理するサブルーチン
つくればよかたい。

640 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 03:47:01 ]
>>634
同じフォルダ内というのが、CONVERT.EXEのあるフォルダじゃなくて
カレントディレクトリっていうことなら、話は簡単だが?

641 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 03:57:46 ]
>>635より簡単?

642 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 22:02:02 ]
for /f %%s in ('コマンド') do if errorlevel 1 echo %%s

'コマンド'のerrorlevelによって、'コマンド'の出力の処理を変えられますか?


643 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 22:37:44 ]
>642
そういう初歩的な話はこちらへどうぞ↓

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

644 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 22:39:14 ]
初歩的じゃないんだけど

645 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 22:44:13 ]
643はねんねの時間ですよー(^o^)

646 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 22:57:59 ]
初歩的だとしてもこのスレで問題ありません。
誘導厨の荒らしは頭のおかしい人なので無視しましょう。



647 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 23:09:22 ]
つまり初歩的なんだ

648 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 23:14:01 ]
要するに初歩的な話

649 名前:デフォルトの名無しさん [2007/10/28(日) 00:37:23 ]
「誘導厨」 か。いい言葉だな。こんど使わせてもらおうっと。

ここ以外にもスレをいくつか定期的に読んでるけど、
すぐ「検索しろ」「ググれ」って言うバカが多いのなんの。
検索しろで済むなら、このスレいらんやろ?
こういうヤツらを・・・んと、えっと、何と表現していいんだ?
そう、まさしく「誘導厨」。

650 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 00:50:00 ]
このスレの誘導厨はリアル人格障害のようですよ

651 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 00:57:13 ]
>>649
検索やググっても分からない奴に何を(ryw

652 名前:デフォルトの名無しさん [2007/10/28(日) 01:01:31 ]
>>650
あ、ほんとだ。

653 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 01:57:02 ]
自分の気に入らない奴には「〜厨」と付けて
勝った気になるというか自分の方が正しい気になるやつって居るよね

例えば、タバコ嫌いな奴は喫煙家を喫煙厨とか吐煙厨とか言って蔑み
喫煙家はタバコ嫌いな奴を嫌煙厨などと言って罵る

というわけで「〜厨」と呼ばれてる奴が、一方的におかしかったり
間違ってたりするわけではないというお話でした

「〜厨」と呼ばれる奴が悪いなら、「嫌誘導厨」と言われでも言い返す術は無くなるしw
もちろん誘導を嫌ってる奴の方が悪いって訳でもないけど、過剰に反応しすぎて
正しい誘導まで目に入ってない傾向はある
もっとも誘導する方もここの主旨の範疇まで誘導してる場合もあるからお互い様

654 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 02:01:45 ]
一方的におかしいから誘導厨と言われるんだろ

655 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 02:37:15 ]
テキストファイルの先頭行を削除するにはどうすっぺ?

656 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 03:20:18 ]
>>655
@echo off
echo 1d > hoge.tmp
echo e > hoge.tmp
edlin hage.txt < hoge.tmp
del hoge.tmp



657 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 03:31:42 ]
@echo off
for /f "skip=1 tokens=1* delims=:" %%x in ('findstr /r /n "^" "FILENAME.TXT"') do echo.%%y

658 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 04:05:36 ]
>>656

@goto a
1d
e
:a
@edlin hage.txt < "%~f0"

659 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 09:02:21 ]
unixのtailみたいなスマートな方法ないの?
もしかしてあんまり簡単にやってしまうとスレ違いになるから、無理に頭の悪い方法でやってる?

660 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 11:25:34 ]
スマートにやりたい人はCygwinやGnuWin32を入れる方向で

661 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 14:40:01 ]
for /f "skip=1 tokens=1* delims=:" %%x in ('findstr /r /n "^" "FILENAME.TXT"') do echo.%%y >"FILENAME.TXT"

for /f "skip=1 tokens=1* delims=:" %%x in ('findstr /r /n "^" "FILENAME.TXT"') do echo.%%y >>"FILENAME.TXT"


662 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 14:43:06 ]
>>661
当たり前だろ

663 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 19:51:39 ]
^Z

664 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 21:45:46 ]
>>658
(
echo 1d
echo e
)|edlin hage.txt

だけど、^Zが付くんじゃなあ

debugで削除するとか


665 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 22:09:58 ]
バッチファイルを実行したときの標準出力への出力を全部
ログに残したいんですが、いい方法はないでしょうか?
「これを最初に書いておけば以降の出力は全部ログに残る」
みたいのがあれば一番いいんですが。

666 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 22:11:27 ]
call :main > "%~0.log"
exit /b

:main
echo hello




667 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 09:12:17 ]
>>666 ありがとうございます。

668 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 09:46:07 ]
フォルダをドロップしたら中にあるファイルごとフォルダを削除してくれる
batファイルはありますでしょうか。

669 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 09:59:27 ]
がんばって作るんだ。

670 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 10:04:36 ]
デバッグどころか一度も実行していないが

if "%~1"=="" goto err
cd /d "%~1" || cd /d "%~dp1" || goto err
dir /w
echo.
echo "%cd%"のフォルダとファイルを削除します
pause
set folder=%cd%
del *.* || goto err
cd .. || goto err
rmdir "%folder%" || goto err
goto exit

:err
echo error
pause

:exit

671 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 10:13:22 ]
エクスプローラでドロップするんならエクスプローラで削除すれば簡単なのに

672 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 10:17:12 ]
>>669-670ありがとうどざいました。
>671DOSで削除した方がHDDにやさしいような気がしたもので。


673 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 10:22:19 ]
( ゚д゚)ポカーン

674 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 10:33:18 ]
そしてうっかり間違ったフォルダを消して涙目の>>668

675 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 14:53:42 ]
大量に消すときはrd /s/qだな

676 名前:デフォルトの名無しさん [2007/10/29(月) 16:21:35 ]
ご助言お願いします。
test.txtという3行のファイルがあり、
その中身は以下のようになっています。

あかさたな
123456
ABCDEFG

1行の内容を1つの変数に格納したいのですが、
どのようにすればよいでしょうか。
FOR文を色々書いてみましたが、どうしても1行目しか
変数に入れられませんでした。





677 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 16:27:06 ]
初心者向きのスレはこっち↓

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

678 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 18:33:23 ]
(
set /p a=
set /p b=
set /p c=
)<test.txt
set d=%a% %b% %c%


679 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 18:40:48 ]
>>676
@echo off
for /f "tokens=1* delims=:" %%I in ('findstr /n /r "^" test.txt') do set AAA[%%I]=%%J

set AAA[

>>677
前スレであぼーんされたの忘れたの?
アク禁されないように気をつけろよ。

680 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 19:13:28 ]
やっぱスレ違いの質問に答えるやつはレベル低いな

681 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 19:30:29 ]
初心者でもこのスレでOKですよ。
スレ違いの質問に見えているとしたら頭が悪いのです。

682 名前:デフォルトの名無しさん [2007/10/29(月) 19:31:08 ]
ヤター!チャンス!
さっそく使わせてもらいます。

>>680 誘導厨は帰れ!自分の巣へ帰れ!37度線よりこっちに来るな!

683 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 19:31:27 ]
>>681
いい加減ウザいんだが。自演じゃないなら自粛してくれ。

684 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 19:36:06 ]
>>682
誘導厨はリアル人格障害のようだからレスするだけ無駄っぽいですよ。

685 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 19:41:26 ]
>>682
全然関係ないけど、37じゃなくて38だろと。

686 名前:デフォルトの名無しさん [2007/10/31(水) 20:21:53 ]
マシンAのバッチファイルから、マシンBにあるバッチファイルを実行する方法はないでしょうか。

1,マシンAのバッチファイルで、マシンBに対して何らかの通信を行うプログラムを実行
2,マシンBはAからの通信を受けてバッチ実行

というような感じになるのかなと思うのですが、こういう事は可能でしょうか。




687 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 20:22:41 ]
つ[rsh]

688 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 20:31:01 ]
つWshRemote

689 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 20:54:18 ]
パソコンの使い方

690 名前:686 mailto:sage [2007/10/31(水) 20:57:14 ]
大事なことを書き忘れていました。
マシンA、BともにWiindows2000です。

>687
せっかく教えていただいたのに済みません。
Windows2000なのです。

>688
なるほど、WSHですか。
使ったことなかったですが、今回の目的程度であれば
ググッたサイトで見つけたサンプルを改変すればできそうな気がしてきました。
あした試してみます。ありがとうございます。


691 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 21:02:44 ]
>>689
パソコンの使い方は pc11.2ch.net/pcqa/ で訊いてくださいね

692 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 22:03:55 ]
つWMI Win32_Process.Create


693 名前:687 mailto:sage [2007/11/01(木) 04:14:14 ]
>>690
大変恐縮ですが、Win2kにもrsh.exeというものがありましてね。
調べもしないで戯けたこと抜かすんじゃねぇ。

694 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 12:59:37 ]
rshdがないんじゃないの?

695 名前:デフォルトの名無しさん [2007/11/01(木) 14:24:48 ]
( ´,_ゝ`)プッ

696 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 19:46:44 ]
渡ってきた引数がパスなのですが
それがディレクトリかファイル化を判断したいのですが、どうすればよろしいでしょうか。



697 名前:デフォルトの名無しさん [2007/11/01(木) 20:15:47 ]
SET UNKO=C:\WINDOWS
IF EXIST "%UNKO%\*.*" ECHO ディレクトリだよ〜〜ん
IF NOT EXIST "%UNKO%\*.*" ECHO たぶんファイルだよ〜〜ん


698 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 22:10:43 ]
レベルの低い質問にお粗末過ぎる回答
ここプログラム板だよね

699 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 22:25:03 ]
pushd %1
if errorlevel 1 echo not folder


700 名前:デフォルトの名無しさん [2007/11/01(木) 23:00:10 ]
>>698
何一つ質問に答えられないで、文句だけ書いていくおまいさんより、よっぽど建設的だと思うぞ。

701 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:20:29 ]
if exist %1 if not exist %1\nul (
  echo file
  ) else (
  echo directory
)

702 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:22:49 ]
test -d %1 && echo dir || echo file

703 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:27:01 ]
echo n | del /F %1 >NUL 2>&1
if errorlevel 1 (echo '%1' is a directory.) else echo '%1' was a file.

704 名前:デフォルトの名無しさん [2007/11/02(金) 00:48:16 ]
次の条件でバッチファイルを作成してください
・フォルダ内にある複数のファイルを結合し一つにする
・結合してできたファイル名は自由
・結合されたファイルは削除される
・フォルダ内にファイルがない場合はエラーメッセージを出力し処理を終了
よろしくお願いします。

705 名前:686 mailto:sage [2007/11/02(金) 02:30:34 ]
>>693

すみませんでした。
「rsh windows」でググったら、一番上に出てきたMicrosoftのサイトに
Win2000ではrshは無いって書いてあったんで、そうなんだとばかり・・・。
SFUってのをインストールしたら2000でもいけるっぽいですね。
また明日試してみます。
ありがとうございました。

706 名前:デフォルトの名無しさん [2007/11/02(金) 11:51:18 ]
>>701-703
市ね



707 名前:デフォルトの名無しさん [2007/11/02(金) 12:08:22 ]
>>699
それ、カレントディレクトリが変更されてしまうという副作用があるので美しくない。
あと、ネットワークだと勝手にZドライブが割り当てられてしまうんだよね。
これを良しとするかダメとするかは人それぞれだろうけど。


708 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 14:32:05 ]
pushd %1 && popd

709 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 14:37:27 ]
echo %~a1

710 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 01:29:20 ]
参考スレ(誘導厨に関して)
軽度発達障害者に迷惑してる生活part2
life8.2ch.net/test/read.cgi/kankon/1194103268/
★☆☆ アスペルガーだけどプログラマ
pc11.2ch.net/test/read.cgi/prog/1174990403/

711 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 06:23:12 ]
.batと.cmd以外の拡張子もバッチファイルとして、
ダブルクリックで起動できませんか?

712 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 09:04:22 ]
>711
パソコンやOSの使い方の質問は板違い

PC初心者
pc11.2ch.net/pcqa/

Windows
pc11.2ch.net/win/

713 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 15:52:02 ]
.extの@値をbatfileにすればよい

714 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 20:08:43 ]
>>712
人格障害者のあなたは
life8.2ch.net/utu/
に行って下さい。

715 名前:デフォルトの名無しさん [2007/11/07(水) 23:45:56 ]
>>712
市ね。いや氏ね。むしろ誌ね。っていうか、詩ね。だが結局、士ね。

716 名前:711 mailto:sage [2007/11/08(木) 02:26:00 ]
>>713
ダメでした。 ダブルクリックすると、
「c:\hogehoge\hoge.cam は有効な Win32 アプリケーションではありません。」
と出ました。

フォルダオプションのファイルの種類で、.camを見ると、
「アクションを実行するアプリケーションは」
"%1" %*
となっていました。



717 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 04:43:47 ]
フォルダオプションでなくregeditでレジストリを見てください

718 名前:711 mailto:sage [2007/11/08(木) 08:03:06 ]
regeditを使って .camの@値をbatfileにしましたけど駄目です。

719 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 08:14:27 ]
%SystemRoot%\System32\cmd.exe /c %1って具合に関連付けすればいいんじゃないの?

720 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 08:15:32 ]
ああごめん、cmd.exeがバッチファイルとして見なしてくれなさそうな気がする。駄目だなきっと。

721 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 09:07:18 ]
@="%1" %*
こうだべ

722 名前:デフォルトの名無しさん [2007/11/08(木) 10:39:00 ]
すいません教えて下さい
パソコンの音量を下げるにはどうしたらいいんでしょうか
Windows XPです

723 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 11:59:12 ]
>722
Windowsの使い方は板違い

PC初心者
pc11.2ch.net/pcqa/

Windows
pc11.2ch.net/win/

724 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 14:02:04 ]
自演乙

725 名前:デフォルトの名無しさん [2007/11/08(木) 14:39:32 ]
>>722
google [ 窓の杜 音量 ]


726 名前:デフォルトの名無しさん [2007/11/08(木) 14:41:05 ]
>>723
しね



727 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 20:38:56 ]
>>721
どうなるの?

728 名前:711 mailto:sage [2007/11/08(木) 22:25:29 ]
>>719
「アクセスが拒否されました。」
と出ました。

>>721 試してみます。

729 名前:デフォルトの名無しさん [2007/11/08(木) 23:09:12 ]
無駄無駄。もし、そんな事ができてしまったら、セキュリティ・ホールになるやろ?
素直に拡張子 bat か cmd にしておけ。

730 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 23:46:31 ]
perlをバッチファイルにスクリプトとして埋め込む方法は見たことありますが、
cscript.exeもそういうことって出来るんですか?

731 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 23:55:01 ]
>>730
例が>>291にありますよ

732 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 00:21:01 ]
おお、できました。ありがとう。
これで端末変えるたびにperlを入れる手間から開放されるかも。

733 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 00:47:47 ]
埋め込みの理屈がまたわかってないけど、
↓みたいにすれば拡張子を省けるみたいね

@if (0)==(0) echo off
if exist %0 cscript.exe //nologo /e:jscript %0 > out.txt
if exist %0.cmd cscript.exe //nologo /e:jscript %0.cmd > out.txt
if exist %0.bat cscript.exe //nologo /e:jscript %0.bat > out.txt
exit /b
@end
WScript.StdOut.WriteLine("Hello World!");

734 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 00:55:36 ]
>>733
%~f0と書けば%0のフルパスが得られるのでもっと簡単にできますよ。

@if (0)==(0) echo off
cscript.exe //nologo /e:jscript %~f0 > out.txt
exit /b
@end
WScript.StdOut.WriteLine("Hello World!");

735 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 01:08:08 ]
あ、なるほど。それなら暗記もしやすい。

んで、やっと埋め込みの理屈を理解。
@ifはjscriptの条件コンパイル(#ifdefみたいな?)でもあるんだね。
@if (0)から@endまでの間にBATコードを書いてもOKと。これはおもろい。

736 名前:711 mailto:sage [2007/11/09(金) 09:18:05 ]
>>721
ダメでした。

>>729
そうします。



737 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 10:36:48 ]
cmd.exeをコピーcmdxxx.exe
バイナリエディタで中の. B A Tか. C M Dを. X X Xに(unicode)
.XXXの関連付けをcmdxxx.exe /c "%1" %*


738 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 11:11:26 ]
なるほどねー拡張子さくっとリネームしてあきらるもよし
バイナリの番地探しで視力落とすもよしか

定かじゃないけど拡張子違うの動かしてるっぽい環境
を昔見た記憶がある。思い出せないけど

cmd /c type "%1" | cmd %*
cmd /c cmd < "%1"
こんなんとかに近かったような、
今はっきり言えるのはそれが思い出せないって事だ

739 名前:デフォルトの名無しさん [2007/11/09(金) 11:52:21 ]
まだやってるのかよ。
本人が納得したんだから、もう終わった話だろ?
>>737-738
ウイルス作成の話題は板のルールで禁止されています!
おまいら視ね!!!

740 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 18:18:43 ]
cmd <%1 方式はバッチの機能が使えないから使い物にならんよ


741 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 19:46:20 ]
ayasige.exeをayasige.txtにリネームして、
[cmd /c] ayasige.txt
で動くcmd.exeのほうがよっぽど如何わしいぞ

742 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 22:11:10 ]
パラメーターのファイルの容量は%%~z1でいいんだけど、変数%HOGE%に入ったファイルの容量ってどうやって調べるの?

743 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 22:54:04 ]
for %%i in (%HOGE%) do echo %%~zi

744 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 23:02:57 ]
>742
それプログラミングの話か?
パソコンの使い方はスレ違い以前に板違いだぞ

745 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 23:04:12 ]
PC初心者
pc11.2ch.net/pcqa/
Windows
pc11.2ch.net/win/

746 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 23:28:03 ]
>>743
なーるほど、ありがとうございました

>>744-745
なるほど、ありがとうございました(笑)



747 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 00:24:57 ]
バッチファイルで現在いるフォルダ名を取得する方法ないかな?

C:\Program Files\Internet Explorer
だったら
Internet Explorer
を取得したいんだけど、よい方法が思い浮かばないです


748 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 01:54:40 ]
>>747
for %%I in ("%CD%") do echo %%~nI

749 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 10:15:54 ]
>>747
%cur%に取得
for %%I in (.) do set cur=%%~nI%%~xI

750 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 14:22:54 ]
CALL :tekitou %CD%
GOTO :EOF

:tekitou
ECHO %~f1
GOTO :EOF

751 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 14:24:20 ]
間違えた、%~n1 だった

752 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 00:00:05 ]
「あるプロセスが終了したら」や「あるプロセスが起動していたら」などの条件を指定することは可能でしょうか?

753 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 00:01:46 ]
if hoge==あるプロセスが終了したら echo hage

754 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 01:06:26 ]
wmic.exe
or
tasklist.exe


755 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 03:25:31 ]
wkill.exe /w | find /i "あるプロセス"

フリーソフト

756 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 04:11:03 ]
Windows標準以外のコマンドを使うのはありだっけ?



757 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 09:01:19 ]
DOSで用が足りることならバッチでもいいけど、
Win用途にはバッチは使わないのが吉
DOSやバッチは過去の遺産

758 名前:デフォルトの名無しさん [2007/11/19(月) 16:18:42 ]

こういう事を言うヤツに限ってさ、まともにバッチすら書けないんだよねぇ〜

759 名前:デフォルトの名無しさん [2007/11/19(月) 16:20:20 ]
ファイルを1個コピーすんのにも、わざわざjavaか何かでゴリゴリとコード書いてコンパイルしてんのかねw

760 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 19:18:47 ]
下手に自分のマシンにUnixコマンドforWinみたいなのを入れると
ついうっかり納品用のバッチファイルに書いちゃって焦るときがある。
Sleepとか。

761 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 19:49:36 ]
>>760
sleepも納品すべし。

762 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 23:51:24 ]
バッチで納品なんてあるの?

763 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 00:27:44 ]
納品物の中にバッチが含まれていることはよくある

764 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 06:24:30 ]
CMD->VBS,JScript
 ↓
PowerShell

とMSは極端なんだよな。
CMDとPSの間の軽くて使いやすいシェルスクリプトリリースしろよ。

765 名前:747 mailto:sage [2007/11/20(火) 22:26:40 ]
>>748-751
d出張行ってて今帰ったとこですた

for %%I in (.) do set cur=%%~nI%%~xI
これすげー、"."で出せるんですね
また一つ勉強になりました


766 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 11:47:39 ]
>>764
PSでかまわんけど、文字コードなんとかしてくれよんと思う。




767 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 22:45:35 ]
俺のD言語の開発環境だ!基本はD&Dで投げてコンソール眺めて、色付エディタで書く。って感じ。
budはビルドツールでネット上にある。Dには、定番のIDEがまだ無い。だれか作ってくれ。

------bud_.bat-----------
bud %1 %2 %3 %4 %5 %6 -odoutputByD
pause
------------------------

------exec.bat-----------
%1
pause
------------------------

------dmd_con.bat--------
dmd %1 %2 %3 %4 %5 %6
pause
------------------------

768 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 15:02:13 ]
FATのBPB部分をイメージ化しておいて、それをFDのBPB部分にだけ書き込みたいのですが
どう書けば良いのでしょうか?

過去に間違ってフォーマットしてしまって開始直後に止めた
BPBが破損したメディアがいくつかあるのですが、

いちいちディスクごとイメージに落として
BPB直してもっかい書き直す、ってのは面倒なので…


よろしくお願いします

769 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 17:09:25 ]
PC初心者
pc11.2ch.net/pcqa/

770 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 17:19:48 ]
早速頭の可笑しい人769が登場w

771 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 17:28:47 ]
>768
装置番号やセクタ番号指定すりゃ読み書きできるだろうけど、スレ違いだアホ

772 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 17:31:47 ]
>771
パソコンの使い方の質問はスレ違い以前に板違い
ここはパソコン初心者が来る板じゃない

773 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 18:00:48 ]
772は頭が不自由なので理解できないのだろうが、
「パソコン初心者が来る板じゃない」というのは間違い。

774 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 20:58:40 ]
初心者か否かっていう要素が無いわな…

775 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 09:10:02 ]
>>768
う〜ん、バッチの範疇を越えてる気がするなぁ。
そういうコマンドラインツールがあればバッチで出来るかも知れんが
あったとしてもそのツール次第で書き方変わるだろし。

776 名前:デフォルトの名無しさん mailto:sage [2007/11/28(水) 21:46:27 ]
バッチいファイル



777 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 18:30:54 ]
doskeyマクロはバッチの中で使えないの?

778 名前:デフォルトの名無しさん [2007/11/29(木) 18:55:27 ]
>>777
使えるよ。

@echo off
doskey a=unko
set /p x=キー入力してください:
echo あなたが入力したのは [%x%] です。
pause

こんなバッチを作って、起動したら a とキー入力してごらん。

779 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 19:57:03 ]
初心者にパソコンの使い方を教えるスレ

780 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 22:34:14 ]
バッチから一歩先を逝きたいんだけど
wshとPower SHELLならどっちをやるべき?

781 名前:デフォルトの名無しさん mailto:sage [2007/11/29(木) 22:35:59 ]
バッチの中でそのaが使えるか?

782 名前:デフォルトの名無しさん [2007/11/29(木) 23:50:14 ]
>780
その作品でカバーしたいOSよるだろ?
PSはOS既定でなくインストールを伴うので、前提が必要だぜ?それでもいいならPSだろ。
そんなことより
会社のWinXPSP2Proで ECHO. が使えないことにビビッたw。
なんか変なバージョンのCMD.EXEでも入ってるのかなー。

783 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 01:04:44 ]
echoじゃなくてecho.?
改行だけ表示することができないってこと?

784 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 01:43:35 ]
>>780
もちろん両方


785 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 02:44:58 ]
>780
WSHはWin95/NTからでも使える事もあってノウハウが多く公開されている分とっつきやすいと思う。
PowerShellはWinVistaの他にはWinXPのSP2とWinServer2003のSP1でしか使えないってのがなぁ・・・。
ttp://support.microsoft.com/kb/926140

786 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 03:09:10 ]
>>780
PSはおもちゃって感じでイマイチ便利感がないんだよな
wshとかAutoHotKeyの方が楽できる
コマンドプロンプト常時起動だとやっぱbatも常用するし。
結局、一歩先とかなくて適材適所なわけよ、坊主



787 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 03:39:44 ]
pythonとwin32comの組み合わせでwshとほぼ同じこと+αが出来る

788 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 04:54:05 ]
>>782

ECHO=

なら使える?

789 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 04:57:28 ]
>>785
PSの最大の欠点は文字コードかなぁ。
ローカルマシンの設定使ってくれないと困ること多発


790 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 09:58:31 ]
cmdは文法のつぎはぎがひどいが
vbsは根本から腐ってるな
書いてて最もストレスのたまる言語だ

791 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 19:09:20 ]
禿堂

792 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 19:16:16 ]
cmd>con
だと出力が変
cmd|cat32.exe>con
だと正常
なぜ?

cat32.exeはsfuのを使ったけど、標準のコマンドでこういうのはない?
moreはラインバッファリングで駄目

793 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 19:43:05 ]
>792
パソコンの操作方法の質問はスレ違い以前に板違い
ここはプログラムを作る人の板です

794 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 19:43:45 ]
PC初心者
pc11.2ch.net/pcqa/
Windows
pc11.2ch.net/win/

795 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 20:14:07 ]
>>793-794はスルーします

796 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 20:18:03 ]
>>793
あなたはどうして頭が悪いの?



797 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 21:31:16 ]
プログラム系の板は本当の基地外が高確率で沸くから困る

798 名前:デフォルトの名無しさん mailto:sage [2007/11/30(金) 23:28:47 ]
>>793
昔のPC
bubble6.2ch.net/i4004/

799 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 02:39:22 ]
PC初心者板の回答者に答えられるのか疑問だな

800 名前:デフォルトの名無しさん [2007/12/01(土) 02:54:01 ]
>>793-798
素直に「私には難しくて答えられません」って言えば?

801 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 05:17:54 ]
>>797
もっとひどい板はいっぱいあるぞ
ム板はかわいい方だよw

802 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 23:12:50 ]
>>799
あそこの解答者はマジでエスパー能力者かと
超度いくつやねんと思う
中には答えられる奴も居ると思うぜ

…でも板違い

803 名前:デフォルトの名無しさん mailto:sage [2007/12/03(月) 18:17:36 ]
dir hoge ←ディレクトリ
ディレクトリの中身が表示
ディレクトリ自身の情報はどうやって出すのでしょう?


804 名前:デフォルトの名無しさん mailto:sage [2007/12/03(月) 19:11:09 ]
dir | find "hoge"

805 名前:デフォルトの名無しさん mailto:sage [2007/12/03(月) 22:55:24 ]
またパソコンの使い方の質問だね

806 名前:デフォルトの名無しさん mailto:sage [2007/12/03(月) 23:12:24 ]
help dir



807 名前:デフォルトの名無しさん mailto:sage [2007/12/03(月) 23:25:03 ]
吉外登場w

808 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 19:07:33 ]
>>805
>>798 とか、UNIX板/Linux板でならそう言えるな。
それが基本的な使い方だし。(そのLinux板でも基本GUIの比率上がってきてるけどな)
だがWinやMacではもはやコマンドライン自体
基本的な使い方から外れた機能だ。

>>806
dir 単品で出来るオプションあったっけ?
手元の Win2k だと見当たらなかった。

809 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 19:09:57 ]
ディレクトリ自身の情報というのがそもそもよくわからない

810 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 19:31:01 ]
dir hoge.* /ad

811 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 19:33:59 ]
基本的な使い方かどうか以前にプログラミングの話じゃないから板違い
続きはこっちでやればいいよ↓

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

812 名前:デフォルトの名無しさん [2007/12/04(火) 19:36:28 ]
DIR unko.txt とすると

2007/11/20  19:14                29 unko.txt
               1 個のファイル                  29 バイト

みたいに表示される。
ところが、ディレクトリだと

DIR manco とやっても

2007/11/20  19:13    <DIR>          manco

とは出ない。(ディレクトリの中身が表示されてしまう)
インチキでよければこういう方法ならある。

FOR %%I IN (manco) DO ECHO %%~tI %%I

もしくは

CALL :mydir manco
GOTO :EOF

:mydir
ECHO %~t1 %1
EXIT /B


813 名前:デフォルトの名無しさん [2007/12/04(火) 19:38:15 ]
>>810
その方法だと、hoge.bak みたいなディレクトリまで表示されてしまう。

814 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 20:28:50 ]
>>734
vbscriptではできない?

815 名前:デフォルトの名無しさん mailto:sage [2007/12/04(火) 22:05:56 ]
既知害の誘導は狼少年のようなものですね

816 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 15:42:29 ]
どういうこと?
煽りとかでなく素で意味が解らない。



817 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 16:03:05 ]
XPのExplorerで、FDを挿入せずにアクセスすると待機状態(挿入したら開く状態)になるんだけど
あれって出来ないかな?

「FD挿入したら何かキーを押して…」
の部分を
「挿入待ち」とかに出来たら簡素で良いんだけども

818 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 16:45:11 ]
できない

819 名前:デフォルトの名無しさん mailto:sage [2007/12/05(水) 19:58:07 ]
>>816
このスレで絶えず他のスレに誘導しようとする奴の
おかしさが分かれば意味が分かるはずなのだが。

狼少年
ja.wikipedia.org/wiki/%E5%98%98%E3%82%92%E3%81%A4%E3%81%8F%E5%AD%90%E4%BE%9B

820 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 20:34:40 ]
>>817
dll書き換え

821 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 20:59:05 ]
ドライブにメディア挿入を検知する機能が無いんだから無理だろ
CDなら何とかなるけど…

822 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 21:24:05 ]
set /p A="数値入力してください"
set /p B="数値を入力してください"
for %%C in (????)do echo %%C

このときA〜Bの数値を出力をするにはどのようにしたらいいのでしょうか?
Aに18
Bに21
が入力されると
18
19
20
21
と出力されるようにしたいと思っています

823 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 21:30:32 ]
※なんでも無理矢理バッチでやろうとせずWSH等の使用も
  検討しましょう。

824 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 21:36:11 ]
出力させるだけなら

@echo off
setlocal
set /p A="数値入力してください"
set /p B="数値を入力してください"
:loop
echo %A%
if "%A%"=="%B%" goto :eof
set /a A+=1
goto loop

825 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 21:40:04 ]
自己解決しました
for /L %%C in (%A%,1,%B%)do echo %%C
このようにすることでできました


826 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 21:42:41 ]
cmd.exeのforって意外と機能があるよね



827 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 21:43:46 ]
>>823
既存のbatに修正を加えたかったので、できたらbatで実現したかったため無理やりやってしまいました
(WSHをまったく知らないっていうこともあります・・・

>>824
加算してイコールという判定もありましたね
batで+=使えることも知りませんでした

828 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 21:44:50 ]
>>826
すんげーややこしいので、いつもWSH使っちゃうよ。


829 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 21:49:16 ]
>>828
そのややこしいのをリファレンス見ないで書ける人は凄いと思う

830 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 22:59:33 ]
凄いとは思うが、あの覚えにくい物をマスターするなら、
他のスクリプト言語を学んだ方がマシという結論に達した・・・・・

831 名前:デフォルトの名無しさん [2007/12/09(日) 02:01:19 ]
>>823
知らないんなら出しゃばるなよ。うざい。

832 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 12:18:37 ]
正義の戦いで東京10万、広島で8万、長崎で5万人も一晩でころしたってすごいね。

833 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 12:59:15 ]
ややこしかったら既存のサブルーチン使えばいいだけ
まともなプログラム言語ならライブラリやサンプルプログラムがいくらでも見つかるはず
探しても見つからないようなら、そこまでしてバッチ使ってる人がいないということだな

834 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 13:20:49 ]
>>817
AドライブにFDがセットされてるかどうか知りたい場合、例えば以下のVBScriptファイル"testRDY.vbs"を作っておき、
バッチファイル内で
  CSCRIPT //NOLOGO testRDY.vbs A: | find /i "準備=True" > NUL
  IF NOT ERRORLEVEL 1 ECHO 準備OKです。
の2行を実行してみるってのはどう?

'---------+---------+---------+---------+---------+ VBScript始端
Option Explicit
Dim A,D,F,A0,S,strTYP,strRDY
Set A = WScript.Arguments : Set F = CreateObject("Scripting.FileSystemObject")
S = "ERROR" : A0 = "" : If A.Count > 0 Then A0 = A(0)
If Len(A0) > 0 Then
Set D = F.GetDrive(A0)
strTYP = D.DriveType : strRDY = D.IsReady
If strTYP="1" Or strTYP="4" Then
S = "Drive準備=" & strRDY
Else
S = "(このドライブはリムーバブルメディア/CD/DVDじゃないが)Drive準備=" & strRDY
End If
End If
WScript.Echo(S)
Set D = Nothing : Set F = Nothing : Set A = Nothing
'---------+---------+---------+---------+---------+ VBScript終端

835 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 13:24:54 ]
つかFDDなんてケーブル引っこ抜いてBIOSでオフにして置けよ。
21世紀にもなってFDなんて化石テクノロジーに頼るなよ。

836 名前:デフォルトの名無しさん mailto:sage [2007/12/09(日) 13:56:28 ]
ちなみに>834の方法では、FD/MO/スマードメディア/USBメモリ等は区別されず「リムーバブルメディア」と
して扱われるし、CD-ROM/CD-R/DVD-ROM/DVD-R等も区別されず一くくりにして扱われる。
それにWSHが入っていればWin95〜XPまで幅広く使えるよう配慮したつもり。








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前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