1 名前:デフォルトの名無しさん [2009/05/14(木) 11:29:31 ] 前スレ 【.cmd】 バッチファイルスクリプト %4 【.bat】 pc12.2ch.net/test/read.cgi/tech/1229955189/
628 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 15:12:55 ] こういう話だろ scripting.cocolog-nifty.com/blog/2008/02/post_c740.html
629 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 15:59:28 ] >>627 pgr
630 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 16:36:56 ] >>621 半角で例示したりして芸の細かいこと
631 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 19:55:37 ] バッチファイルにD&Dなんてするなよ 素直にコマンドプロンプトで打てばいいじゃん
632 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 21:10:28 ] どこでもいいから適当なフォルダに長江&shutdown 6380.txtってファイルを作って さっきのバッチファイルにD&Dしてみてくれ。
633 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 23:39:00 ] >>628 ありがと。 >>631 長いバッチで自動化したいから無理なのら。 >>632 さぶぅ。 雪降らせたのお前か。
634 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 02:14:36 ] バッチファイルにD&Dするかぎり無理なのら。
635 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 02:42:21 ] ドロップハンドラ作ればええのら。
636 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 14:35:34 ] Drop on Scriptのドロップハンドラは?
637 名前:デフォルトの名無しさん [2010/02/05(金) 14:35:40 ] 累乗計算バッチだるす。
638 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 21:19:53 ] 2の3乗 3の3乗
639 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 14:26:03 ] 初歩的な質問ですみません。とてつもなく初心者です。 kaigi_20100205.txt kaigi20100206,txt 20100207kaigi.txt のようなファイルをrenでリネームさせて、 会議_20100205.txt 会議_20100206.txt 会議_20100207.txt のように統一させたいと思い、 色々と見よう見真似で rename.datファイルに ren kaigi*.txt 会議_*.txt ren *kaigi.txt 会議_*.txt といれてみたのですが、 会議_00207kaigi.txt 会議_gi20100206.txt 会議_gi_20100205.txt という状態になってしまいました。 これは自分のワイルドカードの使い方が根本的に間違っているのでしょうか? どなたかご教授お願いいたします。
640 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 15:23:12 ] ワイルドカードはファイル名を保持してない
641 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 16:48:59 ] 「kaigi_*.txt」にマッチしたファイル名を「会議_*.txt」がマッチするように書き換えるのであって、 「会議_(kaigi_*.txtの*に相当する部分文字列).txt」というようにはならない。 そしてdosには「*に相当する部分文字列」を取得する機能はないので、 setなどを利用して、自分で作ってやらなければならない。 例えばこんなふうに: @echo off setlocal set NAME1=%~n1 set NAME2=%NAME1:_=% if "%NAME1:~0,5%" == "kaigi" ( echo 会議_%NAME2:~5%.txt ) else if "%NAME1:~-5%" == "kaigi" ( echo 会議_%NAME2:~0,-5%.txt )
642 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 17:33:56 ] @echo off for %%i in (kaigi*.txt) do ( set NAME=%%i call ren %%i %%NAME:kaigi=会議_%% ) for %%i in (*kaigi.txt) do ( set NAME=%%i call ren %%i 会議_%%NAME:kaigi=%% )
643 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 19:24:58 ] setlocal enabledelayedexpansion for /f %%I in ('dir /b *kaigi*.txt') do @(set a=%%I set a=!a:kaigi=! set a=!a:_=! ren %%I 会議_!a!)
644 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 19:44:18 ] >640-643 みなさん、ありがとうございます! 試してみましたところ、ばっちり動作しました。 ただ、ばっちり動作しますがプログラムの挙動を自身がまだ理解できてない状態なので これらを元に色々調べてプログラムを練ってみたいと思います。
645 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 00:23:41 ] 5スレ目でいうのもなんか変だが、 コマンド シェルの概要 technet.microsoft.com/ja-jp/library/cc737438 (WS.10).aspx Windowsヘルプにもあるし、OSごとにリンク先違うけど、ここらへんがテンプレにあっても良くないか? コマンド ライン リファレンス technet.microsoft.com/ja-jp/library/cc778084 (WS.10).aspx バッチ ファイルを使用する technet.microsoft.com/ja-jp/library/cc758944 (WS.10).aspx こっちは、上からリンクあるからイランと思うけど。
646 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 00:24:35 ] コマンド シェルの概要 technet.microsoft.com/ja-jp/library/cc778084.aspx アチャー
647 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 00:25:38 ] orz
648 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 09:53:38 ] 自分の使ってるOSのヘルプならいつでも見れるはずだが、 ヘルプすら読まずに質問するやつが多すぎるという嫌味?
649 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 13:59:37 ] >>646 Runasなんてあったのかー
650 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 15:52:52 ] MSのヘルプは探すのが面倒
651 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 16:15:51 ] ヘルプより掲示板で聞いた方が早いし楽
652 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 01:00:53 ] WindowsXPのコンソールで、 unixでいうところのsmbclientを使うには、 どのようにしたらよいでしょう? smbはもともとWindowsのプロトコルで、GUIに統合されているため、 smbclientのコマンドラインプログラムというのがあるのかないのか、 よくわからないのですが、 パスワードつきの他のマシンに起動時に自動接続するのに、 ネットワークドライブに割り当てただけではだめだったので、 それならコンソールでコマンドを実行して接続するか、と考えました。 ご存じでしたらアドバイスをお願いします。
653 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 01:04:43 ] net
654 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 01:21:50 ] >>653 thanks
655 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 03:13:43 ] MSのヘルプは詳しいのと詳しくないのと差があるからな makecabとかまったくわからんしfsutilとか独自すぎて笑える cmdのヘルプもわかりにくい部類になるだろう 書いてあるのかないのかよくわからんことも多いし 掲示板のほうが楽しいとかはさすがにあれだがw
656 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 21:54:55 ] あのさあ... objShell.Run "コマンド1 | コマンド2 | sort" とかをスクリプトでするとしましょう。 そのとき、途中のコマンドが .vbs とか .wsf の//job:XXX として、 そのなかに Wscript.Sleep 100 があるとパイプラインが詰まる? ことないですか?
657 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 22:37:57 ] それ詰まるもなにもパイプラインにならんだろ?
658 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 22:48:45 ] えー...。 ごめーん コマンド1 とかは Cscript //nologo XXX.vbs で、 XXX.vbs や YYY.wsf //job:ZZZ 内部では Wscript.Echo とか Wscript.StdOut.WriteLine 使用 ではどうだろう。 あげたれ
659 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 23:07:30 ] コマンド1がパイプラインの機能を持ってるのか?という話だが? cmd /cならパイプラインの機能を持ってるが?
660 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 23:29:58 ] あああ、そのとおり objShell.Run "cmd.exe /c " & "コマンド1 | " & ... でした。 で、コマンド1にWscript.Sleep 100 があるとコマンド1で止まっちゃうような。 気がするのです
661 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 00:09:24 ] ないです
662 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 21:36:31 ] ないですね。はてな
663 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 13:52:42 ] 教えてください。 set AAA=D:\WORK set FOLDER=%1 set INFNAME=%2 set OUTFNAME=%3 set INFPASS=%FOLDER%\%INFNAME% set OUTFPASS=%FOLDER%\%OUTFNAME% copy %INFPASS% %OUTFPASS% で、%1に「AAA」を渡した場合に、FOLDERに%AAA%が設定され、 結果的に%FOLDER% が D:\WORK となる事は可能ですか?
664 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 14:29:10 ] >>663 こんな感じかな? × set FOLDER=%1 ○ call set FOLDER=%%%1%%
665 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 18:01:21 ] >>664 できました。ありがとうございました。
666 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 11:20:25 ] 質問させてください。 パソコンちょっと詳しいからということで、会社の ネットワーク管理者にされてしまいました。 運の悪いことに、次年度からパソコンの更新が行われ、 Windows XP→Windows 7にOSも変更になりました。 前任の人がWindows XP環境でログインしたときに、 仕事でよく使うフォルダへのショートカットを ログイン時のバッチファイルで表示させていたのですが、 Windows 7では動作しないみたいなのですorz Windows 7でバッチファイルでファイルのショートカットを デスクトップに表示させるにはどうしたらいいでしょうか? いろいろググッてみましたが、それ用のフリーソフトが あるみたいなのですが、Windows 7では動きそうにないんです...
667 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 13:05:03 ] pc12.2ch.net/test/read.cgi/win/1243134619/ 管理者スレ
668 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 13:08:37 ] 回答させてください >ログイン時のバッチファイルで表示させていたのですが、 >Windows 7では動作しないみたいなのですorz 動作するかしないかはっきりさせろ! 実行してみりゃどういうエラーが出てるかわかるだろ?
669 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 13:23:23 ] >>668 前任の人の設定のままでXPのマシンをログインすると ちゃんとショートカットでるのですが、7だと、 エラーメッセージも出ず、スルー状態なんです。 (つまり何もおきない) 他のソフトインストールして試して見ます。 このスレの人で、ショートカット表示 させるコマンドライン知っている人い ましたら、ご教示ください。 おながいしまつ。
670 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 14:29:35 ] ドメインへのログオンスクリプトならポリシーの適用してない/できてないとか。 そもそもhomeでドメインに参加できないとか。 ショートカット表示の意味がわからない。 エクスプローラ上で表示させる事なのか、リモート資源の接続先をポップアップさせる事なのか。 とにかく5W1Hで明確に書いてくれないと全くわかんね。
671 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 15:20:16 ] >>670 多分668さんも同一人物 とても親切にしていただいてありがとうございます。 前の設定者はドメインに参加する時点で、windows 2003 server のActive Direcrory処理の際に、ログオンするときのバッチファイルに デスクトップにショートカットを表示させるようにしてたみたいです。 というのも、管理者以外はディレクトリ構造も知らないので、 それを全員に分からせてセキュリティレベルを下げるより、 自動的にショートカットを表示してクリックさせるという形に したようです。確かにパスを追っていけばそのファイルに到達しますが、 わざとそうさせないみたいです。(その方針には私も賛成します) 長文すみません。
672 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 15:22:13 ] で、デスクトップへ通常使うけど、 パスを探られたくないフォルダへの ショートカットを入れたいということです。 パソコンしかさわったことないので、 こういう具体的かつ実践的なご指摘はとても 勉強になります。ありがとうございます。
673 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 17:01:32 ] ポリシー設定のなかにもデスクトップの表示に関する項目があった気がする このスレ的にはログオンスクリプトの中でNET USEで接続しているんだろうな位・・・もしかするとSUBST?
674 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 17:24:57 ] ありがとうございます。 明日は日曜ですが、隠れ出社して試してみます。
675 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 19:12:15 ] バッチからショートカットを作るのはむずかしかろ インターネットショートカットならかんたん ( echo;[InternetShortcut] echo;URL=\\server\sharename\folder ) > desktop\hoge.url
676 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 19:34:54 ] どういう風に作ってたかしらんけど、フォルダ構造が変わったからじゃないの? 大抵は新しいパスへリダイレクトしてくれるけど、AllUsers→Publicの部分はうまくいかない模様 XP以前:C:\Documents and Settings\All Users\Desktop Vista以降:C:\Users\Public\Desktop
677 名前:デフォルトの名無しさん mailto:sage [2010/02/27(土) 20:15:31 ] >>676 さすがに会社のサーバ?でユーサフォルダ以降のフォルダ使わないだろw まさか、な・・・?
678 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 00:15:40 ] >>675-677 ヒントありがとうございます。 まさかもありえるのでちょっとやってみます。
679 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 05:55:24 ] 規模にもよるけど引継ぎ書とか運用手順書とか必要でしょ。 次の人に渡すにしても。 前任者に要求しとかないとまずいね。
680 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 12:55:36 ] 「ログオンするときのバッチファイル」を、クライアントのWindows7マシン上にコピーして コマンドラインから実行してみたらエラー内容が分かるんじゃない?
681 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 18:47:20 ] みなさんありがとうございます。 バッチファイルが別のバッチファイル呼び出すような 入れ子構造になっていることが判明し、解析に手間取ってます というか、そもそもDOSのコマンド知らないorz 一から調べていますので少々時間くださいまし。
682 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 19:37:11 ] みなさんヒントありがとうございました。 2ch落ちたので、その間にいろいろ調べて 見ました。問題が2点あって、一つが >>676 さんのご指摘に近く、 Xp「デスクトップ」→7「Desktop」 Xp「NetHood」→7「AppData\Roaming\Microsoft\Windows\Network Shortcuts」 Xp「スタート メニュー\プログラム」→「Microsoft\Windows\Start Menu\Programs」 に書き換えるのと、 >>670 673 さんのご指摘に近く、 Xpだとアクセス権のないフォルダ内の実行ファイルも実行できていた のが、7だとアクセス権がないフォルダのファイルはスルーされること が問題で、それらを訂正したら何とか動いてガッツですた。 (3日かかりますた。) ちなみに、それで0からDOSコマンド勉強始めたのですが、 前任者は、ショートカットをアクセスされてもいいフォルダにつくって そのショートカット自体をファイルとしてコピーするということで ショートカットの自動表示をしていました。 大変勉強になりました。また、機会がございましたら、 質問させていただければ幸いです。 (ここから後は管理者スレの内容になりそうなので、 純粋にバッチファイルに関する内容の時にまた来ます。) ありがとうございました。
683 名前:デフォルトの名無しさん mailto:sage [2010/03/03(水) 22:56:17 ] cmdでlinuxの mkfifo hoge 的なことってできますか?
684 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 00:20:27 ] 普通のファイルで1 writer n readerができるが?
685 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 21:13:13 ] CreateNamedPipe()で作れば?
686 名前:デフォルトの名無しさん [2010/03/07(日) 19:34:58 ] Jドライブの直下のlhacaフォルダの下にLhaca.exeという圧縮ファイルがあります それをつかってJドライブ直下にあるaaaフォルダを圧縮してデスクトップに出力させたいのですが どうもうまくいきません どこが悪いかを教えてください cd J:\lhaca Lhaca.exe temp.zip J:\aaa
687 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 23:14:06 ] もしカレントドライブがC:の場合はcdでJ:\lhacaを指定しても そのあと j: でカレントドライブを変更しないと相対でlhaca.exeを入力したら カレントドライブ(C:\)のカレントディレクトリでlhaca.exe探しちゃうけどそこは大丈夫? もしそれが問題なら j: cd J:\lhaca Lhaca.exe temp.zip J:\aaa にすべき。これで違ったらそれはLhaca.exeの問題かも
688 名前:デフォルトの名無しさん [2010/03/07(日) 23:28:57 ] 有り難うございます 既にカレントドライブはJになっています。 Lhacaは普通に手で実行すると普通に開くのですが Dosコマンドで開こうとするとどうしてもエラーになります
689 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 00:10:36 ] >>688 詳しいエラー教えて
690 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 02:30:59 ] +Lhaca 0.76 を落として試してみたけど Windows7 x64で実行するとファイル名バグるな (Lhaca.exe temp.zip readme.txt だと「(」名の空フォルダができるだけ Lhaca.exe .\temp.zip .\readme.txt とすると圧縮はできるけど「(.zip」という名前になる) デラックス版(1.24)も試してみたが、こちらは空フォルダすら作れなかった そもそもマニュアルにコマンドライン引数について何の記述もないし、サポート外の機能のようだ 7-Zipとかコマンドラインに正式に対応してるアーカイバ使った方がいいんでない?
691 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 02:52:16 ] >>690 そうそう。俺もWindows7 x64 だが同じ状況。 Lhaca.exe temp.zip J:\aaa の temp.zipが問題だねえ これを抜いて Lhaca.exe J:\aaa で圧縮するとaaa.zipで圧縮されるから 圧縮ファイルの名前=圧縮するファイルまたはフォルダ だね そもそもzipで圧縮されずにlzhで圧縮されるようだ もしJ:\aaaのフォルダをtemp.lzhにしたいなら ren %2 %1 Lhaca.exe %1 ren %1 %2 上記のコマンドをLhaca.bat かなんかに保存してLhaca.exeと同じフォルダに置き、 Lhaca.bat temp aaa と入力すればデスクトップにtemp.lzhが作成される。 問題点は解凍した時にtempというフォルダになってしまう事か。 圧縮ファイルをrenできればいいけどデスクトップに圧縮されるからOSの関係上、 XPだと デスクトップ vista/7 だと Desktop になって環境によってリネームできない。 結局は>>690 が言っているように別のアーカイバ使った方が良いよってこと。
692 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 03:44:39 ] 文字を入力させて、その文字でファイル名を判断して該当のフォルダに移動するバッチプログラムは需要ある? 別の言語では時々見るんだけどコマンドプロンプトでやってるの見たことないからさ blog-imgs-42.fc2.com/s/h/t/shtpg/fri.txt
693 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 03:57:06 ] >>691 圧縮形式や作成先はLhaca自体の設定(レジストリ)に依存するようだよ Lhacaはコマンドラインで使わないほうがいいな
694 名前:693 mailto:sage [2010/03/08(月) 04:00:46 ] と思ったらレジストリじゃなくて "C:\Windows\Lhaca.ini" なんてのが勝手に作成されてた 行儀が悪すぎる!
695 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 08:24:06 ] >>686 ↓横レスだが、ZIP形式の代わりにLZH形式で圧縮するなら、この二つを併用して… ttp://www.vector.co.jp/soft/win95/util/se028209.html ttp://www.vector.co.jp/soft/win95/util/se020193.html ↓ 例えばWindowsXPの場合、"Lha32.exe"が"C:\WINDOWS"フォルダ直下またはカレントフォルダ、 "UNLHA32.DLL"が"C:\WINDOWS\SYSTEM32"フォルダ直下または"Lha32.exe"と同じフォルダに 存在する状態で、以下のコマンドラインを打ち込めばOKなんだけどね。 LHA32 A /D1 "%USERPROFILE%\デスクトップ\macros.lzh" "J:\aaa\*"
696 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 08:33:40 ] >695をちょっと訂正。 macros.lzh → aaa.lzh いずれにせよ"%USERPROFILE%\デスクトップ\"を指定するのがポイント。 ただし「窓の手」などでデスクトップのフォルダを任意のフォルダに変えてる場合、この手段は使えない。
697 名前:デフォルトの名無しさん [2010/03/08(月) 23:24:41 ] >>691 バッチというかコマンドラインでやっても問題ない アーカイバってどんなのがあるの? 一見しただけじゃわからないからな
698 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 01:03:50 ] 有名どころならWinRARとか7zipでもできるよ
699 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 01:31:57 ] コマンドラインならundll.exe使っとけ。統合アーカイバDLLならどれでもおk。
700 名前:693 mailto:sage [2010/03/09(火) 01:48:24 ] 圧縮できればいいのなら makecab という手もある
701 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 02:27:44 ] C:\Program Files\Windows Resource Kits\Tools\compress.exe /? Syntax: COMPRESS [-R] [-D] [-S] [ -Z | -ZX ] Source Destination COMPRESS -R [-D] [-S] [ -Z | -ZX ] Source [Destination] Description: Compresses one or more files. Parameter List: -R Rename compressed files. -D Update compressed files only if out of date. -S Suppress copyright information. -ZX LZX compression. This is default compression. -Z MS-ZIP compression. Source Source file specification. Wildcards may be used. Destination Destination file | path specification. Destination may be a directory. If Source is multiple files and -r is not specified, Destination must be a directory. Examples: COMPRESS temp.txt compressed.txt COMPRESS -R *.* COMPRESS -R *.exe *.dll compressed_dir
702 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 15:34:51 ] CMDで↓の様なトランザクション処理はどのように記述すればよいのでしょうか? これがないと怖くて処理が書けないのですが。 PowerShell 2.0の新機能(5) ――トランザクション編(1/3):CodeZine codezine.jp/article/detail/4944
703 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 16:31:12 ] @echo off powershell syori.ps1
704 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 17:02:59 ] Parameter List: -R Rename compressed files. -D Update compressed files only if out of date. -S Suppress copyright information. -ZX LZX compression. This is default compression. -Z MS-ZIP compression. Source Source file specification. Wildcards may be
705 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 17:13:21 ] 図解入門 よくわかる最新データ圧縮技術の基本と仕組み ―情報圧縮技術とアルゴリズムの基礎講座 How‐nual Visual Guide Book 圧縮アルゴリズム―符号化の原理とC言語による実装 C magazine
706 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:10:47 ] Windows Vistaのバッチファイルについて質問です。 EXEの起動でパラメータを渡す際スペースがあるものは"" で囲むと思っていたのですが test.exe "C:\Dir 1\" とすると最後の\が消えて C:\Dir 1" として受け取ってしまうようでした 試しにVCで__argvを確認してもそうなっているようでしたが どんな書式規則でこうなるんでしょうか?
707 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:19:37 ] そういやウチのWinXP(SP3)では以下のようにVBScriptファイルを起動すると、 ちゃんと"C:\Dir 1\"と受け取ってくれたよ。 確かWin95/98/Me/NT/2000でも同じ挙動だったはず。 test.vbs "C:\Dir 1\"
708 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 12:30:02 ] >>707 確認してみましたが、確かにVBSだときちんと受け取ってますね・・。 理由は気になりますが、書式として間違っていたわけではないと わかっただけで大収穫です。 ありがとう。
709 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 14:19:30 ] >>706 test.exe "a b c d"の中に"を入れるときは、\"でエスケープするだよ test.exe "a \"b c\" d"
710 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 19:29:21 ] >>709 おお!なるほど!エスケープを使えたとは知りませんでした。 すっきり解決しました。ありがとう。
711 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 20:03:53 ] exeによって解釈は違うから永久にすっきりしないよ。
712 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 23:08:07 ] 某コマンドラインツールのリスト形式の標準出力を 某コマンド 某オプション | findstr /b /e /c:"hoge foo %fuga%" のような書き方で完全一致検索したいのですが、 リスト形式の標準出力がLF改行となっているらしく (パイプの代わりにリダイレクトして確認)、 findstrコマンドの/eオプションが期待通りに動作しません (/eオプションはCRLF改行しか認識しない?) /rオプションの正規表現モードで\nや\x0Aが使えればいいのですが、 findstrの正規表現は貧弱で使えず、$もLF改行にはマッチしないようです。 VBやVBScriptで使える「VBLF」のようなLF改行を示す定数か、 Chr(10)のような文字コード指定でLF改行を明示する手段は、 MS-DOSバッチファイルにはないのでしょうか? 環境はWinXP Pro SP3です。
713 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 23:12:40 ] 某コマンド 某オプション | more | findstr /b /e /c:"hoge foo %fuga%"
714 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 23:27:56 ] /x
715 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 01:51:47 ] 動画ファイルだけどシステム属性が付いてるファイルがあります。 ググったところ、コマンドプロンプトから「attrib ドライブ名:\ファイル名.拡張子 -s」で解除できることがわかりました。 いちいちコマンドプロンプトからやらないで、バッチファイルを作って、それを実行することで解除するようにするにはどういう記述を書けばいいのでしょう。
716 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 02:19:01 ] つ pc12.2ch.net/test/read.cgi/software/1265545912/
717 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 10:01:26 ] >715 @echo off attrib ドライブ名:\ファイル名.拡張子 -s
718 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 10:12:28 ] >>711 Windowsのコマンドで、きえる、\"以外の例を挙げてみろよ
719 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 10:54:37 ] "C:\Program Files\Internet Explorer\iexplore.exe" "www.ya\ "hoo.com"
720 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 17:42:01 ] 無理すんな
721 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 19:20:51 ] msdn.microsoft.com/ja-jp/library/cc429051.aspx CommandLineToArgvW 関数 対応情報 Windows NT: バージョン 3.5 以降を使います。 Windows: サポートされていません。 Windows CE: サポートされていません。 別に無理していないけど、Windowsでサポートされていない関数の挙動を Windows標準とみなすのはどうかと思うわけよ。 実際いろいろなexeがそれぞれ好き勝手に解釈しているし。
722 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 19:55:53 ] そんな便利なものがあったのか
723 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 20:56:58 ] NT標準でいいが 9xとかいらね
724 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 22:29:59 ] 9xは__argv、NTはCommandLineToArgvW
725 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 17:12:30 ] >>721 無理すんな
726 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 16:59:48 ] 環境変数のuserpartってなに?
727 名前:JGSDF mailto:woman [2010/03/21(日) 00:49:25 ] syosinsya
728 名前:JGSDF mailto:woman [2010/03/21(日) 00:51:01 ] cmd
729 名前:712 [2010/03/21(日) 13:59:48 ] >>713 moreコマンドでは某コマンドの出力行が長くなった時に問題あるかと思い、 find -v ""にて標準出力を無条件にfindする方法にて対応しました。 ですが、LF改行の出力が別のコマンドでフィルタすることによって、 CRLF改行に変換できるというのが大変参考になり、どうもありがとうございました。 >>714 /xオプションなら/bと/eを併用しなくてもよかったのですね ヘルプやオンラインマニュアルで印刷やプリントといったキーワードが使われていたため、 完全一致検索のことを指していると気づいていませんでした。 マイクロソフトの翻訳は微妙なことも多いので、英語版サイトもこれからは見るようにします。 どうもありがとうございました。
730 名前:712 mailto:sage [2010/03/22(月) 08:36:22 ] 引数%1がフォルダだった場合とファイルだった場合で 処理分岐するバッチファイルを作成したいのですが、 修飾子%~a1で取得できる属性には、ディレクトリとファイルを区別する 属性がなく、困っています。
731 名前:730 [2010/03/22(月) 11:28:45 ] OSはWindows Server 2003です。 書き忘れていました.
732 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 12:55:32 ] あるけど?
733 名前:730 mailto:sage [2010/03/22(月) 13:17:56 ] >>732 どうすればよいか教えて頂けませんか?
734 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 17:13:34 ] dirかcd
735 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 17:25:02 ] if exist dirname\con echo dir
736 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 18:17:09 ] cd foo && echo succ || echo fail
737 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 21:26:33 ] FOR /F "eol=-" IN ("%~a1") DO ECHO FOLDR FOR /F "eol=d" IN ("%~a1") DO ECHO FILE
738 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 21:46:12 ] OS:Windows2003 server,WindowsXP 複数のCSVファイル(yyyymmdd_hhmmss.csvのフォーマット) をmoreコマンドでひとつのcsvファイルにマージする際、 プライマリキーにおいて重複するレコードを最新のレコード以外 削除するほうほうってないですかね。 バッチ単体で。
739 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 22:14:40 ] ない
740 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 22:40:00 ] dir /ad /b "%~dp1" | findstr /x "%~nx1" && echo foruda
741 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 18:37:03 ] >>736 cdが変わるからやだ
742 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 19:01:51 ] >>735 "dir name"だと駄目やんけ
743 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 20:29:25 ] cd "c:\System Volume Information" && echo succ || echo fail
744 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 20:34:37 ] >>741 pushd&popd使えよ
745 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 22:45:39 ] つcmd /c cd
746 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 23:35:07 ] バッチ内でwmic process get や wmic ntevent を使用して、結果をテキストファイルに出力しようとしています。 ここで、wmicの出力がUnicode、別のリダイレクト部分(START、ENDなどのコメント)がSJISで出力されてしまいます。 wmicの出力をSJIS(CR+LF)にする方法はありますでしょうか。
747 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 01:01:55 ] ttp://scripting.cocolog-nifty.com/blog/2009/09/wmic-6efe.html
748 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 19:05:39 ] >別のリダイレクト部分(START、ENDなどのコメント)がSJISで出力されてしまいます。 これをunicodeで出せばよい
749 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 00:35:26 ] >>740 rootに使えん
750 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 00:31:19 ] >>742 if existはどうやっても駄目だな
751 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 00:43:39 ] if exist "dir name\*" は?
752 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 01:51:37 ] オラも考えてみた。 if exist "%~1" ( dir /a:d "%~1" 1>nul 2>&1 if errorlevel 2 goto nazo if errorlevel 1 goto fileeee if errorlevel 0 goto dirrrrr ) else ( echo "%~1" が無いよ? goto naiyo ) 優雅さに欠けるし、= でダメだ... orz ふと思ったのは %1 を渡された時にたとえば aaa と aaa========== を見分けるにはどーすりゃいいんだ?
753 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 02:11:47 ] pushd %1&&popd echo %errorlevel%
754 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 07:01:38 ] >>752 >ふと思ったのは %1 を渡された時にたとえば aaa と aaa========== を見分けるにはどーすりゃいいんだ? ヒント:findstr /x
755 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 09:22:25 ] >>754 findstr をしようにも、たとえば echo %1 というバッチファイル test.bat で test.bat aaa と test.bat aaa===== でどちらも aaa となって末尾の = が拾えない のを「見分けるにはどーすりゃいいんだ?」と思ったんですが。 オレ何か勘違いしてる?
756 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 14:29:01 ] >>751 あまいな .もない、空のフォルダってぇのがあるのだ >>752 >>753 アクセス権がないフォルダはファイルなのか >>755 別の話を絡めるな test.bat "aaa====="
757 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 14:35:30 ] 厳密にやりたきゃ別の言語使えよ。もう質問してる奴もいないし秋田。
758 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 15:56:47 ] 別の言語使いたけりゃ他スレへ行けよ
759 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 17:34:27 ] 厳密にやりたきゃ%~a1を使えばよいだけの話
760 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 17:31:02 ] あるソフトウェアのバージョン違いが3つほど入ってるんだけど デスクトップに同じ見た目のアイコンが3つあるからややこしくて。 バッチファイルをクリックすると上下ボタンでどのソフトを起動するか 選択できて、エンター押すと実行っていうのを作りたいんだけど 誰か作ってくんない? イメージ的にはウィンドウズをセーフモードで起動したときに 選択する画面がまずでてくるんだけどあんな感じ☆
761 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 17:56:46 ] アイコン変えればいいじゃん
762 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 18:03:24 ] デスクトップに3つあるアイコンそれぞれに 異なるショートカットキーを指定すればいいじゃん
763 名前:760 mailto:sage [2010/03/28(日) 18:25:55 ] こんな感じのを作ってみたんだけど やっぱり上下のキーで選択するUIがいいなぁと思うので 誰か改造求む! @echo off echo アプリケーションを選択して下さい echo [1] : メモ帳 echo [2] : ペイント echo [3] : 電卓 set /p INPUT= if "%INPUT%"=="1" start notepad if "%INPUT%"=="2" start mspaint if "%INPUT%"=="3" start calc
764 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 19:38:46 ] Enterなしにキー入力を受け取る方法がないから無理
765 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 19:47:41 ] 指定したファイルをホームページ(FTPで)にバッチファイルで送信することは可能でしょうか?
766 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 19:59:09 ] @echo off echo アプリケーションを選択して下さい echo [1] : メモ帳 echo [2] : ペイント echo [3] : 電卓 choice /c 123 if "%ERRORLEVEL%"=="1" start notepad if "%ERRORLEVEL%"=="2" start mspaint if "%ERRORLEVEL%"=="3" start calc
767 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 20:17:58 ] if 1==2 ( start notepad start mspaint start calc ) ↑
768 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 21:11:49 ] 大昔はそういうメニューが普通にあったが、GUIで死滅したな あってもブート選択画面ぐらいか
769 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 21:15:15 ] 1文字読み取って制御を返すツール作ればいろいろ用途が広がるよ。 2ストロークで26^2個のツール呼び出せるランチャ作ったけど軽くて便利。
770 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 22:05:34 ] powershell使えばカーソル選択メニューが作れるよ
771 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 22:32:52 ] >>765 できるよ バッチファイルとまた一つftpコマンドを書いたテキストファイルが必要になる
772 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 13:10:44 ] >>771 遅レスすみません。 ありがとうございます。おかげでできました。
773 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 21:37:47 ] コマンドプロンプトに表示された文字を(txt等)に出力ってできますか?
774 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 21:42:46 ] 無理
775 名前:773 mailto:sage [2010/03/29(月) 22:54:06 ] すみません、自己解決しました。 test.bat > log.txt
776 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 23:40:05 ] >>775 それだと標準エラーがファイル出力できないよ
777 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 23:48:00 ] test.bat > log.txt 2<&1
778 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 23:59:44 ] >>776-777 そうなんですか、知りませんでした! ありがとうございます。
779 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 11:24:07 ] 質問です。 ファイル a.txt.bak ab.html.bal abc.exe.bak があるとすると 拡張子.bakだけ一括で名前変更できるでしょうか?
780 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 13:17:31 ] できないわけがない
781 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 13:35:10 ] ren *.bak *.hoge
782 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 13:51:39 ] それじゃ a.txt.baka ab.html.aho abc.exe.baka 拡張子.bakaだけ一括で名前変更できるでしょうか?
783 名前:779 mailto:sage [2010/03/30(火) 14:02:57 ] すみません、質問の仕方が間違えていました。 bakの部分だけ消したいんです。 a.txt.bak→a.txt
784 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 14:17:18 ] ren *.bak *.
785 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 15:07:17 ] >>784 ありがとうございます できました
786 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 16:00:55 ] hogeよりはahoやbakaの方が好き おっと、kusoも使うなw
787 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 17:21:12 ] chinko manko unko shikko
788 名前:デフォルトの名無しさん [2010/04/06(火) 00:27:29 ] すみません。テキストファイルの中身の特定行だけ抜き出す方法を教えてください。 test.txt中身 --------------- morning hello bye --------------- 上のようなファイルがあったとして、1行目のmorningや、3行目のbyeを 変数やファイルに出力する方法はないでしょうか。 外部コマンドは使えないWindowsXP/2003環境です。
789 名前:デフォルトの名無しさん mailto:sage [2010/04/06(火) 02:28:58 ] for /?
790 名前:デフォルトの名無しさん mailto:sage [2010/04/06(火) 02:28:59 ] >>788 find使って >baka.txtとかで出力 うまく使えば一つのバッチファイルで色んなバッチファイルを作成することができるから便利
791 名前:デフォルトの名無しさん [2010/04/06(火) 07:40:04 ] findは外部コマンド
792 名前:デフォルトの名無しさん mailto:sage [2010/04/06(火) 07:56:00 ] >>788 findstr /r "^morning$ ^bye$" > hoge.txt
793 名前:デフォルトの名無しさん mailto:sage [2010/04/06(火) 09:11:31 ] >>791 空気読め馬鹿
794 名前:デフォルトの名無しさん mailto:sage [2010/04/06(火) 09:28:43 ] 料理できないと買ってきた惣菜をならべるぐらいのことでも自慢するんだよ それ外で買ってきたんだろとあきれられてても本人は満足
795 名前:デフォルトの名無しさん mailto:sage [2010/04/06(火) 20:43:40 ] バッチファイルでテトリス作って
796 名前:デフォルトの名無しさん [2010/04/06(火) 22:12:33 ] >>792 ありがとうございます。 説明が不足してたのですが、必ずしも1行目にmorningがあって、3行目にbyeがあるわけじゃない場合に 1行目、3行目を抽出って出来るんでしょうか。根本から違うやり方考えた方が良いですかね・・・。
797 名前:792 mailto:sage [2010/04/06(火) 22:28:25 ] findstrコマンドは/cオプションを指定しない場合は、 二重引用符内で半角空白区切りで指定されたキーワードを OR検索できるんだけど、 やりたいのは、特定キーワードで抽出したいんじゃなくて、 特定の行番号を抜き出したいってこと?
798 名前:デフォルトの名無しさん mailto:sage [2010/04/06(火) 23:05:41 ] 下のようなのを作る場合変数iの引数は12個まで とかいう決まりがあるのでしょうか? for %%i in (%*) do xxxxx %%i pause このバッチファイルに引数となるファイルをドラッグ&ドロップしたら 「指定されたデバイス、パス、またはファイルにアクセスできません。 アクセス許可がない可能性があります。」 と言われます。ちなみに12個まではOKでした。
799 名前:デフォルトの名無しさん mailto:sage [2010/04/06(火) 23:18:13 ] >>798 D&Dした複数ファイルのフルパス文字列の長さが限界に達したのでは? その12ファイルをもっと浅い(フルパスの短い)階層に移動させれば、 13ファイル以上もいけるかと。 Win9x系かNT系かでも変わってくると思う。
800 名前:799 [2010/04/06(火) 23:21:16 ] ごめん。NT系でもNT4.0や2000とXP以降で違うみたい。 support.microsoft.com/kb/830473/ja
801 名前:デフォルトの名無しさん mailto:sage [2010/04/06(火) 23:25:24 ] >>799 ,800 たぶん、ファイルの長さだと思います。 ありがとうございました。
802 名前:デフォルトの名無しさん mailto:sage [2010/04/06(火) 23:34:51 ] たぶん? 結局どうでもよかったのか
803 名前:792 [2010/04/06(火) 23:55:34 ] >>796 find /n /v "" test.txt|findstr /b /l "[1] [3]" または type test.txt|find /n /v ""|findstr /b /l "[1] [3]" または type test.txt|findstr /n /v ""|findstr /r "^1: ^3:" Mac環境から書き込んでてテストしてないから間違ってるかも。 特に3つ目の「findstr /n /v ""」は入力ファイルの全行に行番号出力になってないかも。
804 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 23:02:04 ] >>801 >たぶん、ファイルの長さだと思います。 ファイルサイズは関係ないだろ
805 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 23:09:06 ] <test.txt ( set /p x= call echo %%x%% >1.txt set /p x= call echo %%x%% >2.txt set /p x= call echo %%x%% >3.txt )
806 名前:spectre [2010/04/11(日) 18:40:33 ] アクティブな画面を「最新の情報に更新」にするバッチってありますかぁ? どなたかよろしくお願いします。
807 名前:デフォルトの名無しさん mailto:sage [2010/04/11(日) 19:47:26 ] バッチでは不向きな気が… 簡単なものでよければ VBScript 辺りでどう? ' ## update.vbs ## Dim objWshShell ' WshShell オブジェクト Set objWshShell = WScript.CreateObject("WScript.Shell") If Err.Number = 0 Then objWshShell.SendKeys "{F5}" ' F5 を送信 Else WScript.Echo "エラー: " & Err.Description End If Set objWshShell = Nothing
808 名前:デフォルトの名無しさん mailto:sage [2010/04/11(日) 19:53:59 ] しかしどうやって動かすんだ? 動いたときアクティブなウィンドウは?
809 名前:デフォルトの名無しさん mailto:sage [2010/04/11(日) 20:05:00 ] 想定の範囲外です(キリッ 適当なフリーソフト使え
810 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 19:17:26 ] ローカルでphpスクリプトを動かす際に一連の流れを バッチファイルでまとめてしまおうと思ったのですが cd "ディレクトリ1" httpd.exe cd "ディレクトリ2" C:\php\php.exe batchtest.php このようなバッチファイルを作ったところ httpd.exeを起動したところで止まってしまい、httpd.exeを終了させないと 次の行に行きませんでした。 どのようにすればすべての処理が行われるでしょうか?
811 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 19:36:02 ] cd "ディレクトリ1" httpd.exe taskkill /im httpd.exe cd "ディレクトリ2" C:\php\php.exe batchtest.php
812 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 20:56:35 ] start httpd.exe
813 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 07:38:21 ] >>811 ヒネリがないので笑えん。
814 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 12:59:02 ] >>813 素直な奴だな。 httpd.exeを終了させないとtaskkillが実行されないという二段オチなのに。
815 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 14:49:58 ] 下記のバッチ内、:mpexec_core にある if 文で落ちてしまいます。 書き方に何か問題があるのでしょうか? ideone.com/OvSYW
816 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 15:10:11 ] その行だけじゃわからないよ 環境変数に適切な値が入っているならちゃんと動くように見える echoの表示やエラーメッセージはどうなってんの? エスパー初級な解答 if "%xxx%" geq "%yyy%"のように""で括れば 環境変数が空の場合でも落ちる事はなくなるはず
817 名前:815 mailto:sage [2010/04/13(火) 15:25:07 ] >816 if "%MP_MAX%" geq "%MP_NUM%" ( に変更しても落ちました。 直前の出力は if 1 geq 1 ( なので、両方に1が入っていることは確認済みなのですが・・・。 エラーは 「コマンドの構文が誤っています。」 です。
818 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 18:43:38 ] エラーの詳細が出るようにバッチの先頭におまじないを書いておく echo W 100 2 0 200 | debug
819 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 18:47:20 ] >>817 ()のなかの命令が不適切なのでは?
820 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 19:54:16 ] ( ) の中で SET を使うのはやめといた方がいいよ GOTO 文などに置き換えれば動くはず
821 名前:815 mailto:sage [2010/04/13(火) 20:06:10 ] >>819 ,820 ()の中を関数化したら正常に動作しました。 ありがとうございました。
822 名前:デフォルトの名無しさん [2010/04/13(火) 20:43:32 ] すべてのウィンドウを「最新の情報に更新」にするバッチってありますかぁ?
823 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 22:48:22 ] ないよ
824 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 02:26:10 ] ありがとうございました。
825 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 17:07:20 ] 作成日時は%~t1で取れますかぁ?
826 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 17:14:10 ] ヘルプ見るの面倒
827 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 09:14:28 ] >>825 こういうこと? for /? より %~tI - %I ファイルの日付/時刻に展開します。
828 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 14:10:17 ] それ更新日時
829 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 18:25:03 ] >>828 827じゃないが、ファイルの日付が何になるかって、 環境変数で変更できなかったっけ? まぁ、できなくても、作成日時だったら、 他の手段で、何とでもなるから困らないけどね
830 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 20:08:20 ] それDIRCMD
831 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 06:44:59 ] >>814 だから、それは一目見て分かることで何の面白味もないの。
832 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 07:35:16 ] >>810 httpdが無いと動かないようなphpなら netstatとか使って、httpdが起動完了したことを検知しないと駄目な気がする まぁ、batchtest.php内で成功するまで待つって手もあるけど… あと、最後にhttpdを止める必要はないの? 動かしっぱなしなら、httpdをバッチで起動する意味はないと思うけど?
833 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 18:16:02 ] 馬鹿じゃないんだからそんなこといちいち聞かれなくても分かってますよ。
834 名前:デフォルトの名無しさん [2010/04/23(金) 20:48:27 ] バッチでキューを実装したいけど実装できますよね? 現状想定案 ■I/F QUE.bat -que|-deq -prm1 prm1=パラメタファイル 格納DIR 、入力元DIR、出力先DIR、ファイル名 ■que指定時 1.入力ファイル名と同名のファイルが格納先にないかチェック ↓ ↓ない ↓ 末尾0付格納 3.カウンタをインクリし2に戻る ■deq指定 1.格納先ディレクトリに末尾0ファイルがあるかチェック ↓ ↓ない ↓ エラー返却 ↓ ↓ある 2.ファイルを出力先に出力 ↓ 3.カウンタで小さい方からサーチ カウンタ-1でリネーム
835 名前:デフォルトの名無しさん mailto:sage [2010/04/23(金) 23:48:57 ] 実装自体はいけそう que指定時の2の処理が不明だったり 格納ファイルのフォーマット(ファイル名の規則)をどう定義するか カウンタの初期値をどこから設定するかなど細部が気になる
836 名前:デフォルトの名無しさん [2010/04/24(土) 00:35:27 ] >>835 携帯から書いたら改行多すぎと言われて、消しすぎたぜ… ■大体決めたこと 1.格納先のファイル名は入力ファイル名+連番。 1〜が数えやすそうかな。 2.返却値はキューの残数。 取出失敗時はマイナス ■迷ってること 1.格納先DIRパスとファイルの種類は1対1で対応させるかどうか? 2.キュー残数チェック用のオプションを実装するか? 3.もっと汎用的な設計がないか? (サンプル的なやつ) 4.バッチ暦10日だけどそもそも言語仕様的に無理とかないよね? できそうと聞いて安心したよ。 迷4以外はただの設計とアルゴリズムだし。 技術的に困ったらまたお願いします。