【.cmd】 バッチファイルスクリプト %1 【.bat】at TECH
【.cmd】 バッチファイルスクリプト %1 【.bat】 - 暇つぶし2ch450:デフォルトの名無しさん
07/07/23 21:44:32
>>449
即レスありがとうございます!
調べてみます

451:デフォルトの名無しさん
07/07/23 21:53:20
あんまりレベルの低い質問はwindows板へ誘導してあげた方がよくないか?
どう見てもパソコン初心者だし

452:デフォルトの名無しさん
07/07/23 22:03:22
ユーザー必読!コマンドライン(DOS Pt.6)
スレリンク(win板)

453:デフォルトの名無しさん
07/07/23 22:08:06
>>451
おまいら(みないなの)がいそうなので誘導はしません

454:デフォルトの名無しさん
07/07/24 00:31:06
>おまいら(みないなの)
>おまいら(みないなの)
>おまいら(みないなの)

……

455:デフォルトの名無しさん
07/07/24 10:51:20
Win2kだと SET /P で入力かな
それにしても某誘導中の頭の中はDOSで停まってるのかねぇ
DOSなら確かに初心者レベルの知識だが
WindowsではそもそもCUI自体初心者は使わないのに

456:デフォルトの名無しさん
07/07/29 23:13:26 0
%SystemDrive%みたいな感じでカレントディレクトリのドライブを示すものないですか?

457:デフォルトの名無しさん
07/07/29 23:24:57 0
>>456
%CD:~0,2%

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

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

460:デフォルトの名無しさん
07/08/12 12:02:59
>>458
コマンドプロンプトから開けばいい

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

462:デフォルトの名無しさん
07/08/13 14:10:45
>>461
バッチよりWSHやHTAでやったほうがいよ

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

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

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

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

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

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

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

特に問題ないが。

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


471:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/08/20 22:00:25
>>471

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

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

473:デフォルトの名無しさん
07/08/20 22:15:44
>>472
実行アカウントの問題でしょ

474:デフォルトの名無しさん
07/08/20 22:35:35
>>471
atじゃなくて、rshではいかんの?

475:471
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/08/21 20:50:00
copyするファイルと同じフォルダをコピー先として指定したい場合、どういう記述で指定すればいいですか?

478:デフォルトの名無しさん
07/08/21 20:53:12
>>477
copy ファイル名 新しいファイル名

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

@echo off
copy %1 _title.jpg
end

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

480:デフォルトの名無しさん
07/08/21 21:13:59
copy %1 "%~dp1_title.jpg"

481:477
07/08/21 21:24:49
>>480
ありがとうございます。できました(*^v^*)

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

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

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

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

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

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

487:485
07/08/29 13:16:46
以下のスレの最初の方に書いてあるよ
スレリンク(win板)

488:デフォルトの名無しさん
07/08/29 15:01:05
ヒント: >>1の最後の2行

489:デフォルトの名無しさん
07/09/01 20:49:11
>>484
「1日前の計算」のところに書いてあるよ
URLリンク(www.atmarkit.co.jp)

490:489
07/09/01 20:54:15
自分も聞きたいことが

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

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

491:デフォルトの名無しさん
07/09/01 21:54:46
>>490
help set
help call

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

493:デフォルトの名無しさん
07/09/02 00:20:29
WScript.Quit

494:デフォルトの名無しさん
07/09/02 00:30:45
>>493
うまくいきました
ありがとうございます

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

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

496:デフォルトの名無しさん
07/09/05 17:37:27
ユーザー必読!コマンドライン(DOS Pt.6)
スレリンク(win板)

497:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/09/05 18:18:54
やはり日付を扱うのはwindowsだとWSHとかなんですか。
なんだか苦手意識があって・・・
とりあえずはいただいたものでうまくできそうですので、
それを応用したいと思います。ありがとうございます。

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

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

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

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

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

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

504:デフォルトの名無しさん
07/09/06 00:00:04
起動しますが何か。

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

506:デフォルトの名無しさん
07/09/06 00:19:21
>>505
shutdown -s

507:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/09/06 00:38:29
訂正
一番上のはこっちです
shutdown -s "C:\Program Files\2chtubo\2chtubo.exe"

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

510:デフォルトの名無しさん
07/09/06 00:43:29
そうですが本体はexeですし、設定もしてますよ

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

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

513:デフォルトの名無しさん
07/09/06 00:45:53
つ TASKKILL /?

514:デフォルトの名無しさん
07/09/06 00:46:58
>>513
taskkillってXP Homeで使えるの?
こうなるんだけど

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

515:デフォルトの名無しさん
07/09/06 00:50:01
確かXP-Proと2000にしかなかった気がする

516:デフォルトの名無しさん
07/09/06 00:54:14
XP Pro x64だけどtaskkillあった

517:デフォルトの名無しさん
07/09/06 06:03:56
cygwin, sysinternals suite入れてないやつはアフォ

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

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

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

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

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

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

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

523:デフォルトの名無しさん
07/09/06 23:58:21
スクリプトでソフトを全部終了させればいいじゃない

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

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

526:デフォルトの名無しさん
07/09/07 20:46:08
WindowsXP/2003からの機能だよ

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

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

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

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



530:529
07/09/10 12:49:44
申し遅れました。

環境は、Windows2000です。

531:デフォルトの名無しさん
07/09/10 13:12:15
そこまで初心者ならこっちのスレへどうぞ

ユーザー必読!コマンドライン(DOS Pt.6)
スレリンク(win板)

532:529
07/09/10 13:14:07
>530

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

533:デフォルトの名無しさん
07/09/10 14:02:53
チョイスとか言ってみる

534:デフォルトの名無しさん
07/09/10 21:50:31
set /p と if /i を使う手がある

535:デフォルトの名無しさん
07/09/11 00:09:07
choiceってXPやVistaにもあったっけ?

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

537:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/09/11 01:50:50
"%~1"

539:537
07/09/11 02:38:11
>>538
神様ありがとうございました。

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


541:デフォルトの名無しさん
07/09/11 12:01:48
del a.txt "c:\program files\b.txt" c.txt

542:540
07/09/11 12:16:43
>>541
ありがとうございました

543:デフォルトの名無しさん
07/09/11 12:45:09
ゲームで極める シェルスクリプトスーパーテクニック
URLリンク(www.gihyo.co.jp)
URLリンク(slashdot.jp)

動画
URLリンク(jp.youtube.com)


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

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

545:デフォルトの名無しさん
07/09/11 19:14:05
今時バッチの入門書なんて

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

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

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

547:デフォルトの名無しさん
07/09/12 15:32:16
本の宣伝にしか見えないんだけどw

548:デフォルトの名無しさん
07/09/12 23:19:39
宣伝にマジレス。漏れおわった・・・・

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

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

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

552:デフォルトの名無しさん
07/09/13 16:26:59
call :main c:\test.txt
exit /b

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

553:デフォルトの名無しさん
07/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
07/09/14 02:04:28
バッチファイルに
Format C とかいて
スタートアップにおいたらどうなります?

555:デフォルトの名無しさん
07/09/14 02:09:21
>>554
無効なドライブ指定です。

556:デフォルトの名無しさん
07/09/14 08:12:57
>>554
アクセスは拒否されました。

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

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

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

ユーザー必読!コマンドライン(DOS Pt.6)
スレリンク(win板)

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

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

561:560
07/09/19 11:04:30
ごめん、できた。
ありがとう。

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

563:デフォルトの名無しさん
07/09/19 15:07:03
その程度の物に参考も糞もあるかよw

564:デフォルトの名無しさん
07/09/20 10:42:30
バッチでバイナリって扱えたっけ?

565:デフォルトの名無しさん
07/09/20 16:27:14
/b

566:デフォルトの名無しさん
07/09/20 20:55:45
テキストもある意味バイナリ

567:デフォルトの名無しさん
07/09/20 21:36:30
いいえ、それはトムです。

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

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

569:デフォルトの名無しさん
07/09/21 19:47:01
初心者はこちらへ

ユーザー必読!コマンドライン(DOS Pt.6)
スレリンク(win板)

570:デフォルトの名無しさん
07/09/21 19:51:13
>568
他のスクリプト言語を使う

571:デフォルトの名無しさん
07/09/22 16:39:23
なんだってエスケープは必要だろ

572:デフォルトの名無しさん
07/09/22 16:46:21
>>568
対処法はWSHを使う

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

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



575:デフォルトの名無しさん
07/09/22 16:58:33
>>574
echo 在り > 任意の\任意の.txt

576:574
07/09/22 17:04:21
>>575
ありがとうございます!

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


578:デフォルトの名無しさん
07/09/22 17:29:07
echo 1行目> 任意の\任意の.txt
echo 2行目>> 任意の\任意の.txt
echo 3行目>> 任意の\任意の.txt
……

579:574
07/09/22 17:31:19
>>578
すいません。
どうもありがとうございました。

580:デフォルトの名無しさん
07/09/22 18:37:41
小学生?

581:デフォルトの名無しさん
07/09/22 18:39:17
>>580
例の病気の人ですか?

582:デフォルトの名無しさん
07/09/27 05:51:46


583:デフォルトの名無しさん
07/09/27 14:34:48
どっかで
echo >> filnemae.txt aaaaaaaaaaaaaa
echo >> filnemae.txt bbbbbbbbb
echo >> filnemae.txt cccccccccccccccccccccccccc
echo >> filnemae.txt dddddd

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

584:デフォルトの名無しさん
07/09/27 19:10:09
filnemae?

585:デフォルトの名無しさん
07/09/27 20:14:20
>>583
> filnamae.txt echo aaaaaaaaaaaaaa
>> filnamae.txt echo bbbbbbbbb
>> filnamae.txt echo cccccccccccccccccccccccccc
>> filnamae.txt echo dddddd

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

586:デフォルトの名無しさん
07/09/28 19:00:48
(
echo aaaaaaaaaaaaaa
echo bbbbbbbbb
echo cccccccccccccccccccccccccc
echo dddddd
) >> filnemae.txt


587:デフォルトの名無しさん
07/10/02 05:33:10
へー、美しい書き方だな

588:デフォルトの名無しさん
07/10/05 20:31:51
echo aaaaaaaa^
bb^
ccc^
ddd

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

589:デフォルトの名無しさん
07/10/05 21:44:08
echo aaaaa^

bbbbb^

ccccc^

ddddd> failname.txt


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

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

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

592:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/10/12 20:38:55
上のURLはローカルなms-helpだったな、すまん。
URLリンク(msdn2.microsoft.com)

594:デフォルトの名無しさん
07/10/12 20:49:39
おまいらスレタイ見直せ

595:デフォルトの名無しさん
07/10/12 22:23:01
>>1に書いてある関連情報の範疇

596:デフォルトの名無しさん
07/10/13 08:17:15
powershellの話もここで扱うの?


597:デフォルトの名無しさん
07/10/13 08:20:41
スレリンク(win板)

598:デフォルトの名無しさん
07/10/13 10:36:38
win板か、じゃぁイラネ


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

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

ユーザー必読!コマンドライン(DOS Pt.6)
スレリンク(win板)

601:デフォルトの名無しさん
07/10/23 11:41:01
600は荒らしなので無視してかまいません

602:デフォルトの名無しさん
07/10/23 11:56:59
>>599
そういうのはWSHでやったほうが

603:デフォルトの名無しさん
07/10/23 12:02:15
>>599
ifとforとerrorlevelとfcとdelでできるかも
遅いだろうね

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

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

605:599
07/10/23 12:46:41
>>600-604

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

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

606:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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
07/10/23 19:30:37
・・・すまん
同じサイズで内容の異なるファイルが3つ以上あるとこれじゃだめだね。

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

609:デフォルトの名無しさん
07/10/23 21:34:06
>>599
WSHでやるなら↓を流用するといいかも
スレリンク(tech板:227-228番)

610:デフォルトの名無しさん
07/10/23 22:32:47
わざわざ作ったのか

611:606
07/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:デフォルトの名無しさん
07/10/23 22:48:54
バッチのFOR文ってすごく難しいと思うんですが
自分だけでしょうか?


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

614:デフォルトの名無しさん
07/10/23 22:54:29
難しいと言うより可読性がとても悪いような

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

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

616:デフォルトの名無しさん
07/10/23 23:09:55
for文の可読性の悪さはインデント関係ないよ

617:デフォルトの名無しさん
07/10/23 23:56:08
java なんてこうだぜ!

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

コレに比べたら

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

こっちがマシ。

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

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

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

620:デフォルトの名無しさん
07/10/24 07:51:29
そんなぐらい自分でやれよ

621:デフォルトの名無しさん
07/10/24 11:28:23
乞食らしくPowerShellIDEでも使わせてもらえよ。

622:599
07/10/24 12:02:13
>>606さん

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

>>609さん

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

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

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

624:デフォルトの名無しさん
07/10/24 15:38:43
ない
cygwinのbash使うか
start使うと別窓で開くが

625:デフォルトの名無しさん
07/10/24 16:15:39
バッチじゃなくてOSやコマンドラインの話だな

626:デフォルトの名無しさん
07/10/24 16:24:34
>>624
ありがとうございます。

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

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

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

629:デフォルトの名無しさん
07/10/24 21:46:54
627は阿保だろ

630:デフォルトの名無しさん
07/10/25 03:01:55
スタート⇒ファイル名を指定して実行

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

631:デフォルトの名無しさん
07/10/25 18:37:22
>>626 FAQ >>358

632:デフォルトの名無しさん
07/10/25 18:43:48
>>599
つ C:\Program Files\Support Tools\dupfinder.exe

633:デフォルトの名無しさん
07/10/25 23:05:33
>>626
つ AT

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

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

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

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

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

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

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


636:デフォルトの名無しさん
07/10/26 00:21:38
>>626
fURLリンク(ftp.microsoft.com)

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

スレリンク(tech板:6番)

638:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/10/26 03:47:01
>>634
同じフォルダ内というのが、CONVERT.EXEのあるフォルダじゃなくて
カレントディレクトリっていうことなら、話は簡単だが?

641:デフォルトの名無しさん
07/10/26 03:57:46
>>635より簡単?

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

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


643:デフォルトの名無しさん
07/10/27 22:37:44
>642
そういう初歩的な話はこちらへどうぞ↓

ユーザー必読!コマンドライン(DOS Pt.6)
スレリンク(win板)

644:デフォルトの名無しさん
07/10/27 22:39:14
初歩的じゃないんだけど

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

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

647:デフォルトの名無しさん
07/10/27 23:09:22
つまり初歩的なんだ

648:デフォルトの名無しさん
07/10/27 23:14:01
要するに初歩的な話

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

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

650:デフォルトの名無しさん
07/10/28 00:50:00
このスレの誘導厨はリアル人格障害のようですよ

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

652:デフォルトの名無しさん
07/10/28 01:01:31
>>650
あ、ほんとだ。

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

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

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

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

654:デフォルトの名無しさん
07/10/28 02:01:45
一方的におかしいから誘導厨と言われるんだろ

655:デフォルトの名無しさん
07/10/28 02:37:15
テキストファイルの先頭行を削除するにはどうすっぺ?

656:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/10/28 04:05:36
>>656

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

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

660:デフォルトの名無しさん
07/10/28 11:25:34
スマートにやりたい人はCygwinやGnuWin32を入れる方向で

661:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/10/28 14:43:06
>>661
当たり前だろ

663:デフォルトの名無しさん
07/10/28 19:51:39
^Z

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

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

debugで削除するとか


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

666:デフォルトの名無しさん
07/10/28 22:11:27
call :main > "%~0.log"
exit /b

:main
echo hello


667:デフォルトの名無しさん
07/10/29 09:12:17
>>666 ありがとうございます。

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

669:デフォルトの名無しさん
07/10/29 09:59:27
がんばって作るんだ。

670:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/10/29 10:13:22
エクスプローラでドロップするんならエクスプローラで削除すれば簡単なのに

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


673:デフォルトの名無しさん
07/10/29 10:22:19
( ゚д゚)ポカーン

674:デフォルトの名無しさん
07/10/29 10:33:18
そしてうっかり間違ったフォルダを消して涙目の>>668

675:デフォルトの名無しさん
07/10/29 14:53:42
大量に消すときはrd /s/qだな

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

あかさたな
123456
ABCDEFG

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



677:デフォルトの名無しさん
07/10/29 16:27:06
初心者向きのスレはこっち↓

ユーザー必読!コマンドライン(DOS Pt.6)
スレリンク(win板)

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


679:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/10/29 19:13:28
やっぱスレ違いの質問に答えるやつはレベル低いな

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

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

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

683:デフォルトの名無しさん
07/10/29 19:31:27
>>681
いい加減ウザいんだが。自演じゃないなら自粛してくれ。

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

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

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

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

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


687:デフォルトの名無しさん
07/10/31 20:22:41
つ[rsh]

688:デフォルトの名無しさん
07/10/31 20:31:01
つWshRemote

689:デフォルトの名無しさん
07/10/31 20:54:18
パソコンの使い方

690:686
07/10/31 20:57:14
大事なことを書き忘れていました。
マシンA、BともにWiindows2000です。

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

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


691:デフォルトの名無しさん
07/10/31 21:02:44
>>689
パソコンの使い方は URLリンク(pc11.2ch.net) で訊いてくださいね

692:デフォルトの名無しさん
07/10/31 22:03:55
つWMI Win32_Process.Create


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

694:デフォルトの名無しさん
07/11/01 12:59:37
rshdがないんじゃないの?

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

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

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


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

699:デフォルトの名無しさん
07/11/01 22:25:03
pushd %1
if errorlevel 1 echo not folder


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

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

702:デフォルトの名無しさん
07/11/01 23:22:49
test -d %1 && echo dir || echo file

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

705:686
07/11/02 02:30:34
>>693

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

706:デフォルトの名無しさん
07/11/02 11:51:18
>>701-703
市ね

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


708:デフォルトの名無しさん
07/11/02 14:32:05
pushd %1 && popd

709:デフォルトの名無しさん
07/11/02 14:37:27
echo %~a1

710:デフォルトの名無しさん
07/11/04 01:29:20
参考スレ(誘導厨に関して)
軽度発達障害者に迷惑してる生活part2
スレリンク(kankon板)
★☆☆ アスペルガーだけどプログラマ
スレリンク(prog板)

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

712:デフォルトの名無しさん
07/11/07 09:04:22
>711
パソコンやOSの使い方の質問は板違い

PC初心者
URLリンク(pc11.2ch.net)

Windows
URLリンク(pc11.2ch.net)

713:デフォルトの名無しさん
07/11/07 15:52:02
.extの@値をbatfileにすればよい

714:デフォルトの名無しさん
07/11/07 20:08:43
>>712
人格障害者のあなたは
URLリンク(life8.2ch.net)
に行って下さい。

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

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

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

717:デフォルトの名無しさん
07/11/08 04:43:47
フォルダオプションでなくregeditでレジストリを見てください

718:711
07/11/08 08:03:06
regeditを使って .camの@値をbatfileにしましたけど駄目です。

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

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

721:デフォルトの名無しさん
07/11/08 09:07:18
@="%1" %*
こうだべ

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

723:デフォルトの名無しさん
07/11/08 11:59:12
>722
Windowsの使い方は板違い

PC初心者
URLリンク(pc11.2ch.net)

Windows
URLリンク(pc11.2ch.net)

724:デフォルトの名無しさん
07/11/08 14:02:04
自演乙

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


726:デフォルトの名無しさん
07/11/08 14:41:05
>>723
しね

727:デフォルトの名無しさん
07/11/08 20:38:56
>>721
どうなるの?

728:711
07/11/08 22:25:29
>>719
「アクセスが拒否されました。」
と出ました。

>>721 試してみます。

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

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

731:デフォルトの名無しさん
07/11/08 23:55:01
>>730
例が>>291にありますよ

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

733:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/11/09 01:08:08
あ、なるほど。それなら暗記もしやすい。

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

736:711
07/11/09 09:18:05
>>721
ダメでした。

>>729
そうします。

737:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/11/09 11:11:26
なるほどねー拡張子さくっとリネームしてあきらるもよし
バイナリの番地探しで視力落とすもよしか

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

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

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

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


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

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

743:デフォルトの名無しさん
07/11/17 22:54:04
for %%i in (%HOGE%) do echo %%~zi

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

745:デフォルトの名無しさん
07/11/17 23:04:12
PC初心者
URLリンク(pc11.2ch.net)
Windows
URLリンク(pc11.2ch.net)

746:デフォルトの名無しさん
07/11/17 23:28:03
>>743
なーるほど、ありがとうございました

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

747:デフォルトの名無しさん
07/11/18 00:24:57
バッチファイルで現在いるフォルダ名を取得する方法ないかな?

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


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

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

750:デフォルトの名無しさん
07/11/18 14:22:54
CALL :tekitou %CD%
GOTO :EOF

:tekitou
ECHO %~f1
GOTO :EOF

751:デフォルトの名無しさん
07/11/18 14:24:20
間違えた、%~n1 だった

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

753:デフォルトの名無しさん
07/11/19 00:01:46
if hoge==あるプロセスが終了したら echo hage

754:デフォルトの名無しさん
07/11/19 01:06:26
wmic.exe
or
tasklist.exe


755:デフォルトの名無しさん
07/11/19 03:25:31
wkill.exe /w | find /i "あるプロセス"

フリーソフト

756:デフォルトの名無しさん
07/11/19 04:11:03
Windows標準以外のコマンドを使うのはありだっけ?

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

758:デフォルトの名無しさん
07/11/19 16:18:42

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

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

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

761:デフォルトの名無しさん
07/11/19 19:49:36
>>760
sleepも納品すべし。

762:デフォルトの名無しさん
07/11/19 23:51:24
バッチで納品なんてあるの?

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

764:デフォルトの名無しさん
07/11/20 06:24:30
CMD->VBS,JScript
 ↓
PowerShell

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

765:747
07/11/20 22:26:40
>>748-751
㌧出張行ってて今帰ったとこですた

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


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


767:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/11/25 15:02:13
FATのBPB部分をイメージ化しておいて、それをFDのBPB部分にだけ書き込みたいのですが
どう書けば良いのでしょうか?

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

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


よろしくお願いします

769:デフォルトの名無しさん
07/11/25 17:09:25
PC初心者
URLリンク(pc11.2ch.net)

770:デフォルトの名無しさん
07/11/25 17:19:48
早速頭の可笑しい人769が登場w

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

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

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

774:デフォルトの名無しさん
07/11/25 20:58:40
初心者か否かっていう要素が無いわな…

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

776:デフォルトの名無しさん
07/11/28 21:46:27
バッチいファイル

777:デフォルトの名無しさん
07/11/29 18:30:54
doskeyマクロはバッチの中で使えないの?

778:デフォルトの名無しさん
07/11/29 18:55:27
>>777
使えるよ。

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

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

779:デフォルトの名無しさん
07/11/29 19:57:03
初心者にパソコンの使い方を教えるスレ

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

781:デフォルトの名無しさん
07/11/29 22:35:59
バッチの中でそのaが使えるか?

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

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

784:デフォルトの名無しさん
07/11/30 01:43:35
>>780
もちろん両方


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

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

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

788:デフォルトの名無しさん
07/11/30 04:54:05
>>782

ECHO=

なら使える?

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


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

791:デフォルトの名無しさん
07/11/30 19:09:20
禿堂

792:デフォルトの名無しさん
07/11/30 19:16:16
cmd>con
だと出力が変
cmd|cat32.exe>con
だと正常
なぜ?

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

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

794:デフォルトの名無しさん
07/11/30 19:43:45
PC初心者
URLリンク(pc11.2ch.net)
Windows
URLリンク(pc11.2ch.net)

795:デフォルトの名無しさん
07/11/30 20:14:07
>>793-794はスルーします

796:デフォルトの名無しさん
07/11/30 20:18:03
>>793
あなたはどうして頭が悪いの?

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

798:デフォルトの名無しさん
07/11/30 23:28:47
>>793
昔のPC
URLリンク(bubble6.2ch.net)

799:デフォルトの名無しさん
07/12/01 02:39:22
PC初心者板の回答者に答えられるのか疑問だな

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

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

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

…でも板違い

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


804:デフォルトの名無しさん
07/12/03 19:11:09
dir | find "hoge"

805:デフォルトの名無しさん
07/12/03 22:55:24
またパソコンの使い方の質問だね

806:デフォルトの名無しさん
07/12/03 23:12:24
help dir

807:デフォルトの名無しさん
07/12/03 23:25:03
吉外登場w

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

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

809:デフォルトの名無しさん
07/12/04 19:09:57
ディレクトリ自身の情報というのがそもそもよくわからない

810:デフォルトの名無しさん
07/12/04 19:31:01
dir hoge.* /ad

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

ユーザー必読!コマンドライン(DOS Pt.6)
スレリンク(win板)

812:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/12/04 19:38:15
>>810
その方法だと、hoge.bak みたいなディレクトリまで表示されてしまう。

814:デフォルトの名無しさん
07/12/04 20:28:50
>>734
vbscriptではできない?

815:デフォルトの名無しさん
07/12/04 22:05:56
既知害の誘導は狼少年のようなものですね

816:デフォルトの名無しさん
07/12/05 15:42:29
どういうこと?
煽りとかでなく素で意味が解らない。

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

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

818:デフォルトの名無しさん
07/12/05 16:45:11
できない

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

狼少年
URLリンク(ja.wikipedia.org)

820:デフォルトの名無しさん
07/12/08 20:34:40
>>817
dll書き換え

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

822:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/12/08 21:30:32
※なんでも無理矢理バッチでやろうとせずWSH等の使用も
  検討しましょう。

824:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/12/08 21:40:04
自己解決しました
for /L %%C in (%A%,1,%B%)do echo %%C
このようにすることでできました


826:デフォルトの名無しさん
07/12/08 21:42:41
cmd.exeのforって意外と機能があるよね

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

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

828:デフォルトの名無しさん
07/12/08 21:44:50
>>826
すんげーややこしいので、いつもWSH使っちゃうよ。


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

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

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

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

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

834:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/12/09 13:24:54
つかFDDなんてケーブル引っこ抜いてBIOSでオフにして置けよ。
21世紀にもなってFDなんて化石テクノロジーに頼るなよ。

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


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch