1 名前:名無し~3.EXE mailto:sage [2006/07/11(火) 00:22:35 ID:HxtG+321] 適材適所で GUI と CUI を組み合わせて、(゚д゚)ウマー 前スレ 1 pc.2ch.net/win/kako/1002/10023/1002392089.html 2 pc5.2ch.net/win/kako/1013/10138/1013833995.html 3 pc8.2ch.net/test/read.cgi/win/1062775949/ 4 pc8.2ch.net/test/read.cgi/win/1062775949/ DOS由来コマンドだけでなく、Windows バージョンアップのたびに拡充されてきたコマンド、 wsh(cscript)、cygwin、Resource Kit、Support Tools、その他のフリーソフト等ふくめ コマンドラインインタフェースに関するネタならなんでもOK。 質問も歓迎だけど、自分で調べて勉強する努力も忘れずに。
2 名前:名無し~3.EXE [2006/07/11(火) 00:24:53 ID:HxtG+321] 訂正 7c7 < 4 pc8.2ch.net/test/read.cgi/win/1062775949/ --- > 4 pc8.2ch.net/test/read.cgi/win/1116131036/
3 名前:名無し~3.EXE mailto:sage [2006/07/11(火) 01:22:52 ID:Jt4CDqIy] 意気揚々と埋めてるから何かネタでもあるのかと思ったのに・・・
4 名前:名無し~3.EXE mailto:sage [2006/07/11(火) 01:37:39 ID:oqrI561G] for /?
5 名前:名無し~3.EXE mailto:sage [2006/07/13(木) 01:06:15 ID:CMHslxMB] だれもいない
6 名前:WindowsXP mailto:sage [2006/07/13(木) 15:46:40 ID:HlT6NdOe] 誘導されて来ました。 クリックでTempフォルダの中身を消去するアイコン (.bat ファイル) を作りたいのですが、 rmdir /s "Tempフォルダのパス" だとTempフォルダ自体も消えてしまいます。 この場合に限らず、ディレクトリの中身だけを削除する場合どのように命令すればよいのでしょか。
7 名前:名無し~3.EXE mailto:sage [2006/07/13(木) 15:56:13 ID:QTEtV8XE] 消した後に作る
8 名前:名無し~3.EXE mailto:sage [2006/07/13(木) 15:59:22 ID:f3nQB2M5] Tempフォルダにcdしてrmdir /s . なんてな
9 名前:名無し~3.EXE [2006/07/13(木) 17:58:16 ID:ooElHgFf] www.atmarkit.co.jp/fsecurity/rensai/securitytips/017hotfix.html これのバッチファイルの書き方教えて。
10 名前:名無し~3.EXE mailto:sage [2006/07/13(木) 18:00:49 ID:4/io/uFv] >>9 その中にBATファイル例があるのは気のせいなんだろうか?
11 名前:名無し~3.EXE [2006/07/13(木) 18:09:40 ID:ooElHgFf] その例を メモ帳で書いて拡張子を.batにしてhotfixと同じフォルダに入れて クリックするだけでいいんですか。
12 名前:名無し~3.EXE mailto:sage [2006/07/13(木) 21:51:09 ID:/VQW/QIJ] >>7 だと、アクセス権とか監査とかが復元できない場合があるので>>8 のほうが賢いと思う。 ただ、/sだけでは「よろしいですか (Y/N)?」と聞いてきてしまうので、/qも付けたほうがいいかも。
13 名前:名無し~3.EXE mailto:sage [2006/07/13(木) 21:55:08 ID:/VQW/QIJ] あと、万が一対象フォルダが無くなった状態で実行すると、カレントフォルダ以下を 丸消しに逝ってしまうので、 cd 対象フォルダ&&rmdir /s /q . としたほうが良いと思う。
14 名前:名無し~3.EXE [2006/07/13(木) 21:58:41 ID:64yIeWy4] そうだけど、全部手入力するするの? dir /b > patch.batとすれば、多少、編集が楽になるし、 for など使えば、-m -z でOKなパッチだけだったら、 ディレクトリ内のパッチをあてるようにもできるだろうし。 -m -z が使えないのが混ざってるとだめだけど。
15 名前:14 [2006/07/13(木) 22:02:43 ID:64yIeWy4] >>11 のコメントでした、コメントがとんでしまってすまん。
16 名前:名無し~3.EXE mailto:sage [2006/07/13(木) 22:21:46 ID:1rMuZnzq] dir /b /o:d > out.txt こうしておけば更新日時が古い順に並ぶお。 ダウンローダでファイルの日時を取得してるならこうやって並べると気持ちいいかも。
17 名前:名無し~3.EXE mailto:sage [2006/07/20(木) 01:17:00 ID:w2h+z3Fq] 話の途中ですみません。 XPProで回復コンソールをWINDOW配下にインストールしたいのですが、 何かいい方法ないでしょうか? デフォだと%SYSTEMDRIVE%に強制的に 作られるんですが、ルートってのは目障りなんです。手動でWINDOWS 配下に移し、BOOT.INIのパス表記も合わせても、回復コンソール起動中に TXTSETUP.SIFが見つからない云々…のエラーが出てしまいます。 よろしくおねがいします。
18 名前:名無し~3.EXE mailto:sage [2006/07/20(木) 09:44:57 ID:DOSQ1KF2] どう見てもスレ違いです。 下記スレッドで再度質問してください。 WindowsXP質問スレ 152ページ目 pc8.2ch.net/test/read.cgi/win/1152982564/ 本当にありがとうございました。
19 名前:名無し~3.EXE mailto:sage [2006/07/20(木) 09:45:28 ID:DOSQ1KF2] うほっ、IDがDOS
20 名前:名無し~3.EXE mailto:sage [2006/07/20(木) 13:29:50 ID:/kQGoaOV] 神キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
21 名前:名無し~3.EXE mailto:sage [2006/07/20(木) 14:00:03 ID:bWg0PLeg] 質問です。 batでwavを呼び出して一度だけ再生して 終了させる方法はありませんか? 環境はXPproです。
22 名前:21 mailto:sage [2006/07/20(木) 14:28:35 ID:bWg0PLeg] 自己解決しました
23 名前:名無し~3.EXE mailto:sage [2006/07/20(木) 23:07:55 ID:KmtrP+Qh] ・・・どう解決したか書いとけよ。
24 名前:名無し~3.EXE mailto:sage [2006/07/21(金) 18:13:50 ID:QFAk7q3Q] そんな情報イラン
25 名前:21 mailto:sage [2006/07/22(土) 05:25:08 ID:WFo5cAzv] >>23 自分としては 一応別の言語でそれっぽいもの作って対応。 sleepとかもいつの間にか消えてたんでついでに作りました。 なんでバッチに拘ってるか分からなくなってきたorz というかコマンドプロンプトで解決できてないや・・・
26 名前:名無し~3.EXE mailto:sage [2006/07/22(土) 12:50:08 ID:NiBpIi7E] sndrec32 /embedding /play 〜.wav
27 名前:名無し~3.EXE [2006/07/23(日) 15:55:03 ID:98gcVlRV] 全ディスク中から、特定の名前のディレクトリだけを指定したいのですが、 ディレクトリ名にはワイルドカードは使えないんでしょうか? 例:\settingというディレクトリを指定したい
28 名前:名無し~3.EXE mailto:晒しあげ [2006/07/23(日) 21:00:56 ID:kD5ysoEu] なんでこういう実験してみればわかるようなことを質問するかなぁ・・・
29 名前:名無し~3.EXE mailto:sage [2006/07/24(月) 04:00:54 ID:Pj4INBC0] とりあえず置いときますよ。 ttp://www.seshop.com/book/preview/200309/4798104426-dos.pdf ttp://www.vector.co.jp/soft/win95/util/se010511.html
30 名前:名無し~3.EXE [2006/07/26(水) 00:30:25 ID:7KnQnoV2] XPのcmd.exe上で、URLエンコードされたURLを引数として、 IEを直接呼び出したいと思っています。 例えばこんな感じです。 > iexplore "www.google.com/search?hl=ja&lr=lang_ja&inlang=ja&ie=Shift_JIS&q=%82%D9%82%B0" この例はうまくいくのですが、運悪く %CD% が含まれてしまうと、 そこの部分がカレントディレクトリ名に展開されてしまって期待通りになりません。 例えば以下はうまくいかない例です。 > iexplore "www.google.com/search?hl=ja&lr=lang_ja&inlang=ja&ie=Shift_JIS&q=%82%CD%82%CD" 環境変数の展開を抑制する方法はないものでしょうか。 ダブルクオートの代わりにシングルクオートは試してみましたが駄目でした。
31 名前:名無し~3.EXE mailto:sage [2006/07/26(水) 01:11:48 ID:xPsBkOpx] >>30 検証したわけではないが、%を^%に変更したらどうだべ?
32 名前:30 mailto:sage [2006/07/26(水) 01:17:40 ID:7KnQnoV2] >>31 駄目でした…。 Google側に、「^」を含んだまま渡ってしまいます。
33 名前:名無し~3.EXE mailto:sage [2006/07/26(水) 04:55:47 ID:bvsfqXHv] set CD=^%CD^% しておくとか
34 名前:名無し~3.EXE mailto:sage [2006/07/26(水) 05:23:01 ID:9XtTVqad] >>30 Shift_JIS以外のコードを使ってみるとか。
35 名前:名無し~3.EXE mailto:sage [2006/07/26(水) 05:28:41 ID:Fcd8s0ZU] エスケープが必要な文字(%と&)を^でエスケープしてダブルクウォートで囲まないで渡す
36 名前:30 mailto:sage [2006/07/26(水) 06:30:30 ID:7KnQnoV2] >>35 氏の方法でできました! >>33 なるほどこれもいけますね。 汎用性がちょっと低いのが難点でしょうか。 >>34 実はこのコマンドラインを最終的には Perl のスクリプトの中に 含めたいのですが,その関係上でできれば Shift_JIS で いきたかったのです。 >>31 氏も含め皆様どうもありがとうございました!
37 名前:名無し~3.EXE mailto:sage [2006/07/26(水) 13:17:43 ID:Uf4XzLbe] なんか気分がいい
38 名前:名無し~3.EXE mailto:sage [2006/07/27(木) 13:34:20 ID:AYHBeKOk] アニメ BEST100 ttp://www.animedepot.biz/DVDlist/2005years_best.htm 1位 www.animedepot.biz/DVDlist/title/KVDVD0542.htm 2位 www.animedepot.biz/DVDlist/title/KVDVD0518.htm 3位 www.animedepot.biz/DVDlist/title/A18D2492.htm 4位 www.animedepot.biz/DVDlist/title/KVDVD0533.htm 5位 www.animedepot.biz/DVDlist/title/A18D2480.htm 6位 www.animedepot.biz/DVDlist/title/KVDVD0512.htm 7位 www.animedepot.biz/DVDlist/title/KVDVD0502.htm 8位 www.animedepot.biz/DVDlist/title/KVDVD0521.htm 9位 www.animedepot.biz/DVDlist/title/KVDVD0505.htm 10位 www.animedepot.biz/DVDlist/title/KVDVD0508.htm
39 名前:名無し~3.EXE [2006/07/27(木) 14:05:13 ID:ed7fKJ1k] バッチファイルについて教えてください。 同一フォルダにある全てのテキストファイル(*.txt)の頭に、jpegファイルを連結して偽装jpegファイル を作りたい(目的は、iアプリのreate用)のですが、これのためのバッチファイルが書けません。 == connect.bat == copy dummy.jpg dummy2.jpg copy dummy2.jpg+%1 ren dummy2.jpg %1 これを connect *.txt で実行すると、やはり全てのテキストファイルが連結されてしまってうまくいきません。 PC9801時代からDOSは触ってるのですが、このような処理をどう書くのか忘れてしまって困っています。 なにかいい案はないでしょうか?
40 名前:名無し~3.EXE mailto:sage [2006/07/27(木) 16:57:01 ID:AwHWEOxl] forでループさせろよ
41 名前:名無し~3.EXE [2006/07/27(木) 17:18:18 ID:ed7fKJ1k] >>40 forあたりを使いそうなのはわかるのですが、どう書いたらよいのかわかりません。
42 名前:名無し~3.EXE mailto:sage [2006/07/27(木) 17:48:09 ID:ejfXxMCP] for /?
43 名前:名無し~3.EXE mailto:sage [2006/07/27(木) 18:42:23 ID:ZyGLQChd] four のレスは見事だな
44 名前:名無し~3.EXE mailto:sage [2006/07/27(木) 19:16:31 ID:3HWIL+gJ] 忘れたんなら for /? みれば思い出せるだろ。 DOS時代のforの機能で十分だし。
45 名前:名無し~3.EXE mailto:sage [2006/07/27(木) 19:39:25 ID:IqaLZ9Vg] >>39 2行目を for /f %%F in ('dir /b %1') do copy dummy2.jpg+%F にしたらどうだ?
46 名前:名無し~3.EXE mailto:sage [2006/07/27(木) 19:53:31 ID:FVkrqnx/] forが使えんやつはgotoとshiftでも使ってろや
47 名前:45 mailto:sage [2006/07/27(木) 21:11:39 ID:IqaLZ9Vg] スマソ、間違えたorz for /f %%F in ('dir /b %1') do ( copy dummy2.jpg+%%F ren dummy2.jpg %%F ) >>45 をカキコした直後にブレーカーが落ちたもんですぐ訂正できなかった(泣)
48 名前:名無し~3.EXE mailto:sage [2006/07/27(木) 21:35:39 ID:3HWIL+gJ] >>45 ,47 copy /?
49 名前:45 mailto:sage [2006/07/27(木) 21:53:28 ID:IqaLZ9Vg] >>48 いけね、コピー先のファイル名はこの場合省けないのねorz for /f %%F in ('dir /b %1') do ( copy /y dummy.jpg+%%F dummy2.jpg move /y dummy2.jpg %%F ) これでおk?
50 名前:名無し~3.EXE mailto:sage [2006/07/27(木) 22:24:06 ID:HBIHjoKe] move?
51 名前:名無し~3.EXE mailto:sage [2006/07/28(金) 03:06:39 ID:1XL80h13] バッチファイルのコマンドラインの途中で改行を入れたいんですが どうしたらいいですかね? それと dir hogehoge.txt /s /b で取れたフルパスをそのまま実行させたいのですがどうしたらいいのでしょう? お願いします
52 名前:名無し~3.EXE mailto:sage [2006/07/28(金) 03:20:05 ID:DKUy5lzO] 改行無理 お前も例にもれず、for /?
53 名前:51 mailto:sage [2006/07/28(金) 03:22:10 ID:1XL80h13] 補足です hogehoge.txtはファイル名は判っていますがサブフォルダに深く潜り込んでいて その為dir検索しています
54 名前:51 mailto:sage [2006/07/28(金) 03:27:53 ID:1XL80h13] 仕方なく現在は検索結果を別のバッチファイルにリダイレクトして実行させてます で start(改行文字) hogehoge.txtのフルパス ってやりたかったんですが・・・
55 名前:名無し~3.EXE mailto:sage [2006/07/28(金) 03:48:25 ID:DKUy5lzO] >>54 forを使うのはループのためじゃなくってコマンド結果を環境変数に格納するためだ。
56 名前:51 mailto:sage [2006/07/28(金) 03:53:20 ID:1XL80h13] >>55 トークン切り出してとか?
57 名前:51 mailto:sage [2006/07/28(金) 03:54:27 ID:1XL80h13] あ、そっか! ありがとー
58 名前:名無し~3.EXE [2006/07/29(土) 01:06:41 ID:DUV1QYxh] echo タイトル: %~1 echo URI: %~2 echo 回数: %~3 echo 間隔: %~4 [sec] FOR /L %%I IN (%~3,-1,1) DO ( title [%%I / %~3 @ %~4sec] %~1 .\Script\sleep.exe %~4 .\Jane2ch.exe -b -h "%~2" ) このコマンドをSleep.exe使わずにやりたいんですけど、 これって .\Script\sleep.exe %~4 ↓ .\Ping.bat 1 %~4 でPing.batの中は @echo off ping localhost -n 2 > nul ping localhost -n %1 > nul でだめなんでしょうか? 動かないんですけど。。。
59 名前:名無し~3.EXE mailto:sage [2006/07/29(土) 01:23:04 ID:QdzE6wVf] だめ。
60 名前:名無し~3.EXE [2006/07/29(土) 03:01:48 ID:DUV1QYxh] >>59 やっぱりだめですか 書き換え方教えてください
61 名前:58 [2006/07/30(日) 16:20:22 ID:TgP6edG5] どなたか教えてください
62 名前:名無し~3.EXE mailto:sage [2006/07/30(日) 16:32:31 ID:jss5BkeS] ping.bat ping ping.exe
63 名前:58 [2006/07/30(日) 17:24:04 ID:TgP6edG5] >>62 えっ、どういうことでしょうか? echo タイトル: %~1 echo URI: %~2 echo 回数: %~3 echo 間隔: %~4 [sec] FOR /L %%I IN (%~3,-1,1) DO ( title [%%I / %~3 @ %~4sec] %~1 ping.bat ← ここです .\Jane2ch.exe -b -h "%~2" ) ってことですか?
64 名前:名無し~3.EXE mailto:sage [2006/07/30(日) 18:17:51 ID:URlOCn8N] 久々に言おう・・・ 必死だなw
65 名前:名無し~3.EXE mailto:sage [2006/07/30(日) 18:42:16 ID:MIqSJOjQ] >>63 ping.batの中身の方だ。 つーか、そんな紛らわしい名前付けるな。
66 名前:名無し~3.EXE mailto:sage [2006/07/30(日) 19:16:53 ID:OKe+j+Rm] pingって書いたら、ping.batが実行されるかping.exeが実行されるか知ってる? それにbat中で別batを呼び出すのに単にbatって書いちゃダメだろ。
67 名前:名無し~3.EXE [2006/07/30(日) 22:37:49 ID:TgP6edG5] >>65-66 えーと、こういうことでしょうか? echo タイトル: %~1 echo URI: %~2 echo 回数: %~3 echo 間隔: %~4 [sec] FOR /L %%I IN (%~3,-1,1) DO ( title [%%I / %~3 @ %~4sec] %~1 Call .\Waiting.bat %~4 ←ここを変更(名前は紛らわしいとだめらしいのでWating.bat) .\Jane2ch.exe -b -h "%~2" ) Waiting,batの中は @echo off ping localhost -n 2 > nul ping localhost -n %1 > nul ↑じゃなしに これなんですか? ping ping.exe
68 名前:67 mailto:sage [2006/07/31(月) 02:00:01 ID:pjJQiXPC] 出来ました ありがとうございました
69 名前:名無し~3.EXE [2006/08/02(水) 13:36:04 ID:wsgBoBsR] XP sp2で USBマウスが反応しません。 (動きません) マウス(Hamma)の型番が不明でドライバーも見つかりません。 ディバイスマネージャでは、PS2-Pad というドライバがひとつ だけあります。 ドライバの更新、トラブルシューティングを やっても直りませんでした。 どうすれば、マウスが動くようになるでしょうか?
70 名前:名無し~3.EXE mailto:sage [2006/08/02(水) 14:12:40 ID:5OwJeRGW] ネタ? スレタイ読める?
71 名前:69 [2006/08/02(水) 14:23:26 ID:wsgBoBsR] すみません。 初心者スレと見間違いました。 申し訳ありませんでした。 w 気にせずに質疑、議論を進めてください。
72 名前:名無し~3.EXE mailto:sage [2006/08/02(水) 14:38:30 ID:BwFBApMu] 質疑、議論とかそんな大そうなスレじゃないし . ィ .._ .......、._ _ /:/l! :~""''.>゙' "~ ,、、''‐'、| _ ご冗談を ゙、'、::::::ノ:::::::_,.-=. _〜:、 /_.}'':, ``、/:::::::::__....,._ `゙'Y' _.ェ-、....._ /_゙''i゙ノ、ノ ,.--l‐''"~..-_'.x-='"゙ー 、`'-、 ,:' ノ゙ノブ " .!-'",/ `'-‐'') /\ `/ でノ-〈 .-''~ >'゙:: ‐'"゙./ ヽ.,' ~ / //::::: ', / ,:'
73 名前:名無し~3.EXE [2006/08/03(木) 00:20:18 ID:6j4+y6+n] こんばんは 最近コマンドラインの勉強を始めた者ですが質問があります。 コマンド実行結果によるERRORLEBELの値で分岐処理をしようと思っているのですが、 ERRORLEVELの値についてコマンド/?を調べてもどこにも書かれていません。 自分でざっと調べた結果、正常処理なら「0」、異常処理なら「それ以外」のように 思うのですが、具体的な値はどのように調べればよろしいでしょうか ご教授願います。
74 名前:名無し~3.EXE mailto:sage [2006/08/03(木) 00:28:02 ID:L7kyqlc5] 確かに未だにまともなリファレンスがないのはアレだよなぁ。
75 名前:名無し~3.EXE mailto:sage [2006/08/03(木) 00:55:21 ID:CapLiwm3] >73 これと言った統一ルールは無いよ。 ただ特に説明が無ければ、正常だろうがエラーだろうが 大抵は「0」が返ってくると思う。 何が変えるかはコマンドやexe次第。 C言語分かるなら、mainの戻り値≒ERRORLEVEL と思えばよろし。
76 名前:名無し~3.EXE mailto:sage [2006/08/03(木) 01:58:48 ID:JXRq3dhJ] 0か1以外返すやつなら大抵readmeやヘルプとかに書いてる
77 名前:名無し~3.EXE mailto:sage [2006/08/03(木) 03:47:48 ID:CnXcCkLB] コマンドで説明がないものは基本的に戻り値に意味が無いものだと思え。 統一した値など全くない。
78 名前:名無し~3.EXE mailto:sage [2006/08/03(木) 03:54:37 ID:BA6wBAJp] それでも0は想定の範囲内くらいの意味は残ってるだろ。
79 名前:名無し~3.EXE mailto:sage [2006/08/03(木) 06:08:52 ID:CnXcCkLB] >>78 0にもまったく意味なし。 正常でも異常でも0を返すコマンドはいっぱいある。
80 名前:名無し~3.EXE mailto:sage [2006/08/03(木) 06:13:20 ID:4ppbqAX6] EXIT_SUCCESS は 0 じゃね?
81 名前:名無し~3.EXE mailto:sage [2006/08/03(木) 16:09:37 ID:ki5O0+Zn] >>77 ,79 知ったかもほどほどに
82 名前:名無し~3.EXE mailto:sage [2006/08/03(木) 19:25:12 ID:YhlYC0Ja] 2ちゃんねるの90パーセントは知ったかで構成されている
83 名前:名無し~3.EXE mailto:sage [2006/08/03(木) 19:58:48 ID:b//5CN2i] 0が帰ってきたときは正常ということは全く言えないので0も無意味。 >>81 はもっと勉強しる。
84 名前:名無し~3.EXE mailto:sage [2006/08/03(木) 20:07:13 ID:EDvrYDRp] 正常に終了したわけじゃなくても、想定の範囲内で終了したなら 0を返すと思うが…。
85 名前:名無し~3.EXE mailto:sage [2006/08/03(木) 20:51:35 ID:b//5CN2i] 想定の範囲内とかわけわからん言い方よせ。 もしダンマリとか落ちるとか以外の終了の場合ならそりゃその通りかもしれんが 普通それは想定内とか言う意味じゃない。 (そういうコマンドなら、unknownエラーでも0を返すよ)
86 名前:名無し~3.EXE mailto:sage [2006/08/03(木) 22:13:36 ID:L7kyqlc5] >>79 なんのコマンドかに因らず「0なら正常終了」と考えられるかといえばそうじゃないのは確か。 でも、コマンドごとにどういうケースで0返すか考えて使うなら非常に有用だよ。
87 名前:名無し~3.EXE mailto:sage [2006/08/03(木) 22:39:59 ID:b//5CN2i] >>86 それは逆。コマンド毎に、エラーコードXXはこういう場合というのが考えれるのなら非常に有効。
88 名前:名無し~3.EXE [2006/08/03(木) 23:15:55 ID:JXRq3dhJ] ┐(´ー`)┌
89 名前:名無し~3.EXE mailto:sage [2006/08/04(金) 00:30:32 ID:3SMtX8D3] >75で既に十分語られていると思うのだが。
90 名前:名無し~3.EXE mailto:sage [2006/08/04(金) 01:08:39 ID:0qOdq+cq] まあ標準コマンドだと殆どは戻り値に意味が無いね。
91 名前:名無し~3.EXE mailto:sage [2006/08/04(金) 07:31:44 ID:kPylik4/] 正常終了=0、何らかのエラー=0以外の値、 となってない標準コマンドってあります? ほとんど上記パターンに則ってると思うんだけど。
92 名前:名無し~3.EXE mailto:sage [2006/08/05(土) 02:53:21 ID:inmltxCg] >91 CHOICEコマンド
93 名前:名無し~3.EXE mailto:sage [2006/08/08(火) 10:05:21 ID:iso+Sl68] >>91 ping
94 名前:名無し~3.EXE mailto:sage [2006/08/13(日) 08:36:26 ID:GfGxOKgQ] コマンドラインで、引数を元にテキストファイルを作成する事って出来ますでしょうか? 何がしたいかといいますと、beckyというメールソフトを使ってるのですが、 フィルタリングマネージャなどで条件により、プログラムの起動。 そのプログラムに引数として、メール本文を投げ、処理を行ったあと、 結果をテキストファイルとして出力したいんです。 どなたか詳しい方いらっしゃいますでしょうか?
95 名前:名無し~3.EXE mailto:sage [2006/08/13(日) 09:27:06 ID:albh57vU] beckyって使ってないから分からんけど、バッチファイル中では 引数は%1 %2 %3 ...で参照できるよ。 hoge.bat中に、 その処理させたいプログラム名 %1 > %2 って書けば、 hoge.bat hage.txt uge.txt でhage.txtが処理されてuge.txtに出力される。
96 名前:名無し~3.EXE [2006/08/15(火) 18:59:50 ID:tB2dtgI0] 一度だけ自動実行するバッチファイルを作りたいのですが、 自動実行するコマンドってあるのでしょうか?
97 名前:名無し~3.EXE mailto:sage [2006/08/15(火) 19:25:23 ID:UN+U0IeJ] タスクに登録するとか スタートアップで起動してBATの最後にリンクを削除するようにするとか レジストリの runonce に登録するとか 試した?
98 名前:96 mailto:sage [2006/08/15(火) 19:46:01 ID:tB2dtgI0] >>97 自動実行って、そういうコマンドがあるんじゃなくって、 タスクに登録するなりして実現するものなんですね。 恥ずかしながら、コマンド一つで出来るものかと思っておりました。 ありがとうございました。
99 名前:名無し~3.EXE mailto:sage [2006/08/15(火) 19:51:42 ID:UN+U0IeJ] タスクに登録するコマンドならあるけど?
100 名前:名無し~3.EXE [2006/08/15(火) 22:40:06 ID:rx3Cek+f] 初心者な質問すみません。 コマンドプロンプト上で AフォルダとBフォルダの中身を比較して(下層フォルダ含む) AフォルダにあるものをBフォルダから削除するには どうすればよいでしょうか? 出来ればMD5などのハッシュ比較も行いたいです。 あと、ハングル名などのunicodeでもこれは可能でしょうか?
101 名前:名無し~3.EXE mailto:sage [2006/08/15(火) 22:48:55 ID:tPpDxHgb] robocopyでいくつかのスイッチ組み合わせれば近いこと出来るかも。 ハッシュ比較は無理だけど。
102 名前:名無し~3.EXE mailto:sage [2006/08/15(火) 22:54:14 ID:rx3Cek+f] >>101 スタートフォルダは普通に英数なんですけど 下層フォルダとファイル名がハングルなのですが その場合でも出来そうですか? サイズ比較くらいでも無理ですかね?
103 名前:名無し~3.EXE mailto:sage [2006/08/15(火) 23:02:27 ID:UN+U0IeJ] 取り合えず、そうあたりで、 ファイルサイス一致するかどうか、次にバイナリ一致するかどうか で試してみれば? コンペアさせる順序をファイルサイズでソートすれば ファイル数がそれほど多くなければ十分実用になると思う
104 名前:名無し~3.EXE mailto:sage [2006/08/15(火) 23:04:52 ID:rx3Cek+f] >>103 ファイル数が少なくて数十 多くて数千・・・危険?
105 名前:名無し~3.EXE mailto:sage [2006/08/15(火) 23:15:37 ID:5SvS0Mip] >>100 スクリプト(このスレ的にはコンソールスクリプトかな)でやる方がいいね。 それとハッシュでの比較ってのは、既にどちらかのハッシュが算出してある場合以外は無意味。 何故かというと、通常のバイナリ比較だと Aのバイナリを読み込み→Bのバイナリを読み込み→バイナリ比較 という流れだが、ハッシュ比較だと、ハッシュというのはバイナリ全体から算出するものなので Aのバイナリを読み込み→Aのハッシュを算出→Bのバイナリを読み込み→Bのハッシュを算出→ハッシュ比較 と手間が増える上に、ハッシュというのは別バイナリで同一ハッシュになる可能性もあるから 信頼性は下がるという悪いこと尽くめの方法。 >>104 数千くらいなら全然問題ないでしょ。 20億越えると危険だけど。 まあ、数が多けりゃそれだけ時間は掛かるが 処理時間はファイル数よりファイルサイズ一致数に影響される。
106 名前:名無し~3.EXE mailto:sage [2006/08/16(水) 00:16:10 ID:ctOK82Ic] まあちょっと(かなり)面倒だろうが頑張ってくれ。 for /? if /? dir /? setlocal /? あたり。 例】 ファイルサイズ for /f "delims=" %I in ('dir /a-d /s /b d:\foo') do echo "%~fI" は %~zI バイト バイナリ比較 fc /b file1 file2>NUL if not errorlevel 1
107 名前:名無し~3.EXE mailto:sage [2006/08/16(水) 00:55:02 ID:TUJADtxE] ありがとう御座いますですよー。 初心者なりに頑張ってみます。
108 名前:名無し~3.EXE mailto:sage [2006/08/16(水) 15:17:04 ID:z35aAI0X] 今HDDが死に掛けであわててバックアップとってるところですが xcopyのコマンドでコピー先に既にあるファイルはコピーしない とするにはどうしたらいいでしょうか?
109 名前:名無し~3.EXE mailto:sage [2006/08/16(水) 15:18:59 ID:9Oj2H2Nx] >>108 /I
110 名前:名無し~3.EXE mailto:sage [2006/08/16(水) 15:21:11 ID:9Oj2H2Nx] >>109 !あ、うそ /Uの反対だな
111 名前:名無し~3.EXE mailto:sage [2006/08/16(水) 17:57:50 ID:q2ajl0ca] robocopyは便利だよ
112 名前:名無し~3.EXE mailto:sage [2006/08/16(水) 21:39:21 ID:9gYsTFoa] Windowsのバッチファイル(.bat)で、単に第1引数、第2引数… のようなかたちではなく、 「-x」や「-x <パラメータ値>」のような形でパラメータを 渡して利用者が使いやすいような仕組みにしてあげたいとおもうのですが、 それをサポートしてくれる便利なツールなどはありますでしょうか? (UNIXでいうgetoptsないしgetoptみたいなもの)
113 名前:名無し~3.EXE mailto:sage [2006/08/16(水) 23:40:15 ID:WP4Sa4y5] 外部ツール使うぐらいなら自分でなんとか解析するのじゃ。 shift とか for (%*) とか使えば何とかなるのじゃ。
114 名前:名無し~3.EXE mailto:sage [2006/08/16(水) 23:43:13 ID:FN2GT4dW] >>108 /dかな。 指が覚えてるフォルダ丸ごと差分コピー。漏れが一番よく使う使い方。 xcopy /deciqhrkoxy コピー元フォルダ コピー先フォルダ
115 名前:名無し~3.EXE mailto:sage [2006/08/16(水) 23:44:00 ID:FN2GT4dW] >>112 便利なツールは知らないけど、forで無理矢理作ってみた。 スイッチと値をひとかたまりで扱うため「-A:値」のようにコロンで繋げる書式にしちゃったけど。 @echo off setlocal set ParmA= set ParmB= set ParmC= set ParmD= :parmset for /f "tokens=1* delims=:" %%i in ('echo %1') do ( if "%ParmA%"=="" echo %%i|find /i "-A">nul&&set ParmA=%%j if "%ParmB%"=="" echo %%i|find /i "-B">nul&&set ParmB=%%j if "%ParmC%"=="" echo %%i|find /i "-C">nul&&set ParmC=%%j if "%ParmD%"=="" echo %%i|find /i "-D">nul&&set ParmD=%%j ) shift if not "%1"=="" goto :parmset if not "%ParmA%"=="" (echo スイッチ -A で指定された値は %ParmA% です。) else (echo スイッチ -A は指定されていません。) if not "%ParmB%"=="" (echo スイッチ -B で指定された値は %ParmB% です。) else (echo スイッチ -B は指定されていません。) if not "%ParmC%"=="" (echo スイッチ -C で指定された値は %ParmC% です。) else (echo スイッチ -C は指定されていません。) if not "%ParmD%"=="" (echo スイッチ -D で指定された値は %ParmD% です。) else (echo スイッチ -D は指定されていません。) endlocal
116 名前:名無し~3.EXE mailto:sage [2006/08/17(木) 00:54:14 ID:W+Pk0QLm] >>114 ありがとうございます!上手くいきました!
117 名前:名無し~3.EXE mailto:sage [2006/08/17(木) 12:52:33 ID:ukr3w+FO] >>115 ありがとうございます!findと暗黙的ループ変数を組み合わせて使うことはおもいつきませんでした。 大変たすかりました
118 名前:名無し~3.EXE mailto:sage [2006/08/19(土) 15:35:36 ID:5KecWynB] 引数1個も無しでも動くように直したyp @echo off setlocal set ParmA= set ParmB= set ParmC= set ParmD= :parmset if "%1"=="" goto :parmsetend for /f "tokens=1* delims=:" %%i in ('echo %1') do ( if "%ParmA%"=="" echo %%i|find /i "-A">nul&&set ParmA=%%j if "%ParmB%"=="" echo %%i|find /i "-B">nul&&set ParmB=%%j if "%ParmC%"=="" echo %%i|find /i "-C">nul&&set ParmC=%%j if "%ParmD%"=="" echo %%i|find /i "-D">nul&&set ParmD=%%j ) shift goto :parmset :parmsetend if not "%ParmA%"=="" (echo スイッチ -A で指定された値は %ParmA% です。) else (echo スイッチ -A は指定されていません。) if not "%ParmB%"=="" (echo スイッチ -B で指定された値は %ParmB% です。) else (echo スイッチ -B は指定されていません。) if not "%ParmC%"=="" (echo スイッチ -C で指定された値は %ParmC% です。) else (echo スイッチ -C は指定されていません。) if not "%ParmD%"=="" (echo スイッチ -D で指定された値は %ParmD% です。) else (echo スイッチ -D は指定されていません。) endlocal
119 名前:名無し~3.EXE mailto:sage [2006/08/19(土) 20:26:04 ID:XQgYyCo4] 斜め横からすみません この前から見てますが↑これと>>115 はどうやって使うんですか? BATファイルにして動かしても、、、、何ですが、、、、
120 名前:名無し~3.EXE mailto:sage [2006/08/19(土) 20:57:14 ID:A+Jwn71h] >>119 >>112
121 名前:名無し~3.EXE mailto:sage [2006/08/19(土) 20:58:14 ID:KhGo//4y] %%jを%%iにしてみたら?
122 名前:名無し~3.EXE mailto:sage [2006/08/19(土) 21:01:27 ID:KhGo//4y] すまん。 BATの内容読んだら、パラメタには、 -A:xxxx -B:yyyy というようにコロンで区切って値を渡すようになってたよ。
123 名前:名無し~3.EXE [2006/08/19(土) 21:08:22 ID:VuqHKvs3] わからなきゃ使わなければいいのに
124 名前:名無し~3.EXE mailto:sage [2006/08/19(土) 21:24:53 ID:g4LMndok] 他人が使ってるのを見たら使いたくなるだろうが 使いたくなる人が増えたら作者も作ったかいがあるというものだ だれか親切な人使い方教えてくれ
125 名前:名無し~3.EXE mailto:sage [2006/08/19(土) 21:36:25 ID:5KecWynB] 1. >>118 の「@echo off」から「endlocal」の行を選択してメモ帳に貼り付け。 2. 各行の末尾に空白文字(半角スペース)が入ってたら消す。 3. 「hoge.bat」でファイル名を付けて保存。 4. コマンドプロンプトで、 hoge.bat -A:apple -B:bag -C:cat -D:dog とか打ってみる。 5. 下の表示が出たら成功。 スイッチ -A で指定された値は apple です。 スイッチ -B で指定された値は bag です。 スイッチ -C で指定された値は cat です。 スイッチ -D で指定された値は dog です。 5. 引数いろいろ変えてテストしてみてクレ。
126 名前:名無し~3.EXE mailto:sage [2006/08/19(土) 21:39:14 ID:5KecWynB] あ5がふたつだorz
127 名前:名無し~3.EXE mailto:sage [2006/08/23(水) 21:21:56 ID:ObYRfIur] exeファイルをログインしているユーザとは 別のユーザで実行したいんですけどできます? OSはxpです。 start コマンドでexeファイルは起動できるのですが、 別ユーザ権限で実行したいのです。 exeファイルを右クリックしてメニューに出てくる「別のユーザで実行する」のを コマンドでできますでしょうか?
128 名前:名無し~3.EXE mailto:sage [2006/08/23(水) 21:31:04 ID:7V6omiO2] るなs
129 名前:名無し~3.EXE mailto:sage [2006/08/23(水) 22:01:29 ID:ZGTuPVlE] >>127 runas /?
130 名前:名無し~3.EXE mailto:sage [2006/08/26(土) 09:41:20 ID:U3mxe7Fy] バッチファイルの実行中に指定秒数一時停止させる方法は有りますでしょうか? pauseだと人が押さないとアレなんで…
131 名前:名無し~3.EXE mailto:sage [2006/08/26(土) 09:56:58 ID:WC4q3ZS6] sleep.exeをどこかから入手するか(例: www.vector.co.jp/soft/win95/util/se282254.html ) 作る(例 pc8.2ch.net/test/read.cgi/tech/1123842575/39 )
132 名前:名無し~3.EXE mailto:sage [2006/08/26(土) 10:27:49 ID:FeFrpd2p] これはこれでアレな方法 @echo off echo 約5秒待ちます... start /min /wait mshta.exe "javascript:void(setTimeout('window.close()', 5000))" echo ok
133 名前:名無し~3.EXE mailto:sage [2006/08/26(土) 10:28:53 ID:wQZ6u8Br] ' sleep.vbs ' C> cscript //nologo sleep.vbs 5 Set args = WScript.Arguments if args.Count = 1 then WScript.Sleep args.Item(0) * 1000
134 名前:名無し~3.EXE mailto:sage [2006/08/26(土) 10:34:49 ID:U3mxe7Fy] >>131 ,132 出来ました! ありがとうございますm(_ _)m
135 名前:名無し~3.EXE mailto:sage [2006/08/26(土) 10:35:25 ID:FeFrpd2p] 次の1行を記述したファイル sleep.js : try{WScript.Sleep(1000*WScript.Arguments(0));}catch(e){} を作って,バッチファイル中に cscript //b sleep.js 10 のように書けば10秒sleep。
136 名前:135 mailto:sage [2006/08/26(土) 10:36:18 ID:FeFrpd2p] 似たようなのが>>133 にあったか
137 名前:名無し~3.EXE mailto:sage [2006/08/26(土) 10:45:38 ID:U3mxe7Fy] >> 134,135 ありがとうございます、そちらも試してみます。
138 名前:名無し~3.EXE mailto:sage [2006/08/26(土) 12:57:25 ID:LVNArOwt] ping 127.0.0.1 -n 10>nul
139 名前:名無し~3.EXE mailto:sage [2006/08/26(土) 13:11:55 ID:9gQtyg25] >>138 に一票
140 名前:名無し~3.EXE mailto:sage [2006/08/26(土) 21:13:02 ID:wQZ6u8Br] 細かいことだが>>138 だと「約9秒間待つ」処理になる。 まあ、バッチファイルにそれほど細かい精度を要求する人はいないと思うが…
141 名前:名無し~3.EXE mailto:sage [2006/08/26(土) 21:29:02 ID:WC4q3ZS6] じゃあ ping 0 -n 11 > nul で
142 名前:名無し~3.EXE mailto:sage [2006/08/26(土) 22:35:39 ID:QOJ05dBw] ワロタ なごんだ 感心した
143 名前:名無し~3.EXE mailto:sage [2006/08/27(日) 15:35:30 ID:T5Kq+UaQ] テキストファイルの最初の数行を抜き取って上書きしようとして more +!nl! hoge.txt>hoge.txt とするとテキストが空になってしまうのですが、一度別のファイルに書き出してからじゃないと上書きは無理ですか?
144 名前:名無し~3.EXE mailto:sage [2006/08/27(日) 15:37:54 ID:T5Kq+UaQ] すいません>>143 の行の前に setlocal enabledelayedexpansion set /p n= です
145 名前:名無し~3.EXE mailto:sage [2006/08/27(日) 19:42:41 ID:UeDkqXpA] 入出力のファイルオープンを同じファイルにするのは無理だって。 これはどのソフトでも同じ。 他ソフトを見習って、一旦作業ファイルに出力した後、 入力ファイル削除、出力ファイルをリネームしろ。
146 名前:143 mailto:sage [2006/08/27(日) 23:10:18 ID:DuGHZ1Jx] >>145 やはりそうですか、ありがとうございました。
147 名前:名無し~3.EXE mailto:sage [2006/08/28(月) 02:44:43 ID:tGN/v/7N] テキストエディタなんか一見対象ファイルを編集してるようだが 実際は作業ファイルを別に作成したりしてるわけで保存時に そのファイルを移動したりしてる。 元のファイルはその前に削除したりバックアック名にリネームしたりしてて。
148 名前:名無し~3.EXE mailto:sage [2006/08/29(火) 12:00:53 ID:meFFkd6M] バッチファイルでコンピュータ名を変更したいのですが可能でしょうか? OSはWindows XP Proです。
149 名前:名無し~3.EXE mailto:sage [2006/09/05(火) 01:30:08 ID:J1YU4f6y] ttp://hp.vector.co.jp/authors/VA015850/software/wisteria.html ↑このソフトに関するバッチファイルの記述をどなたか解説していただけないでしょうか お願いします
150 名前:名無し~3.EXE mailto:sage [2006/09/05(火) 02:03:44 ID:so+Ty3eJ] >>149 [このソフトのパス]wisteria <設定ファイル> <画像ファイル...> 例: c:\resizer\wisteria.exe "c:\resizer\custom.ini" "c:\a.jpg" "c:\b.jpg" "c:\c.jpg" Helpくらい嫁。
151 名前:名無し~3.EXE mailto:sage [2006/09/05(火) 02:17:29 ID:J1YU4f6y] >>150 すいません その通り記述して作ったんですがショートカットをSendToに入れて使えないんです
152 名前:名無し~3.EXE mailto:sage [2006/09/05(火) 02:18:00 ID:fKR1uigz] 嫁じゃなく読めだった
153 名前:名無し~3.EXE mailto:sage [2006/09/05(火) 02:37:33 ID:f0JURZ4F] 注意 実行ファイル(及びショートカット)ではなく、起動したウインドウへ D&D してください って書いてあるじゃん
154 名前:名無し~3.EXE mailto:sage [2006/09/05(火) 02:39:32 ID:J1YU4f6y] >>153 いえそれがバッチファイルでのバックグラウンド動作ができるらしいんですが…
155 名前:名無し~3.EXE mailto:sage [2006/09/05(火) 02:51:07 ID:J1YU4f6y] すいませんバッチファイルのショートカットをSendToに入れると実行できました ViXからのSendTo内バッチファイル実行が不可能なようですお騒がせしましたすいません
156 名前:名無し~3.EXE mailto:sage [2006/09/05(火) 02:56:37 ID:lhq1jDgQ] Win95なら別だが、ショートカットだけでbatいらないんじゃね?
157 名前:名無し~3.EXE mailto:sage [2006/09/05(火) 03:24:58 ID:J1YU4f6y] >>156 ショートカットだと>>153 の方が言っておられますように ウィンドウへD&Dが必要なんです バッチファイルを使用するとそのD&Dの手間が省けるので楽です
158 名前:名無し~3.EXE mailto:sage [2006/09/05(火) 03:37:42 ID:lhq1jDgQ] >>157 なぜできないのか理解できないので実際に試してみたが、普通にできたぞ。 ViXは知らんが。
159 名前:名無し~3.EXE mailto:sage [2006/09/05(火) 03:56:26 ID:J1YU4f6y] >>158 エクスプローラーの送るメニューからは可能なようです ViXのバグか何かだと思いますお手数おかけしてすいません
160 名前:名無し~3.EXE [2006/09/06(水) 20:21:28 ID:37Qi347M] ↓の意味がよく輪からないんですけどどうすればいいんですか? msdosで起動するソフトなんですが????です。 % mecab ファイルパス -o 別のファイルパス って入力すればいいんじゃないんですか? academy4.2ch.net/test/read.cgi/english/1147601343/918 引数にファイルを与えると, そのファイルが解析対象となります. また, -o オプションにて, 別のファイルに結果を出力することも可能です. % mecab INPUT -o OUTPUT
161 名前:名無し~3.EXE [2006/09/06(水) 20:22:10 ID:37Qi347M] ↑誤爆です
162 名前:名無し~3.EXE mailto:sage [2006/09/08(金) 10:02:24 ID:QU5REhu+] >160 誤爆なのか。確かにスレ違いだが 完全に外してるワケでもない微妙な誤爆だなw 例えば解析したいファイルの名前が「aaaaaaa」で その結果を「bbbbbbbb」に保存したいなら コマンドプロンプト開いて mecab aaaaaaaa -o bbbbbbbb って打ってエンター、な。
163 名前:名無し~3.EXE mailto:sage [2006/09/09(土) 02:02:28 ID:l7Z6gnOX] >>157 作者です(w ショートカットでいけますよ. ショートカットのプロパティのリンク先をこんな感じにします. "D:\release\resizer\wisteria.exe" "D:\release\resizer\pattern01.ini"
164 名前:名無し~3.EXE mailto:sage [2006/09/09(土) 02:09:44 ID:mRjJ9uKf] 作者は来るなよバカ
165 名前:名無し~3.EXE mailto:sage [2006/09/09(土) 02:29:17 ID:9IbISJaR] (・∀・)カエレ!!!(・∀・)カエレ!!!(・∀・)カエレ!!!
166 名前:名無し~3.EXE mailto:sage [2006/09/09(土) 03:45:44 ID:B/z4vq7U] >>163 起動するだけで終わり その後D&Dしないといけない
167 名前:名無し~3.EXE mailto:sage [2006/09/09(土) 04:59:48 ID:b6RM+FdO] XP にて、bat ファイルを使って、環境変数をシステムに通知する 方法ってありますでしょうか。 たとえば、 reg add HKEY_CURRENT_USER\Environment /v ENVNAME /d ENVVALUE で環境変数に値を追加した後に、この変更をOS再起動なしに有効にしたい 場合、どのようにしたらよいでしょうか。 ここを読むと、 support.microsoft.com/kb/104011/ja?spid=1131&sid=global SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM) "Environment", SMTO_ABORTIFHUNG, 5000, &dwReturnValue); でできるようなのですが、なるべく余分なプログラムなしでやりたい ので、できれば、DOSコマンド、無理ならWSHあたりでどうにかする 方法をごぞんじないでしょうか?
168 名前:名無し~3.EXE mailto:sage [2006/09/09(土) 05:26:27 ID:9IbISJaR] rundll32 でできたらいいね
169 名前:名無し~3.EXE [2006/09/09(土) 11:47:46 ID:C5Wo58dx] XPのコマンドプロンプトより、自動起動の設定をします。 at 8:45 /interactive /every:M,T,W,Th,F "C:\UWSC.exe" とすると、 2ch-dc-ita.gotdns.com/~dc-ita/cgi-bin/imgboard/img-box/img20060909114512.jpg のように利用できないネットワークを参照してしまいます。 普通にUWSCを起動すると、C:\uwsc31b のフォルダの参照がデフォルトです。 このエラーの回避方法が分からず悩んでいます。 どなたかアドバイスを宜しくお願いいたします。
170 名前:169 [2006/09/09(土) 12:06:00 ID:C5Wo58dx] すみません。 ↑の画像、うまく見えないみたいなので、他の箇所にアップロードしました。 宜しくお願い致します。 upload.fam.cx/cgi-bin/img-box/du760909120451.jpg
171 名前:名無し~3.EXE mailto:sage [2006/09/09(土) 13:30:16 ID:A+UCQsHR] [タスク]の[詳細設定] メニューの [AT サービスのアカウント]
172 名前:名無し~3.EXE [2006/09/09(土) 13:50:11 ID:C5Wo58dx] >>171 レスありがとうございます! タスクとはどこから開けますか?
173 名前:172 mailto:sage [2006/09/09(土) 14:00:51 ID:C5Wo58dx] >>171 わかりました。ありがとうございます。
174 名前:名無し~3.EXE mailto:sage [2006/09/09(土) 14:01:01 ID:9IbISJaR] control
175 名前:167 mailto:sage [2006/09/09(土) 16:38:46 ID:b6RM+FdO] >168 ためしに、 rundll32 user32.dll,SendMessageA 65535 26 0 0 とやってみましたが反映させませんでした。rundll32 では呼び出せないのかな。 うーん、なんとかならんですかねえ。
176 名前:名無し~3.EXE mailto:sage [2006/09/09(土) 17:38:34 ID:8eEUOKMl] >>175 「Windows XP Service Pack 2 サポート ツール」や「Windows 2000 Resource Kit」などから setx.exeを拾ってくれば?
177 名前:名無し~3.EXE [2006/09/09(土) 17:50:25 ID:QgusI8od] 98SEのDOSプロンプトで、あるプログラム(.exe)を実行する際、画面スクロール が出来ないため見づらく困っています。 全体を表示させるにはどうしたらいいでしょうか? 尚、XP-Proも持っていますが、このDOSで実行すると、プログラムが閉ループ に入るため使っていません。
178 名前:名無し~3.EXE mailto:sage [2006/09/09(土) 17:57:20 ID:/swEvRPS] NYADOSとかck (for Win9x)ではだめかな 使ったこと無いけど
179 名前:名無し~3.EXE [2006/09/09(土) 20:48:35 ID:C5Wo58dx] コマンドプロンプトのバッチファイルで、a.exeとb.exeの間に5秒余裕を入れたいです。 以下のようにsleep コマンドだと思うのですがうまくいきません。 どなたかアドバイスお願いいたします。 start "" /MAX "C:\自動起動\a.exe" sleep 5 start "" "C:\自動起動\b.exe
180 名前:名無し~3.EXE mailto:sage [2006/09/09(土) 21:00:31 ID:lO4MfV+7] >>179 最初のstartには /WAIT オプションが必要でしょう。 あとは >>131-141 を参照。
181 名前:180 mailto:sage [2006/09/09(土) 21:04:03 ID:lO4MfV+7] a.exeが完了してから5秒待つわけでなければ 「/WAIT オプションが必要」は撤回します。
182 名前:名無し~3.EXE mailto:sage [2006/09/09(土) 21:14:52 ID:C5Wo58dx] >>180 どーもでした!!
183 名前:名無し~3.EXE [2006/09/09(土) 21:32:44 ID:C5Wo58dx] 作成したバッチファイルをクリックして実行すると間に5秒入るのですが、 タスクから自動実行すると実行は時刻どおりにしますが 5秒の間隔は無視されてしまいます。 しかもa.exeは非アクティブになります。 何か間違っていることがあればご指摘お願いします。 バッチファイル start "" /MAX /WAIT C:\a.exe cscript //b sleep.js 5 start "" /WAIT "C:\b.exe
184 名前:名無し~3.EXE [2006/09/09(土) 21:36:39 ID:m9zXbjkI] これはどお? ↓ timeout /t 5
185 名前:177 [2006/09/09(土) 21:44:15 ID:Ya9BvK8X] >>178 さんきゅうです。NYADOSを試しましたが駄目でした。ck (for Win9x)は PCの調整が必要なため、未だ試していません。ところで ttp://flex.ee.uec.ac.jp/texi/emacs-jp/emacs-jp_118.html#IDX663 の C-x [ 前のページとの区切りにポイントを移動します は、この 場合のスクロールに相当するものでしょうか? ググりましたが、キーバインドでのキー操作が分かりません
186 名前:183 [2006/09/09(土) 21:46:09 ID:C5Wo58dx] >>184 一段目の下に入れてみましたが、同じでした・・・
187 名前:名無し~3.EXE mailto:sage [2006/09/09(土) 21:47:30 ID:lO4MfV+7] バッチでなくてJScriptにして cscript //b runAandB.js で実行してみるとか。 // runAandB.js var WshShell = new ActiveXObject("WScript.Shell"); WshShell.Run("C:\\a.exe", 3, true); // 3: ウィンドウをアクティブにし最大化 // true: プログラムの実行が終了するまでスクリプトを待機させる WScript.Sleep(5000); WshShell.Run("C:\\b.exe");
188 名前:名無し~3.EXE mailto:sage [2006/09/09(土) 22:03:05 ID:C5Wo58dx] >>187 やってみます!ありがとうございます。
189 名前:名無し~3.EXE mailto:sage [2006/09/09(土) 22:50:48 ID:ePVGTDAY] >>185 win95cmd Wineのcmd
190 名前:名無し~3.EXE [2006/09/14(木) 07:47:45 ID:l5s6sQsr] &&を使って2つのファイルを実行させたいのですが、"CommandA && CommandB" の通りやると "C:\Program Files\test\test.vbs && C:\Program Files\test\test2.vbs" となってエラーが出てしまいます。 初歩の初歩とは思いますが、こうしたコマンド中にスペースがある場合のコマ ンド連結の方法を教えてください。すいませんが、お願いします。
191 名前:名無し~3.EXE mailto:sage [2006/09/14(木) 08:24:56 ID:SDPKJdUF] >>190 × "CommandA && CommandB" ○ "CommandA" && "CommandB"
192 名前:名無し~3.EXE [2006/09/14(木) 08:40:57 ID:l5s6sQsr] >>191 ありがとうございます。すいません、実はこのコマンドをATコマンドを使って スケジューラーに登録したいのです。それで ATコマンド cmd /c "CommandA" && "CommandB" とやるとCommandAはスケジューラーに登録されるのですが、CommandBは ATコマンド実行時に同時に実行されてしまうのです。 二度手間になってしまって申し訳ありませんが、もし"CommandA" && "Com mandB"をスケジューラーに登録できる方法をご存知でしたらご教授ください。
193 名前:192 mailto:sage [2006/09/14(木) 11:08:58 ID:l5s6sQsr] すいません、自己解決しました。 cmd /c atコマンド cmd /c "CommandA" && "CommandB" と/cスイッチを2重に掛けてしまったのが悪かったようで atコマンド cmd /c "CommandA" && "CommandB" とすることできちんとスケジューラーに登録されました。
194 名前:名無し~3.EXE mailto:sage [2006/09/18(月) 13:06:40 ID:5c+M8uRH] コントロールパネル > 地域と言語のオプション > 詳細設定 > Unicode 対応でないプログラムの言語 を英語(米国)に一発変換するコマンドを教えてください。賢い人お願い。
195 名前:名無し~3.EXE mailto:sage [2006/09/19(火) 02:50:37 ID:xYqALZ2K] ローカルネットワークで使うファイル共有機器を使っているのですが 恐らく破損が原因で一部のファイルが削除できなくなってしまいました。 UNCを使ってChkdskをかけようとすると、できませんでした。 その外部機器は共有専用の物でそれ自体にログインすることはできません。 操作元のPCはWindowsXPです。 何か良いファイルの削除方法はありませんか?
196 名前:名無し~3.EXE mailto:sage [2006/09/19(火) 02:53:40 ID:PvS6FX5U] フォーマットぐらいできるんじゃね?
197 名前:名無し~3.EXE mailto:sage [2006/09/19(火) 12:59:10 ID:JsGdWB5o] アフォウ
198 名前:名無し~3.EXE mailto:sage [2006/09/19(火) 23:28:59 ID:2GQBIaKq] chkdskもformatもローカルのドライブしかやってくれないよ。
199 名前:名無し~3.EXE mailto:sage [2006/09/20(水) 02:28:12 ID:WXXCtHSF] 3年半前の誰かに「ありがとう」。 ---------------------------------------------------------- 初心者必読!最低限知っておくべきDOSコマンド 2 pc5.2ch.net/test/read.cgi/win/1013833995/660 660 名前:名無し~3.EXE[sage] 投稿日:03/04/02 20:56 ID:MJorWg4J >>658 shift というコマンドがある。 @echo off :loop if '%1'=='' goto end attrib %1 /d /s -h -s attrib %1 /d /s +h +s shift goto loop :end --------------------------------------------------------- これを応用させてもらって @echo off :loop if '%1'=='' goto end C:\Soft\ffmpeg\ffmpeg -i %1 -ab 128 "%~dp1%~n1.mp3" shift goto loop :end
200 名前:名無し~3.EXE mailto:sage [2006/09/21(木) 07:08:39 ID:mJ5ybNlv] >>196-198 やっぱり直接ログインできないと難しそうですか…。(´д`)
201 名前:名無し~3.EXE [2006/09/21(木) 09:41:25 ID:iuEaw+TT] a&b.exe っていうのがあって(そういう危険なファイル名をつけるのが問題なんだが、それは諦めるとして) これをVBScirptから起動して、その標準エラー出力を捕獲したいんですが Set objShell = WScript.CreateObject("WScript.Shell") scmd = "cmd /c a&b.exe 2> out.txt" WScript.echo scmd objShell.Run scmd とすると、cmd.exeの機能として、 a&bの部分を a , b.exe と分解してしまいます。 リダイレクトしなければ scmd="a&b.exe" で済むのですが。 cmd.exeに、&を特殊文字じゃなく、ファイル名の一部だと認識させるにはどうすればいいでしょうか?
202 名前:名無し~3.EXE mailto:sage [2006/09/21(木) 11:23:18 ID:qC8l8Y5k] scmd = "cmd /c a^&b.exe 2> out.txt"
203 名前:名無し~3.EXE [2006/09/21(木) 12:17:14 ID:ZaRXWuea] >>202 さんくすです。
204 名前:名無し~3.EXE [2006/09/21(木) 17:26:59 ID:v01n1OiK] telnet hogehoge.com 80 で接続後 HEAD / HTTP/1.0 Host: hogehoge.com でhogehoge.com ヘッダーの情報を得たのですが、 hogehoge.com/saitama/saitama.html のように階層とファイルを指定する場合、どのように打てばよいのでしょうか?
205 名前:名無し~3.EXE mailto:sage [2006/09/21(木) 18:37:34 ID:U4TS2RPc] cmd と関係ないじゃん HEAD /saitama/saitama.html HTTP/1.0 Host: hogehoge.com
206 名前:名無し~3.EXE mailto:sage [2006/09/21(木) 21:36:02 ID:v01n1OiK] >>205 dクス
207 名前:名無し~3.EXE mailto:sage [2006/09/25(月) 03:56:34 ID:zcUKP0FD] WEB上にあるファイルと、ローカルにあるファイルのMD5とかを参照比較して、違ってたら何かメッセージ出したり、起動したりDLしたりって事、出来ませんか?
208 名前:名無し~3.EXE mailto:sage [2006/09/25(月) 18:30:42 ID:3OvFGSR9] 「コマンドライン」ってほとんどのWindowsアプリを起動できるから 「出来ません」とは答えられないよね。
209 名前:名無し~3.EXE mailto:sage [2006/09/25(月) 18:33:33 ID:PAABQqCC] ダウンロードする前にmd5の計算が出来ればね。
210 名前:名無し~3.EXE mailto:sage [2006/09/27(水) 00:52:25 ID:sv2UodKP] ascii文字列の比較をしたいです。UNIXの "comm"コマンドのような ものを探しているのですが、compやfcではいまひとつです。
211 名前:名無し~3.EXE mailto:sage [2006/09/27(水) 00:56:39 ID:sv2UodKP] 連投すみません。イメージとしてはこれです↓ ttp://www.atmarkit.co.jp/flinux/rensai/linuxtips/565comp2file.html
212 名前:名無し~3.EXE mailto:sage [2006/09/27(水) 01:23:02 ID:9XHxAPx1] ttp://www.ossh.com/gnu-win32/comm.exe
213 名前:名無し~3.EXE mailto:sage [2006/09/27(水) 01:32:17 ID:sv2UodKP] >>212 お〜、ありがとうございます。ついでにsortとuniqももらってやりたいこと ができましたー
214 名前:名無し~3.EXE mailto:sage [2006/10/03(火) 02:29:36 ID:NfBnO3Xp] wmeのinputsourceのところをbatファイルで書き換えて 自動エンコード開始をしたいのですが書き換えコマンド教えてください。 最初はチョコアで書き換えてbat起動させて自動エンコード開始させようと思ったのですが チョコアでwmeのファイルを書き換えることができないのを知ってbatで書き換えて自動起動をしようと考えています。
215 名前:名無し~3.EXE mailto:sage [2006/10/03(火) 16:01:40 ID:1+YRdBks] xcopy C:\甲 D:\乙\甲 /d/e/i/q/h/r/y これを一度実行して、甲の中の丙.txtを削除。再度xcopy実行。D:\乙\甲の中に丙.txt が残ってる。 丙.txtは削除して欲しいんだが、xcopyだけで解決するにはどうすればいい?できればrdは使いたくないな。
216 名前:名無し~3.EXE mailto:sage [2006/10/03(火) 16:09:35 ID:1+YRdBks] 自分で読んでも、わかりにくい文になった。すまそ。 送り側で削除されたファイルを、受け側に残したくないっていう意味です。 さらに、受け側の容量がデカイので、rd xcopy でやると時間が掛かりすぎて困るっていう意味です。
217 名前:名無し~3.EXE mailto:sage [2006/10/03(火) 17:21:43 ID:bakKShfe] そういうのはもうそういった同期ソフトを使うべきでは
218 名前:名無し~3.EXE mailto:sage [2006/10/03(火) 20:16:14 ID:MLlCxdLB] xcopyじゃできません。 robocopyなら/PURGEスイッチ使えば尾k
219 名前:名無し~3.EXE mailto:sage [2006/10/04(水) 22:12:37 ID:oVbBf3W/] 一瞬/PUGERAスイッチに見えた
220 名前:名無し~3.EXE mailto:sage [2006/10/05(木) 00:23:32 ID:qgLmfY2v] 同期ならFileFileCopyを使えばいい それか>>218
221 名前:名無し~3.EXE mailto:sage [2006/10/05(木) 00:30:39 ID:MCb5nvF1] 漏れも昔はファイルファイルコピーと空目してたからあまり大きなことは言えないが ファイアファイルコピーだぞ
222 名前:名無し~3.EXE mailto:sage [2006/10/05(木) 19:45:16 ID:tjGrDL9G] ファイルファイルコピー吹いたwwwwwwwwww
223 名前:名無し~3.EXE mailto:sage [2006/10/05(木) 21:19:10 ID:saVGMH9k] 本当だ!wwww 紹介元にFileFileCopyってあったからそのまま鵜呑みにしてたよ。 2年くらいずっとそうだと思って疑わなかった。 そいじゃFileFileCopyって類似ソフト作っちゃおうかな。 RDとXCOPYだけのどうしようもないヤツ。
224 名前:名無し~3.EXE [2006/10/05(木) 21:36:35 ID:WbWfkADc] 以下のようなバッチファイルを作ったのですが、 思ったような結果になりません。 やりたいことはバッチファイルを置いたディレクトリの配下に 「CVS」というディレクトリがあったら消すということをしたいのですが。 どこが間違ってるでしょうか? @echo off cd %CD% for /r /d %%i in (*) do ( if "%%~ni" == "CVS" ( rd %%i /q/s ) ) pause
225 名前:名無し~3.EXE mailto:sage [2006/10/05(木) 21:41:45 ID:WbWfkADc] 自己解決しました。 @echo off cd %CD% for /r /d %%i in (*) do ( if "%%~ni" == "CVS" ( rd "%%i" /q/s ) ) pause
226 名前:名無し~3.EXE mailto:sage [2006/10/05(木) 21:41:50 ID:wT80tbne] echo onして見てみれば分かる。 ちなみにやりたいことって @rmdir /s /q %~dp0CVS でいいんじゃね?
227 名前:名無し~3.EXE [2006/10/09(月) 14:13:20 ID:1VStL+z8] コマンドラインからZIP圧縮は可能なのでしょうか? できれば圧縮率も指定できるといいのですが
228 名前:名無し~3.EXE mailto:sage [2006/10/09(月) 14:15:11 ID:ZgyN8vMw] cd c:/ じゃね?
229 名前:名無し~3.EXE mailto:sage [2006/10/09(月) 15:54:46 ID:8A81Nzzr] >>227 コマンドライン型の圧縮率指定可能な圧縮ツール使えば可能。 因みにコマンドラインツールを使いたくないとかいう情報後出しは却下。 ツールが見つからなければ、ソフ板のありますかスレへどうぞ。
230 名前:名無し~3.EXE [2006/10/09(月) 18:04:20 ID:HzNhAxQB] fsutil hardlinkで、ファイルのハードリンクを作成できるようですが、 あるファイルについて、ハードリンクがいくつ張られているのか 知る方法はありますか?
231 名前:名無し~3.EXE mailto:sage [2006/10/09(月) 18:37:36 ID:oNSZ8baq] ntfs utils
232 名前:名無し~3.EXE mailto:sage [2006/10/10(火) 23:00:37 ID:aZsZyqrX] 俺用メモ www.microsoft.com/technet/prodtechnol/windowsserver2003/ja/library/ServerHelp/9660fea1-65c7-48cf-b466-204ba159381e.mspx
233 名前:名無し~3.EXE mailto:sage [2006/10/11(水) 00:27:46 ID:YmyvbGZx] すいません、ものすごく既出な質問だと思うのですが、 プログラムA実行完了後、プログラムBを実行する場合、 programA.exe && programB.exe でいいんですか?それとも何か良い方法があるんでしょうか?
234 名前:名無し~3.EXE mailto:sage [2006/10/11(水) 00:39:04 ID:b7WovQg3] >>233 programA && programB programAが正常に終了した場合のみprogramBを実行する programA & programB programAが実行された後、programBを実行する
235 名前:名無し~3.EXE mailto:sage [2006/10/11(水) 00:42:23 ID:YmyvbGZx] >>234 即効の回答ありがとうございました。
236 名前:名無し~3.EXE mailto:sage [2006/10/11(水) 01:07:55 ID:EuLbjpXz] 無理に一行に書く必要もなかろう programA & programB は programA programB と同意 あと結果に応じての処理なら programA && programB が programA if not errorlevel 1 programB と同意 まあ君の分かりやすいように書いとけば? なお結果が異常な場合には、programA || programB| 実行するために start /wait programA って書くこともできる。
237 名前:名無し~3.EXE [2006/10/11(水) 14:56:10 ID:IOmcdCd9] バッチ処理を続けると勝手に終わっちゃうよ(ノД`) なんで?バッチの中からcallで沢山ある他のバッチを次々に読み込んでいくんだけど 構文や処理内容にエラーがないことは半年かけて確認したよ。 1次バッチ→call2次バッチ→call3次バッチ(複数) →call2次バッチ→call3次バッチ(複数) こんな感じで次々にバッチ処理をするんだ。2次バッチは100個ほどで、3次はそれぞれ15個 バッチって処理限界あるの? 仕事場のPCでは最後まで走るのに自宅のPCとか他部署のPCでは途中で処理をやめちゃうよ OS/WinXpPro Version2002 SP1 CPU/PenD920 RAM2.0GB HDD/300GB MB/Intel D945GNT こんな環境です。
238 名前:名無し~3.EXE mailto:sage [2006/10/11(水) 20:18:46 ID:Pq9of3Uw] BATに間違いないなら、メモリーリークとかあるのかもね。 一応環境変数のワークサイズはXPの場合8192バイトだったかな。(2000だと2048バイト) あとはsetlocalとかcmdとかで操作してみるとか。
239 名前:名無し~3.EXE mailto:sage [2006/10/11(水) 22:54:54 ID:OyhdnErx] バッチの内容に問題あるんじゃね? エラーが出ると、エラーが出た瞬間に窓閉じるからな。 だから見た目には途中で勝手に終わったように見える
240 名前:名無し~3.EXE mailto:sage [2006/10/11(水) 23:00:55 ID:Sa6qyVds] >2次バッチは100個ほどで、3次はそれぞれ15個 1500個も同時にプロセス動かすのって・・・すげー嫌な感じ。 漏れは絶対やりたくない。
241 名前:名無し~3.EXE mailto:sage [2006/10/13(金) 11:18:06 ID:VOTIVxE/] 特定のファイルの属性を隠しファイルにしたいんですがどのようなコマンドを書けばいいですか? よろしくお願いします
242 名前:名無し~3.EXE mailto:sage [2006/10/13(金) 11:23:51 ID:L4CHgkjE] attrib
243 名前:名無し~3.EXE mailto:sage [2006/10/13(金) 11:29:51 ID:VOTIVxE/] >>242 すいません今思い出してできました本当にすみません ついでなのですが特定のファイルが他のプロセスに使用されている場合 そのプロセスがそのファイル使用していない状態にしてそのファイルを削除するようなコマンドはどうすればいいでしょうか よろしくお願いします
244 名前:名無し~3.EXE mailto:sage [2006/10/13(金) 12:11:11 ID:C46/3tBp] >>243 標準コマンドには無いから、そういう事が出来るコマンドラインツールを探すか作るかして利用する。
245 名前:名無し~3.EXE mailto:sage [2006/10/13(金) 12:29:46 ID:/BVrTyQW] ファイルからオープンしてるプロセスを特定する方法ってあるんか? Win32APIでも構わんので知ってたら教えてくれ。
246 名前:名無し~3.EXE mailto:sage [2006/10/13(金) 12:33:34 ID:VOTIVxE/] >>244 やはりファイルをUnlocker等のソフトに飛ばしてその後に削除するコマンドを使うしかないのですね ありがとうございました試行錯誤してみます
247 名前:名無し~3.EXE mailto:sage [2006/10/13(金) 13:58:39 ID:C46/3tBp] >>245 逆。 ファイルからオープンしてるプロセスを特定するんじゃなくて 既存プロセス群が掴んでるファイル群の中から、対象に一致する物を探す。 つーか、検索ってのは普通そういうものだし。 これ以上の話は板違いなので、APIスレなり使用言語スレなりでどうぞ。
248 名前:名無し~3.EXE mailto:sage [2006/10/13(金) 18:54:57 ID:AB8vVd7f] >236 > if not errorlevel 1 programB errorlevel はゼロか否かで判定する方が良くない? っていうかソフトによって微妙に違うとは思うんだけど。
249 名前:名無し~3.EXE mailto:sage [2006/10/13(金) 19:04:48 ID:xVRY4L91] >>248 if の昔ながらの書式をもう一度確認した方が良いぞ。 if errorlevel 1 で 1以上の場合だ。
250 名前:名無し~3.EXE mailto:sage [2006/10/13(金) 19:32:22 ID:AB8vVd7f] >249 あらら…確かにhelpにも書いてあるわ。 俺普段 %errorlevel% しか使わんから気付かんかった。スマソ
251 名前:名無し~3.EXE mailto:sage [2006/10/14(土) 01:36:11 ID:T/OFuaaU] すいません。 ファイル名を指定して実行で、 cmd /k cd e:\temp としても cd せずに、無指定と同じc:\dqnment〜のまま窓が出ます。 出てきた窓で e: とすると e:\temp に直接移動します。 カレント指定で起動するにはどうすればいいのでしょうか。
252 名前:名無し~3.EXE mailto:sage [2006/10/14(土) 01:56:20 ID:VspRUX5O] cd /?
253 名前:名無し~3.EXE mailto:sage [2006/10/14(土) 12:29:38 ID:ibVcNeOH] >251 ちゃんと cd コマンドの詳細を見よう。
254 名前:名無し~3.EXE [2006/10/14(土) 14:24:13 ID:y7UvFN4Z] たとえば サーバー:192.168.0.254 クライアント1:192.168.0.2 クライアント2:192.168.0.3 というアドレスのPCがあるとき クライアントがどれか1台でも起動していれば = 何もしない すべてのクライアントがシャットダウンしたら = サーバーもシャットダウンする というのを作りたいのですが linuxでシェルスクリプトなら ping 192.168.0.2 -c 4 if [ $? = 0 ] then onoff=10 fi ping 192.168.0.3 -c 4 if [ $? = 0 ] then onoff=10 fi if [ $onoff = 10 ] then echo "PC ON" else echo "PC OFF" halt -p fi で、出来るのですがDOSのバッチファイルの場合 PING 192.168.0.2 の戻り値ってどう取得すればいいのでしょうか?
255 名前:名無し~3.EXE mailto:sage [2006/10/14(土) 14:34:14 ID:QB654mo8] if /?
256 名前:名無し~3.EXE mailto:sage [2006/10/14(土) 14:55:44 ID:pw30TYg5] PING 192.168.0.2 IF ERRORLEVEL 1 ECHO つながってませんよ。 IF ERRORLEVEL 0 ECHO つながってますね。 ↑ 2行目と3行目を入れ替えてはいけない点に注意。
257 名前:251 mailto:sage [2006/10/14(土) 17:32:10 ID:T/OFuaaU] >251-252 ありがとうございました。うまくいきました。
258 名前:名無し~3.EXE [2006/10/14(土) 21:31:15 ID:y7UvFN4Z] >>256 PING 192.168.1.7 IF ERRORLEVEL 1 SET DT=10 IF ERRORLEVEL 0 SET DT=0 PING 192.168.1.5 IF ERRORLEVEL 1 SET DT=10 IF ERRORLEVEL 0 SET DT=0 PING 192.168.1.6 IF ERRORLEVEL 1 SET DT=10 IF ERRORLEVEL 0 SET DT=0 IF DT=10 THEN notepad.exe ELSE cmd.exe みたいにやってみてるんですが うまくいきません。
259 名前:256 mailto:sage [2006/10/14(土) 22:07:32 ID:pw30TYg5] >258 最後の3行はIF文の書き方がマズい。俺なら以下のようにする。 (Win95/98/Meの場合はCMD.EXEの代わりにCOMMAND.COM) IF "%DT%"=="10" NOTEPAD.EXE IF NOT "%DT%"=="10" CMD.EXE /C コマンドライン
260 名前:256 mailto:sage [2006/10/14(土) 22:09:24 ID:pw30TYg5] ごめん。訂正。 IF "%DT%"=="10" NOTEPAD.EXE IF "%DT%"=="0" CMD.EXE /C コマンドライン
261 名前:256 mailto:sage [2006/10/14(土) 22:16:05 ID:pw30TYg5] NOTEPAD.EXEが終了するまでバッチファイルを終わらせたくない場合は、さらに以下のようにする。 IF "%DT%"=="10" START /W NOTEPAD.EXE IF "%DT%"=="0" CMD.EXE /C コマンドライン
262 名前:名無し~3.EXE [2006/10/14(土) 23:11:28 ID:y7UvFN4Z] >>261 PING 192.168.1.7 IF ERRORLEVEL 1 SET DT=10 IF ERRORLEVEL 0 SET DT=0 PING 192.168.1.5 IF ERRORLEVEL 1 SET DT=10 IF ERRORLEVEL 0 SET DT=0 PING 192.168.1.6 IF ERRORLEVEL 1 SET DT=10 IF ERRORLEVEL 0 SET DT=0 IF "%DT%"=="10" START /W NOTEPAD.EXE IF "%DT%"=="0" CMD.EXE /C コマンドライン ですが、すべてのPINGが通らない状態 (つまりクライアントがすべて終了している状態)でも IF "%DT%"=="0" CMD.EXE /C コマンドライン のほうが動いてしまいます。
263 名前:名無し~3.EXE mailto:sage [2006/10/14(土) 23:41:47 ID:xvO2JB2X] >>259 > (Win95/98/Meの場合はCMD.EXEの代わりにCOMMAND.COM) %COMSPEC% /C
264 名前:名無し~3.EXE mailto:sage [2006/10/14(土) 23:47:10 ID:rbbe3sPd] runasコマンドで ノートパッドを別ユーザーとして起動したいのですが 下記のようにするとユーザ(hogehoge)のパスワードが求められます。 runas /user:hogehoge notepad 引数か何かでパスワードは指定できないのでしょうか?
265 名前:256 mailto:sage [2006/10/15(日) 00:14:00 ID:bYSqBt4L] >>263 そういや環境変数COMSPECの事をすっかり忘れてた。フォローthanks. >>262 SET DT=0 PING 192.168.1.7 >NUL IF ERRORLEVEL 1 SET DT=10 PING 192.168.1.5 >NUL IF ERRORLEVEL 1 SET DT=10 IF "%DT%"=="10" START /W NOTEPAD.EXE IF "%DT%"=="0" %COMSPEC% /C コマンドライン または PING 192.168.1.7 >NUL IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 SET DT=10 IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 SET DT=0 IF "%DT%"=="10" START /W NOTEPAD.EXE IF "%DT%"=="0" %COMSPEC% /C コマンドライン PING 192.168.1.5 >NUL IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 SET DT=10 IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 SET DT=0 IF "%DT%"=="10" START /W NOTEPAD.EXE IF "%DT%"=="0" %COMSPEC% /C コマンドライン これでどうかな?一応、両方とも試してみてよ。
266 名前:名無し~3.EXE [2006/10/15(日) 00:58:26 ID:Blrgi1Gy] >>265 たびたびありがとうございます 両方実行してみましたが CMD(コンソール?)が開きますが たとえば SET DT=0 PING 192.168.1.7 >NUL IF ERRORLEVEL 1 SET DT=10 PING 192.168.1.5 >NUL IF ERRORLEVEL 1 SET DT=10 IF "%DT%"=="10" START /W NOTEPAD.EXE IF "%DT%"=="0" %COMSPEC% /C コマンドライン の方だと C:\>SET DT=0 C:\>PING 192.168.1.7 1>NUL C:\>IF ERRORLEVEL 1 SET DT=10 C:\>PING 192.168.1.5 1>NUL この後CMDが消えるという結果です。
267 名前:名無し~3.EXE mailto:sage [2006/10/15(日) 01:04:07 ID:piuQ32q3] まず、OSは何かを明らかにすべきじゃない? win9xの場合は不明。(各コマンドの結果は殆どERRORLEVELに反映されないので) win2000の場合、pingでエラーの場合、ERRORLEVEL=1となるが 相手が居ない場合(Request timed out)はERRORLEVEL=0となる。 で、win2000の場合 -------------------------- @echo off set dt=0 ping PC1 | find "100%% loss" if errorlevel 1 (set dt=10&goto :alived) ping PC2 | find "100%% loss" if errorlevel 1 (set dt=10&goto alived) if %dt%==0 echo ****すべてのマシンが応答しませんでした*** :alived -------------------------- ping -n 1 PC1の方が結果は早いが、完全には応答しない場合も考えられるので 4回試行して全部Request timed out(100% loss)を捉まえるものとしている。
268 名前:名無し~3.EXE [2006/10/15(日) 01:07:05 ID:Blrgi1Gy] 266の続き PING 192.168.1.7 >NUL IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 SET DT=10 IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 SET DT=0 IF "%DT%"=="10" START /W NOTEPAD.EXE IF "%DT%"=="0" %COMSPEC% /C コマンドライン PING 192.168.1.5 >NUL IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 SET DT=10 IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 SET DT=0 IF "%DT%"=="10" START /W NOTEPAD.EXE IF "%DT%"=="0" %COMSPEC% /C コマンドライン の結果は C:\>PING 192.168.1.7 1>NUL C:\>IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 SET DT=10 C:\>IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 SET DT=0 C:\>IF "10 " == "10" START /W NOTEPAD.EXE C:\>IF "10 " == "0" C:\WINDOWS\system32\cmd.exe /C shutdown -s C:\>PING 192.168.1.5 1>NUL この後CMDが消えるという結果です。 よろしくお願いします。
269 名前:名無し~3.EXE [2006/10/15(日) 01:09:11 ID:Blrgi1Gy] >>267 そうですね、うっかりしていました。 すべてWindows2000Proです。
270 名前:名無し~3.EXE [2006/10/15(日) 01:25:58 ID:Blrgi1Gy] >>267 win2000の場合 -------------------------- @echo off set dt=0 ping PC1 | find "100%% loss" if errorlevel 1 (set dt=10&goto :alived) ping PC2 | find "100%% loss" if errorlevel 1 (set dt=10&goto :alived) if %dt%==0 echo ****すべてのマシンが応答しませんでした*** :alived で実行できました! 255,256,259-261,263,265,267 ありがとうございました!
271 名前:256 mailto:sage [2006/10/15(日) 02:08:15 ID:bYSqBt4L] なるほどなぁ・・・俺は自宅でWinXP、職場でWin2000とWinNT4.0を使ってるが、 "Request timed out"の場合は3つともERRORLEVEL=1と思い込んでたよ。 それと今まで肝心な>>254 の目的をすっかり失念していた。 なんだか色々混同して勘違いしてたよ。かえって混乱させちまったようで、ごめんな。
272 名前:名無し~3.EXE mailto:sage [2006/10/15(日) 03:23:27 ID:piuQ32q3] >>270 pingで端末名指定ミスしたら、常にalivedになっちゃうのでチェックした方が良いかも。 あとサーバーなら接続端末の状態や数をチェックするコマンドがあったんじゃない?
273 名前:名無し~3.EXE [2006/10/15(日) 17:49:13 ID:Blrgi1Gy] >>271 いいえ、そんな いろいろ勉強になりました。 ありがとうございました。 >>272 御助言いただきありがとうございました。
274 名前:名無し~3.EXE mailto:sage [2006/10/17(火) 02:10:26 ID:N9oYajNV] 質問です。 ショートカット(.lnk)を作るコマンドはありますか?
275 名前:名無し~3.EXE mailto:sage [2006/10/17(火) 02:31:34 ID:lckIqFv9] >>274 cscript.exe
276 名前:名無し~3.EXE mailto:sage [2006/10/17(火) 13:24:27 ID:z7Jjl5bf] ショートカットの作成コマンドは、8文字のソース パス フォルダ名を切り捨てます。 support.microsoft.com/default.aspx?scid=kb;ja;263324 ショートカットの作成の 使用Windows Script Host にパラメータでの方法 support.microsoft.com/default.aspx?scid=kb%3Bja%3B242297 クイック起動トレイにショートカットを追加する方法はありますか www.microsoft.com/japan/technet/scriptcenter/resources/qanda/sept05/hey0901.mspx 既存ショートカットのアイコンを変更する方法はありますか www.microsoft.com/japan/technet/scriptcenter/resources/qanda/aug05/hey0812.mspx マイ ネットワークにショートカットを作成する方法はありますか www.microsoft.com/japan/technet/scriptcenter/resources/qanda/may05/hey0509.mspx [スタート] メニュー内にフォルダを作成する方法はありますか www.microsoft.com/japan/technet/scriptcenter/resources/qanda/mar05/hey0302.mspx デスクトップ ショートカットのリンク先を変更する方法はありますか www.microsoft.com/japan/technet/scriptcenter/resources/qanda/feb05/hey0209.mspx [マイ コンピュータ] アイコンのキャプションを変更する方法はありますか www.microsoft.com/japan/technet/scriptcenter/resources/qanda/jan05/hey0119.mspx 特定のショートカットに対応している実行可能ファイルを調べるにはどうすればよいでしょうか www.microsoft.com/japan/technet/scriptcenter/resources/qanda/dec04/hey1208.mspx スクリプトを使用して [スタート] メニューに特定のファイルを常に表示することはできますか www.microsoft.com/japan/technet/scriptcenter/resources/qanda/nov04/hey1111.mspx 他 ・リソースキットの中のshortcut.exe ・mkshc_at ショートカット作成 (コマンド実行専用) www.tsubak.com/tools/mkshc_at.html
277 名前:名無し~3.EXE mailto:sage [2006/10/17(火) 19:30:39 ID:io+8bl7Q] >>199 亀レスですまんが,ありがとう 同じようなことしようと思って苦労してた
278 名前:名無し~3.EXE mailto:sage [2006/10/17(火) 21:46:20 ID:N9oYajNV] >>275 ,276 サンクス
279 名前:名無し~3.EXE mailto:sage [2006/10/17(火) 23:11:12 ID:kpUzoa/s] >>245 XP Proなら c:\windows\system32\openfiles.exe なければ、oh.exeやhandle.exeを入手。
280 名前:名無し~3.EXE mailto:sage [2006/10/17(火) 23:13:00 ID:kpUzoa/s] >>264 runas.vbsの世界へ。
281 名前:名無し~3.EXE mailto:sage [2006/10/18(水) 02:04:31 ID:u9ZZOnu7] >>227 zip.vbsの世界へ?
282 名前:名無し~3.EXE mailto:sage [2006/10/18(水) 13:33:17 ID:lsVuuXuV] 特定のEXEファイルに複数のファイルを一つずつ投げたいんですがどう書けばいいですか? ループとかそのあたりを使えばいいのは大体わかるのですが…
283 名前:名無し~3.EXE mailto:sage [2006/10/18(水) 13:39:52 ID:V8rOGUBu] >>282 >>4
284 名前:名無し~3.EXE mailto:sage [2006/10/18(水) 13:46:05 ID:8HDygbIE] 投げるっていうのは、DDEのこと?SendMessageみたいなもの?それともその他? exeをパラメタを変えて何度も起動するだけでいいなら>>283
285 名前:名無し~3.EXE [2006/10/19(木) 11:18:07 ID:xPYMe9IZ] 素のWindowsだけで指定ファイルのパス名をコピーすることって出来ますか? 別にコマンドライン使わなくてもいいんですが。
286 名前:名無し~3.EXE mailto:sage [2006/10/19(木) 11:53:25 ID:FKzXfjJ7] >>285 出来るよ。WSHを使うのが定番。 普通に引数でパスを取って、IEの機能を使ってクリップボードに格納する。 腐るほどサンプルが転がってるから、あとは自分で拾ってこい。
287 名前:名無し~3.EXE mailto:sage [2006/10/19(木) 13:43:58 ID:xPYMe9IZ] んーと、それは素じゃない。どんなファイルもつくらずに、 Windows標準のみのファイルやアプリで実現できませんか?
288 名前:名無し~3.EXE mailto:sage [2006/10/19(木) 14:00:38 ID:5JEXY7pR] >>287 WSHは大概Winなら入ってると思うがWinの何を使ってるの
289 名前:名無し~3.EXE mailto:sage [2006/10/19(木) 14:02:32 ID:W81ZluKJ] ファイルを作らないなら、 「ファイル名を指定して実行」にファイルをドロップして、そこからコピー。 コマンドプロンプトにドロップしても出来るけど。 ファイルを作るなら、 START IExplore.exe about: というバッチファイルか、 フルパス\IExplore.exe about: というショートカットを作って、ファイルをドロップして、そこからコピー。
290 名前:名無し~3.EXE mailto:sage [2006/10/19(木) 14:03:38 ID:FKzXfjJ7] >>287 出来るよ。 コマンドプロンプト開いて対象ファイルを窓にD&Dすると、パスが表示されるので それを範囲選択してコピー。 先に言っておくが、面倒だとか言うなよ。自分でわざわざ面倒になるような条件出してるんだから。 因みに、「素のWindows」と言った場合は、一般的に外部ソフトを入れない事を差し ファイルを一切作らないことは差さないので覚えておくように。 >>288 .vbs、.js、.wsfなどのファイルを作成するのが嫌なんだと思われ。どうしてなのかは知らないが。
291 名前:名無し~3.EXE mailto:sage [2006/10/19(木) 14:10:21 ID:W81ZluKJ] >>282 FORのほかに、 リソースキットのforfiles.exe や SFUのfind.exe も。
292 名前:名無し~3.EXE [2006/10/19(木) 14:49:09 ID:xPYMe9IZ] 例えば、フォルダ右クリックにプロンプトを開くっていうのは、 レジストリをいじるだけで可能で こういう感じで機能を実現できればなって思ったんですが、 簡単にやろうとすると難しいみたいですね。
293 名前:名無し~3.EXE mailto:sage [2006/10/19(木) 17:07:36 ID:W81ZluKJ] >ttp://pc8.2ch.net/test/read.cgi/tech/1148485555/41 >41 :デフォルトの名無しさん :2006/09/26(火) 21:00:10 > 実行中にcmdの窓を最小化させる方法はないですか? Set Word=CreateObject("Word.Application") Name=WScript.Arguments.Item(0) If Word.Tasks.Exists(Name) Then Set Task=Word.Tasks.Item(Name) Task.WindowState=2 End If Word.Quit If IsEmpty(Task) Then WScript.Echo Name&"is not found !" というVBSファイルを作って、 TITLE hogehoge hoge.VBS hogehoge
294 名前:名無し~3.EXE mailto:sage [2006/10/19(木) 17:17:06 ID:W81ZluKJ] コンソールログをうまく取る方法はないもんでしょうか。 DOSのconcopy.com unixのscript みたいな。 cmd.exe 2>&1 | tee.exe file は入力が取れない。 more | cmd.exe 2>&1 | tee.exe file も、もうひとつ。
295 名前:名無し~3.EXE mailto:sage [2006/10/19(木) 21:15:58 ID:ls1OF9sj] 懐かしのシラネーヨ.batだな。 ^Cとか^Zとかに対応できないのが玉に瑕
296 名前:名無し~3.EXE mailto:sage [2006/10/19(木) 21:44:25 ID:W81ZluKJ] >>100 亀れす。 こういうのは、SFUなどのfind.exeが得意なのでは。 find.exe folderB -t -comp folderA -rm とかで。
297 名前:net time [2006/10/19(木) 22:08:33 ID:DylRciLf] コマンドに"net time"時刻同期のコマンドがあるのですが、1度コマンドを実行すると10秒ほど経たないと次の"net time"コマンドが飛ばないようなのですが、すぐに2回目のコマンドを飛ばすことはできないのでしょうか? ご教授願います。
298 名前:296 mailto:sage [2006/10/19(木) 22:21:02 ID:W81ZluKJ] 済みません。 本家のfindでサポートしてないシンタクスでした。 便利だったんですけど。。。
299 名前:名無し~3.EXE mailto:sage [2006/10/19(木) 23:52:52 ID:Fqa1lY+E] あえて言おう、>>297 マルチするなと。
300 名前:名無し~3.EXE mailto:sage [2006/10/20(金) 19:37:49 ID:xavmQ34J] >>292 んーと、それは素じゃない。どんなファイルもいじらずに、 Windows標準のみのレジストリやアプリで フォルダ右クリックにプロンプトを開くっていうのは、 実現できませんか? レジストリもいじらないで 機能を実現できればなって思ったんですが、 簡単にやろうとすると難しいみたいですね。 なんていう考え方もありますわな。
301 名前:名無し~3.EXE mailto:sage [2006/10/20(金) 20:45:27 ID:ZW0sFp6N] >>300 矛盾しすぎだな…簡単に〜というのも曖昧な表現過ぎて…やっぱいいや
302 名前:名無し~3.EXE mailto:sage [2006/10/20(金) 21:19:23 ID:l1bcIv1g] ちなみにVistaの少なくともRC1ではShift+右クリックでコマンドプロンプトを開く メニューが表示されてたけど最近のビルドだとなくなってるような。
303 名前:名無し~3.EXE mailto:sage [2006/10/20(金) 21:20:40 ID:l1bcIv1g] >>301 もともとのコメントが矛盾してるのを逆説的に示してるだけでしょ
304 名前:名無し~3.EXE mailto:sage [2006/10/20(金) 21:26:22 ID:ZW0sFp6N] >>303 うんそうだね…で?
305 名前:名無し~3.EXE mailto:sage [2006/10/20(金) 21:46:17 ID:3EPLvaDr] >>304 無理な注文言うなってことだろ? そんなことも分からんの?
306 名前:名無し~3.EXE mailto:sage [2006/10/20(金) 21:53:38 ID:3EPLvaDr] 正確には、無理な注文にマジレスするだけ無駄、ってことか。
307 名前:名無し~3.EXE mailto:sage [2006/10/20(金) 22:06:40 ID:ZW0sFp6N] >>305 だからそれがどうかしたの?
308 名前:名無し~3.EXE mailto:sage [2006/10/20(金) 22:40:38 ID:3EPLvaDr] まさに、バカにマジレスするのは疲れる...ってのが分かったよ。
309 名前:名無し~3.EXE mailto:sage [2006/10/20(金) 22:42:43 ID:3EPLvaDr] >>300 「マジレスするトンマ野朗」に俺もなってしまった。
310 名前:300 mailto:sage [2006/10/20(金) 22:55:44 ID:xavmQ34J] コメントを差し控えさせて頂きます。(常套句)
311 名前:名無し~3.EXE mailto:sage [2006/10/20(金) 23:36:55 ID:xavmQ34J] 素のWindowsが好きなのは、人それぞれの勝手ですが、 それならそれで、素のWindowsに入ってるヘルプでも見て、 その範囲で使ってればよいものを、 素のWindowsにない情報をネットに求めれば、 得られる回答が素のウィンドウでないのは当たり前だろ。 という寓話です。
312 名前:名無し~3.EXE mailto:sage [2006/10/21(土) 00:29:09 ID:mfwax+i1] ID:ZW0sFp6Nよ トンチンカンなこと言ったのを指摘されて恥ずかしかったからといって、そうどくれるなよ、な。
313 名前:名無し~3.EXE mailto:sage [2006/10/21(土) 14:02:44 ID:XLNlcWtB] 技術的な話をしてもよろしかったでしょうか? 禍転じて福となす?怪我の功名?なんだかよく分りませんが、 VBScriptやJScriptの敷居がそんなに高い?のなら、 それに、このスレッドはコマンドラインのスレッドだし、 このスレッドらしい?VBScriptやJScriptを使わない方法はないものか? と考えてみました。 素のWindows 2003 Serverには、CLIP.EXEが入っています。 Windows XPなどは、残念ながら、有償のリソースキットを入れるしかなさそうです。 バッチファイルで、やる方法。 Clipboard as Name.CMD @ECHO %* | CLIP.EXE レジストリとダミーファイルで、やる方法。 Clipboard as Name.NameOnClipboard 拡張子.NameOnClipboardに関連付け open動詞にCMD.EXE /C,ECHO %* | CLIP.EXE WSHのドロップハンドラを指定。 ファイルを作ったりするので、>>285 さんの要件には合いませんが、 一般の、ファイルを作ってもいいから、なんとかしたい、というニーズには、 合うと思います。 そう謂えば、Power ToysのSend to Clipboard as Nameも ダミーファイルClipboard as Name.NameOnClipboardを作ってましたね。 Command Prompt from Hereと違って、レジストリだけじゃ無理みたいです。
314 名前:名無し~3.EXE mailto:sage [2006/10/21(土) 14:14:54 ID:XLNlcWtB] コマンドプロンプトでFOR /F "delims=にタブを入れたいが、 タブが補完キーに解釈されて、入力できない場合は、一時的に、補完を無効にすればよい。 cmd /f:off FOR /F "delims=タブ exit
315 名前:名無し~3.EXE mailto:sage [2006/10/22(日) 22:21:07 ID:EOcMerY5] clip.exe発見! ftp://ftp.microsoft.com/Services/TechNet/samples/ps/win98/reskit/file/ ここには、choice.exe,sleep.exe,forfiles.exeなどもあります。 98なので、tail.exeはないけど。。。
316 名前:名無し~3.EXE [2006/10/22(日) 23:28:41 ID:wssoUMQ0] ageで失礼します。 pc8.2ch.net/test/read.cgi/tech/1148485555/l50#tag49 上記スレの>>45 にて質問したのですが、こちらで聞いたほうがよいということで こちらに来ました。 質問内容は、FOR /F 〜にて、DELIMSにTABを指定する際に、 見た目のスペースを別の文字に置き換えられるかどうか?なのですが できないというレスを頂き、またエディタであれば対応可能ということを伺いました。 エディタにて対応するとはどういうことなのでしょうか? ご教示下さい。
317 名前:名無し~3.EXE mailto:sage [2006/10/22(日) 23:47:18 ID:4DzWCkQx] コマンドプロンプトで解釈される文字列上で、Tabを別文字で指定するこは無理だと思う。 そういう意味合いの質問だよね? 単にTabの部分を別文字に置換するのならテキストエディタとかで置換してやればいいけど。 一旦環境変数にTabを代入してそれを使うことなら可能かもしれない。(試してないけど) set tab= for /f "delims=%tab%" %%I 又は for /f "delims=!tab!" %%I (遅延環境変数を使わないとダメな場合も結構あるかも)
318 名前:316 mailto:sage [2006/10/23(月) 00:00:57 ID:wssoUMQ0] >>317 さん なるほど。。 環境変数でTabをセットしてあげれば確かに別文字にできますね。 まだ試してないですけど。 それで試してみます。ありがとうございました。
319 名前:名無し~3.EXE mailto:sage [2006/10/23(月) 04:56:36 ID:9teFeWA2] 質問よろしいでしょうか。 例えばEドライブの直下にwavというフォルダがあり、その中にartist1、artist2、…、artistn(nは任意の数)というフォルダ群があり、 それぞれのフォルダの中にalbum1、album2、…、albumn(nは任意の数)というフォルダ群があり、それらのフォルダの中にそれぞれtrack1.wav、track2.wav、…、trackn.wav(nは任意の数)というファイル群があったとします。 これらのwavファイル全てをlameにかけてエンコードし、そのファイルをEドライブ直下のmp3というフォルダの中にwavフォルダと同じフォルダ構造で出力したいんです。 (例:E:\wav\artist1\album1\track1.wavはE:\mp3\artist1\album1\track1.mp3として出力したい) これをいちいち LAME "E:\wav\artist1\album1\track1.wav" "E:\mp3\artist1\album1\track1.mp3" cls LAME "E:\wav\artist1\album1\track2.wav" "E:\mp3\artist1\album1\track2.mp3" ………(中略)……… LAME "E:\wav\artistn\albumn\trackn-1.wav" "E:\mp3\artistn\albumn\trackn-1.mp3" cls LAME "E:\wav\artistn\albumn\trackn.wav" "E:\mp3\artistn\albumn\trackn.mp3" cls exit とやっていたのでは記述量が膨大で大変です。 for文などを使って上手くループ処理に出来ないですかね? お力を貸してください、お願いします。
320 名前:名無し~3.EXE mailto:sage [2006/10/23(月) 05:24:04 ID:CBFP8CuU] > for文などを使って上手くループ処理に出来ないですかね? 出来ますよ。
321 名前:名無し~3.EXE mailto:sage [2006/10/23(月) 05:27:18 ID:9teFeWA2] >>320 本当ですか!具体的にはどのようにすればよいのでしょうか。
322 名前:名無し~3.EXE mailto:sage [2006/10/23(月) 13:48:20 ID:ES8SWZkF] >>316 >FOR /F 〜にて、DELIMSにTABを指定する際に、 >見た目のスペースを別の文字に置き換えることって可能でしょうか? >例えば "DELIMS=[TAB]" を "DELIMS=\t" のようにするなど。 テレパスではないので、質問に素直に答えると、 SET hoge=FOR /F "DELIMS=[TAB]" 〜 SET %hoge:[TAB]=\t% ECHO %hoge% もし、これが求めているものと異なる場合は、質問を変えたほうがよいと思う。
323 名前:名無し~3.EXE mailto:sage [2006/10/25(水) 09:14:51 ID:fdOJ++H8] ファイル名に時間を含めるために set DATESTR1=%time:~0,2%%time:~3,2% みたいな感じで時間を取得してそれをリネームに使ってるんですが、 これだと10〜24時までしかうまく動きません。 0〜9時台だと取得がずれてしまってリネームに失敗するんですが、何かうまい方法あるでしょうか?
324 名前:名無し~3.EXE mailto:sage [2006/10/25(水) 09:45:07 ID:cRvYPHXE] >323 バッチファイル内では以下のように記述すると良い。 (WindowsNT/2000/XPにて可。恐らくWindowsServer2003やWindowsVistaでもOKだと思うが未確認) FOR /F "eol=; tokens=1,2 delims=: " %%i IN ('TIME/T') DO @SET TIMESTR=%%i%%j FOR /F "eol=; tokens=1,2,3 delims=/ " %%i IN ('DATE/T') DO @SET DATESTR=%%i%%j%%k
325 名前:名無し~3.EXE mailto:sage [2006/10/25(水) 14:28:43 ID:fdOJ++H8] >>324 XPで無事できました! ありがとうございます このスレで出る質問は大抵for文で解決してますけど、ほんと何でもできるんですね……
326 名前:名無し~3.EXE mailto:sage [2006/10/25(水) 15:24:03 ID:pmLqT4o8] FOR /F "delims=" %%0 IN ('MORE') DO ( ECHO %%0 ECHO %%0>&2 ) でtee.cmdが出来るかも、と思ったら、 FOR /F IN ('コマンド')は出力を一旦どこかに溜め込んでるみたいですね。残念。
327 名前:名無し~3.EXE mailto:sage [2006/10/25(水) 15:34:03 ID:pmLqT4o8] FOR /F %%0 IN ("〜") で、トークンの数を調べようと思ったら、どうすりゃいいでしょう? 不定個数のトークンの処理ってむずかしいような。 "tokens=1*"で1個ずつ取り出して残りを再帰呼び出しするのでしょうか。
328 名前:名無し~3.EXE mailto:sage [2006/10/25(水) 23:58:09 ID:eEi2UFaY] for /? を見る限りでは、eolを活用すりゃ良い気がする。 区切り文字が複数ある場合、更に一ひねり必要だけど。
329 名前:名無し~3.EXE mailto:sage [2006/10/26(木) 16:36:30 ID:/s+J/qsz] FOR /Fのeol=はline separatorでなく、start of commentなのよ
330 名前:名無し~3.EXE mailto:sage [2006/10/26(木) 19:41:42 ID:/s+J/qsz] %%*とかshiftforとかあれば楽かも。
331 名前:名無し~3.EXE mailto:sage [2006/10/26(木) 22:02:21 ID:SVXaZk3q] ちょっと話脱線するけど、慣れちゃって疑問感じないけど冷静に考えると、 アルファベット順に自動で変数割り当てるって、やっぱ変な仕様だよなぁ。 そのせいで↓みたいな変な制約もあるわけだし。 > %i は for 文で明示的に宣言され、%j と %k は tokens= オプションで暗黙的に > 宣言されています。tokens= 行を使って 26 個までのトークンを指定できますが、 > 文字 'z' または 'Z' よりも高い変数を宣言することはできません。FOR 変数名は > 単一の文字で、大文字と小文字を区別し、グローバルなものであり、一度にアクティ > ブにできるのは合計 52 個までです。
332 名前:名無し~3.EXE mailto:sage [2006/10/26(木) 22:03:37 ID:SVXaZk3q] と文句いいつつ試してみたらちゃんと動いたのでちょっと嬉しかった。 C:\>type hoge.txt 001,002,003,004,005,006,007,008,009,010,011,012,013,014,015,016,017,018,019,020, 021,022,023,024,025,026,027,028,029,030,031,032,033,034,035,036,037,038,039,040, 041,042,043,044,045,046,047,048,049,050,051,052,053,054,055,056,057,058,059,060, 061,062,063,064,065,066,067,068,069,070,071,072,073,074,075,076,077,078,079,080, 081,082,083,084,085,086,087,088,089,090,091,092,093,094,095,096,097,098,099,100 C:\>for /f "tokens=1-25* delims=," %a in (hoge.txt) do for /f "tokens=1-25* deli ms=," %A in ('echo %z') do echo %Z C:\>for /F "tokens=1-25* delims=," %A in ('echo 026,027,028,029,030,031,032,033, 034,035,036,037,038,039,040,041,042,043,044,045,046,047,048,049,050,051,052,053, 054,055,056,057,058,059,060,061,062,063,064,065,066,067,068,069,070,071,072,073, 074,075,076,077,078,079,080,081,082,083,084,085,086,087,088,089,090,091,092,093, 094,095,096,097,098,099,100') do echo %Z C:\>echo 051,052,053,054,055,056,057,058,059,060,061,062,063,064,065,066,067,068 ,069,070,071,072,073,074,075,076,077,078,079,080,081,082,083,084,085,086,087,088 ,089,090,091,092,093,094,095,096,097,098,099,100 051,052,053,054,055,056,057,058,059,060,061,062,063,064,065,066,067,068,069,070, 071,072,073,074,075,076,077,078,079,080,081,082,083,084,085,086,087,088,089,090, 091,092,093,094,095,096,097,098,099,100 C:\>
333 名前:327 mailto:sage [2006/10/26(木) 22:32:23 ID:/s+J/qsz] >>331 なので、私は数字の0,1,2,...を使うことを勝手に推奨しています。
334 名前:名無し~3.EXE mailto:sage [2006/10/27(金) 00:00:52 ID:/s+J/qsz] %0から始めると1-31 %Oまで使えます。途中%:とかも。
335 名前:名無し~3.EXE mailto:sage [2006/10/27(金) 00:19:27 ID:zn7U0YhT] 試してみたら「%31」だと「%3」と「1」になっちゃうんだけど、どうやるの?
336 名前:名無し~3.EXE mailto:sage [2006/10/27(金) 00:49:10 ID:J3SJtBgW] call でサブルーチン呼んでshiftすりゃいいべ
337 名前:名無し~3.EXE mailto:sage [2006/10/27(金) 12:06:07 ID:zfuA9cK1] >>335 tokens=1-31*で%0から%Oまで。
338 名前:名無し~3.EXE mailto:sage [2006/10/27(金) 12:53:57 ID:zfuA9cK1] 32番目以降のトークンは取れない仕様みたいです。 set n=0 :loop set /a n=n+1 set x=0 for /f "delims=, tokens=%n%" %%1 in (hoge.txt) do ( echo %%1 set x=1 ) if %x%==1 goto loop echo %n%
339 名前:名無し~3.EXE mailto:sage [2006/10/27(金) 13:10:02 ID:zfuA9cK1] 不定個数のトークンを処理する方法 type hoge.txt>line.txt set n=0 :loop set /a n=n+1 set x=0 for /f "delims=, tokens=1*" %%1 in (line.txt) do ( echo;%%1 echo;%%2>line.txt set x=1 ) if %x%==1 goto loop echo %n%
340 名前:名無し~3.EXE mailto:sage [2006/10/30(月) 15:23:22 ID:oK1Aiu/J] >>336 callは、delims=空白タブ=;,の扱いになるので、delims=,などのときに使えない。
341 名前:名無し~3.EXE mailto:sage [2006/10/30(月) 19:14:57 ID:oK1Aiu/J] XPでは.exeのショートカットにドロップしても引数が消えませんが、 .vbsのショートカットでは消えます。 ところが、lnkfileのドロップハンドラをwshのものに変えると、 .vbsのショートカットでも消えなくなります。 なので、2000や98などでも、lnkfileのドロップハンドラをwshのものに変えると、 ショートカットにドロップしても引数が消えなくなるかも知れません。
342 名前:名無し~3.EXE mailto:sage [2006/10/31(火) 00:18:03 ID:gQgyQPtQ] タブ文字の入力方法 for /f "delims=" %0 in ('type con') do set tab=%0 (タブ)(改行) ^Z echo a%tab%b
343 名前:名無し~3.EXE [2006/11/02(木) 17:49:18 ID:sjRZNhMU] test
344 名前:名無し~3.EXE [2006/11/02(木) 18:12:49 ID:YlCRHYMe] whoami
345 名前:名無し~3.EXE [2006/11/02(木) 18:47:47 ID:J4pr3aX8] サーバー:192.168.0.254 クライアント1:192.168.0.2 クライアント2:192.168.0.3 というアドレスのPCがあるとき クライアントがどれか1台でも起動していれば = 何もしない すべてのクライアントがシャットダウンしたら = サーバーもシャットダウンする ということでこちらで以下のやり方を教えていただきました。 @echo off set dt=0 ping 192.168.0.2 | find "100%% loss" if errorlevel 1 (set dt=10&goto :alived) ping 192.168.0.3 | find "100%% loss" if errorlevel 1 (set dt=10&goto :alived) if %dt%==0 C:\backup.bat :alived これを、どれか1台でもpingに反応していれば 繰り返すにはどう書けばいいのでしょうか? ご指導よろしくお願いします。
346 名前:名無し~3.EXE mailto:sage [2006/11/02(木) 19:06:22 ID:n1Q/MJZA] goto使っててどうして分からないのか不思議だ? もっとも手直しが少ない方法は、 :alivedラベルを@echo offとset dt=0の間に移動する。 っていうか環境変数dtは要るのか? 無駄に設定してるだけに見える。
347 名前:名無し~3.EXE mailto:sage [2006/11/03(金) 15:17:50 ID:DnIKy2oO] そうでもないか。
348 名前:名無し~3.EXE mailto:sage [2006/11/03(金) 21:40:54 ID:gJdLXMtF] 環境変数dtに関するset命令とif命令は俺も全て不要だと思う。
349 名前:名無し~3.EXE [2006/11/04(土) 12:31:17 ID:Rj1Lj+SZ] 困ったことが起きました 諸先輩方のお知恵をお貸しください Windowsの復元操作をしてフォダ名が書き換えられてしまったのです WEBページをローカル環境に保存して見ていたものが すべて「フォルダ名→フォルダ名(2)」の形になりました kasamatu.o0o0.jp/pochi/src/hajime4938.jpg.html pass:2ch フォルダ名(2)を取得してフォルダ名に変更する(もどす)スクリプトをお願いします 1)OSはWindowsXPHESP2 2)復元したあと復元ポイントを放棄したので「再復元」「復元の取り消し」は出来ない 3)書き換えられたフォルダはすべて「フォルダ名→フォルダ名(2)」最後に(2)がついた形、(2)はすべて半角 4)WEB保存用フォルダは一つだけ。階層がたくさんあって全部で数百以上あるので 手作業は困難 5)どシロートなのでコマンドプロンプトの知識は無い 作ってもらったのを使うことは出来る程度のレベル よろしくお願いします<(_ _)>
350 名前:名無し~3.EXE mailto:sage [2006/11/04(土) 13:04:24 ID:Rj1Lj+SZ] 書き忘れましたが「ファイル名」はそのままです フォルダ名だけです<(_ _)>
351 名前:名無し~3.EXE mailto:sage [2006/11/04(土) 13:07:27 ID:3leZuA7v] >>349 @echo off setlocal enableextensions enabledelayedexpansion for /r %1 %%i in (.) do ( cd /d %%i for /f "usebackq delims=" %%j in (`dir /ad /b *^(2^)`) do ( set fn=%%j ren !fn! !fn:~0,-3! ) ) REM --- ここまで ↑をメモ帳にコピペして「hoge.cmd」と名前を付けて WEB保存用フォルダの一番上の階層に保存した後 エクスプローラから「hoge.cmd」をダブルクリック。
352 名前:名無し~3.EXE mailto:sage [2006/11/04(土) 13:54:38 ID:4Dsu/0i6] 別に何も作らなくてもFlexibleRenamerとかのリネームツールで フォルダのみを対象に「(2)」→「」の置換をすれば良いだけだけどね。 正規表現すら必要ないし、サブフォルダ内も全て一発でリネームできる。
353 名前:名無し~3.EXE mailto:sage [2006/11/04(土) 14:15:59 ID:Rj1Lj+SZ] >>351-352 ありがとうございます やってみたら「みつかりません」が多数出るのでどうなったかと思いましたが 実際に見たら書き換えられていたようです感謝<(_ _)>
354 名前:名無し~3.EXE [2006/11/04(土) 23:02:49 ID:USOpz/32] 以下ようなバッチファイルを作成したいのです。 1.インターネットエクスプローラーを開く。 この時にホームページをwww.yahoo.co.jp/ に設定しておいたとすると、このページが立ち上がったところで、 「ENTERキー」を叩くとsearch.yahoo.co.jp/ に辿り着きます。 今回は、この「ENTERキー」を叩く、部分をファイルに入れてしまって、 バッチファイルを開くだけで、search.yahoo.co.jp/ に辿り着くものを作成したいのですが、ホームページは www.yahoo.co.jp/ のままで変えないとすると、 どのように書いたらよろしいでしょうか? @echo off "C:\Program Files\Internet Explorer\IEXPLORE.EXE" このあとにはなんと付け加えたらよいのでしょうか? よろしくお願い致します。
355 名前:名無し~3.EXE mailto:sage [2006/11/04(土) 23:20:00 ID:8yxluHxk] バッチファイルでは無理
356 名前:名無し~3.EXE mailto:sage [2006/11/04(土) 23:21:46 ID:ZY+1jLO8] 通常使用するブラウザがIEなら start search.yahoo.co.jp/ でいいのではないでしょうか。
357 名前:名無し~3.EXE mailto:sage [2006/11/04(土) 23:33:07 ID:3R+cY6NI] IEが通常使用するブラウザで無かったら、 "C:\Program Files\Internet Explorer\IEXPLORE.EXE" "search.yahoo.co.jp/"
358 名前:354 [2006/11/04(土) 23:41:33 ID:USOpz/32] 皆様、ありがとうございます。 『「ENTERキー」を叩く』という動作自体をbatファイルの中に書き込む ことは不可能でしょうか? もしこれが不可能だとすると、他にどんな方法が考えられますか? お願いします。
359 名前:名無し~3.EXE mailto:sage [2006/11/04(土) 23:42:49 ID:NCf7BNdE] まぁ、中を取って、 start IEXPLORE.EXE "search.yahoo.co.jp/" がよいかと。。。
360 名前:名無し~3.EXE mailto:sage [2006/11/04(土) 23:44:14 ID:h4oF94Gt] >>358 JavaScript/Bookmarklet
361 名前:名無し~3.EXE mailto:sage [2006/11/04(土) 23:45:03 ID:h4oF94Gt] URLに " " は要らんよ
362 名前:名無し~3.EXE mailto:sage [2006/11/04(土) 23:51:08 ID:NCf7BNdE] 試してないけど、こんなのでどう? MSHTA.EXE vbscript:Execute("CreateObject(""WScript.Shell"").SendKeys ""{ENTER}"":close:")
363 名前:名無し~3.EXE mailto:sage [2006/11/05(日) 00:59:50 ID:ERnKg4ol] どうしてもbatでEnterを打たせたかったら なにかフリーソフトを用意して、それをbatから呼び出すとか 普通に>>356-357 みたく直接開けばいい話だと思うが
364 名前:354 [2006/11/05(日) 01:13:52 ID:RCi+n/90] すみません、お騒がせしました。 WSHを使えばすむ話でした。 Set WshShell=Wscript.CreateObject("Wscript.Shell") WshShell.Run"IEXPLORE.EXE" WScript.Sleep(4000) WshShell.SendKeys("{ENTER}")
365 名前:名無し~3.EXE mailto:sage [2006/11/05(日) 01:35:01 ID:7WDpcn0x] 最初から search.yahoo.co.jp/ を開くのはだめなのか。 多分だめなんだろうな。
366 名前:名無し~3.EXE [2006/11/05(日) 15:38:54 ID:rje+y4ta] 質問させてください win2kprosp4で 実験の過程で C:\WINNT\system32\GroupPolicy\Machine\Scripts\Shutdown に 無限ループするように作ったバッチファイルを置いて実行させてみるのですが 10分?(正確に測っていない)ぐらいするとシャットダウンされてしまいます。 これは、何かタイムアウト処理が働いているからでしょうか? どうすればシャットダウンさせなくできますか?
367 名前:名無し~3.EXE [2006/11/05(日) 18:03:57 ID:ft5S0/Lo] 質問です。 DVD−ROM(F:\)から中に入ってるファイル名を取得そのファイル名から D:\〜にある同一ファイル名でヒットするものをを削除する こんな感じのバッチファイルを作りたいんですがどう書けば良いのでしょうか? FOR /R F:\ %%F IN (*.) DO DEL %%F PAUSE これを実行するとF:\が間違ってると言われます・・・
368 名前:名無し~3.EXE mailto:sage [2006/11/05(日) 22:34:11 ID:gaAwMg4f] >367 DEL C:\HOGEHOGE.log DEL C:\HOGEHOGE2.log FOR /F "eol=; tokens=* delims=/ " %%i IN ('DIR/O:N/A/B F:\*') DO @DIR/B/S D:\"%%i">>C:\HOGEHOGE.log FOR /F "eol=; tokens=* delims=/ " %%i IN ('TYPE C:\HOGEHOGE.log') DO @ECHO %%i>>C:\HOGEHOGE2.log FC/B C:\HOGEHOGE.log C:\HOGEHOGE2.log ↑ 上記のバッチファイルを実行して、最後に「相違点は検出されませんでした」と表示されるかどうかと C:\HOGEHOGE2.logの内容を確かめてみてよ。ひょっとしたら削除にも応用できるかも。
369 名前:名無し~3.EXE [2006/11/05(日) 23:12:56 ID:ft5S0/Lo] >>368 D:\>DEL C:\HOGEHOGE.log D:\>DEL C:\HOGEHOGE2.log C:\HOGEHOGE2.log が見つかりませんでした。 D:>FOR /F "eol=; tokens=* delims=/ " %i IN ('DIR/O:N/A /B F:\*') DO @DIR/B/S D:\"%i" 1>>C:\HOGEHOGE.log ファイルが見つかりません ファイルが見つかりません ファイルが見つかりません ファイルが見つかりません ファイルが見つかりません ファイルが見つかりません ファイルが見つかりません D:\>FOR /F "eol=; tokens=* delims=/ " %i IN ('TYPE C:\H OGEHOGE.log') DO @ECHO %i 1>>C:\HOGEHOGE2.log D:>FC/B C:\HOGEHOGE.log C:\HOGEHOGE2.log ファイル C:\HOGEHOGE.log と C:\HOGEHOGE2.LOG を比較しています FC: C:\HOGEHOGE2.LOG を開けません。このファイルまたはフォルダは存在しません こんな感じでした。 hogehoge2.logには何も書かれていませんでした
370 名前:368 mailto:sage [2006/11/05(日) 23:25:25 ID:gaAwMg4f] >369 画面上に表示されたメッセージは、FCコマンドの結果だけ俺のWinXPで試してみた時と違うな。 hogehoge.logのほうの内容はどうだった?あと、あんたのWindowsはXP?2000?
371 名前:名無し~3.EXE [2006/11/05(日) 23:47:43 ID:ft5S0/Lo] >>370 自分はWinXPです。 hogehoge.logはファイル自体存在してなくて hogehoge.logはbatファイル起動後生成されるが中身は空です
372 名前:366 [2006/11/05(日) 23:47:56 ID:NoIo79Hl] 実験機のIPは192.168.1.254で C:\WINNT\system32\GroupPolicy\Machine\Scripts\Shutdown に置いたバッチファイルは :reset ping 192.168.1.2 | find "100%% loss" if errorlevel 1 (set dt=10&goto :alived) ping 192.168.1.3 | find "100%% loss" if errorlevel 1 (set dt=10&goto :reset) if %dt%==0 shutdown -p :alived という内容です。 どちらか一方でもPCが起動していれば (事前に2台のPCのPINGが正常に返ってくることは確認しています) [スタート]→[シャットダウン]→[電源を切る] [シャットダウンのスクリプトを実行しています]というメッセージが続くはずなのですが 約10分でシャットダウンしてしまいます。
373 名前:名無し~3.EXE [2006/11/05(日) 23:48:44 ID:ft5S0/Lo] × hogehoge.logはbatファイル起動後生成されるが中身は空です ○ hogehoge2.logはbatファイル起動後生成されるが中身は空です
374 名前:368 mailto:sage [2006/11/06(月) 00:29:31 ID:WGTzoRqP] >>371 むぅ、俺と同じXPでhogehoge.log自体が存在しない結果に終わったのか。 実は俺の場合、DVD-ROMドライブの代わりにUSBメモリ(ファイルシステムの種類はFAT)をEドライブに 割り当てていて、Dドライブの代わりにCドライブ内で同一ファイル名を探させる設定にして試したんだ。 それにより、 E:\2CH-EX.txt C:\My Documents\2CH-EX.txt C:\My Documents\TEMP\2CH-EX.txt もしも上記のように"2CH-EX.txt"ファイルがEドライブに1つ、Cドライブに2つ存在するとしたら C:\HOGEHOGE.log と C:\HOGEHOGE2.log には、 C:\My Documents\2CH-EX.txt C:\My Documents\TEMP\2CH-EX.txt この2行が書き出される結果に終わるはず。(実際、それに準拠する結果だった) そういうのを>>367 へ応用できるんじゃないかと思ったんだけどな・・・どうなってるんだろう?
375 名前:名無し~3.EXE mailto:sage [2006/11/06(月) 00:46:15 ID:/GcHf+xd] >>366 バッチの中身関係なくてグループポリシーの設定だよ。 詳しくはスレ違いなのでどっか他で調べてね。
376 名前:名無し~3.EXE [2006/11/06(月) 00:52:18 ID:eYDcpk0u] >>374 すいません。ドライブ名が違ったみたいです。 Fドライブの中身はDドライブには存在しないからこの結果で、 対象をGにしたらhogehogeとhogehoge2には同じファイル名の テキストが出来ました。
377 名前:368 mailto:sage [2006/11/06(月) 01:48:07 ID:WGTzoRqP] >>376 ならば後は>>368 のバッチファイル4行目を以下のように変更すれば>>367 が解決すると思う。 FOR /F "eol=; tokens=* delims=/ " %%i IN ('TYPE C:\HOGEHOGE.log') DO @ECHO %%i>>C:\HOGEHOGE2.log ↓ FOR /F "eol=; tokens=* delims=/ " %%i IN ('TYPE C:\HOGEHOGE.log') DO @DEL "%%i" ちなみに>>368 のバッチファイル3行目で D:\"%%i" の代わりに D:\%%i と記述した場合、WinXPでは ファイル名に含まれる特殊文字次第でファイルを取りこぼしてしまう事があるから注意。 ("D:\%%i"はOK。単にファイル名に空白が含まれるかどうかさえ気をつければ良いという問題ではない) このあたりの仕様はWinXPとWin2000とWinNT4.0でも各々微妙に異なるから、 他の種類のWindowsでも使い回したい場合は事前に充分テストすべきだろう。
378 名前:名無し~3.EXE [2006/11/06(月) 11:15:28 ID:QBOemFrs] >>375 スマソ、それではこちら閉めます。
379 名前:名無し~3.EXE mailto:sage [2006/11/07(火) 02:43:44 ID:fMKPRh+S] >>367 FindExistsRm.CMD 比較元ディレクトリ 比較先ディレクトリ @ECHO OFF SETLOCAL ENABLEDELAYEDEXPANSION FOR %%0 IN (%1) DO ( FOR /R %1 %%1 IN (*) DO ( SET x=%%~f1 SET x=!x:%%~f0=%2! FOR %%2 IN ("!x!") DO ( echo DEL "%%~f1" ) ) )
380 名前:名無し~3.EXE mailto:sage [2006/11/07(火) 02:46:21 ID:fMKPRh+S] >>100 FindCompRm.CMD 比較元ディレクトリ 比較先ディレクトリ @ECHO OFF SETLOCAL ENABLEDELAYEDEXPANSION FOR %%0 IN (%1) DO ( FOR /R %1 %%1 IN (*) DO ( SET x=%%~f1 SET x=!x:%%~f0=%2! FOR %%2 IN ("!x!") DO IF "%%~t1"=="%%~t2" IF "%%~z1"=="%%~z2" ( BINDIFF "%%~f1" "!x!" IF !ERRORLEVEL!==1 ( echo DEL "%%~f1" ) ) ) )
381 名前:名無し~3.EXE mailto:sage [2006/11/10(金) 14:35:23 ID:V9Frw57W] すいません RDコマンドで、あるフォルダを一括削除したいんですが もの凄い深い階層にあるファイルが原因なのか 「XXXXXXが見つかりません」と、システムがメッセージ出してしまって フォルダの削除ができません。 こういった長〜いファイル名をコマンドプロンプトで扱う場合 どういう手がありますか?
382 名前:名無し~3.EXE mailto:sage [2006/11/10(金) 18:36:16 ID:R3LkmhaO] >381 つttp://www.ipmsg.org/tools/fast_rm.html
383 名前:名無し~3.EXE mailto:sage [2006/11/11(土) 00:07:08 ID:XfOiSAiT] >>382 感謝します
384 名前:名無し~3.EXE mailto:sage [2006/11/11(土) 00:38:31 ID:9aLw4sXI] 標準コマンドで片付ける場合はsubstで見た目のパス短くしてやれば桶
385 名前:名無し~3.EXE mailto:sage [2006/11/11(土) 08:44:50 ID:zKILve99] subst って、そのフォルダ直下にごみ箱できちゃうよね
386 名前:名無し~3.EXE mailto:sage [2006/11/11(土) 08:48:37 ID:2hOthbB6] >>381 半角スペース込みだったら"でくくらんとそうなるな。
387 名前:名無し~3.EXE [2006/11/12(日) 15:00:04 ID:Utpk1ks7] コマンドプロンプトでファイルの存在確認してから削除する方法おしえて
388 名前:名無し~3.EXE mailto:sage [2006/11/12(日) 15:07:34 ID:N5UKeW4Z] if exist
389 名前:387 mailto:sage [2006/11/12(日) 15:41:59 ID:Utpk1ks7] >>388 thx
390 名前:名無し~3.EXE mailto:sage [2006/11/12(日) 16:06:03 ID:e0M/p8ad] 橋本内科医院市立 芦別病院北海道立本岐診療所永野医院新潟手の外科研究所たかの耳鼻咽喉科高月整形外科内山クリニック長谷川内科南輪内診療所
391 名前:名無し~3.EXE mailto:sage [2006/11/12(日) 17:00:07 ID:sb3WUvfr] よく、 IF "%1"=="" 〜 のように書きますが、%1に"が奇数個含まれていると、エラーになります。 %1に何が含まれていてもエラーにならない方法はないものでしょうか?
392 名前:名無し~3.EXE mailto:sage [2006/11/12(日) 17:04:25 ID:WfLPkAgG] set HOGE=%1 set HOGE=%HOGE:"=% IF "%HOGE%"=="" 〜
393 名前:名無し~3.EXE mailto:sage [2006/11/12(日) 17:16:49 ID:nVQtwHBh] IF @%1==@ 〜
394 名前:名無し~3.EXE mailto:sage [2006/11/12(日) 19:33:18 ID:sb3WUvfr] >>392 call :sub "<" コマンドの構文が誤っています。 >>393 call :sub """ コマンドの構文が誤っています。
395 名前:名無し~3.EXE mailto:sage [2006/11/12(日) 20:03:35 ID:nVQtwHBh] setlocal set aaa= set aaa=%1 if ERRORLEVEL 1 〜
396 名前:名無し~3.EXE mailto:sage [2006/11/12(日) 20:41:19 ID:tyVMa3TA] >391 素直にWSH(WindowsScriptingHost)を利用するほうが無難だと思う。
397 名前:名無し~3.EXE mailto:sage [2006/11/13(月) 01:48:44 ID:LbA/01Ah] >>392 +>>393 +α これでよさそうです。 call :sub "<" call :sub """ call :sub goto :eof :sub set HOGE=@%1 set HOGE="%HOGE:"=""%" ECHO %HOGE% IF %HOGE%=="@" ECHO
398 名前:名無し~3.EXE mailto:sage [2006/11/13(月) 01:56:32 ID:GVejNCmK] callって他のバッチファイルだけじゃなくてラベルを呼べたのか
399 名前:名無し~3.EXE mailto:sage [2006/11/13(月) 02:00:30 ID:jwTRhDMH] 呼べるってラベルじゃねぇよ!
400 名前:名無し~3.EXE mailto:sage [2006/11/13(月) 02:08:38 ID:3qtCRh81] 関係ねぇよ。種類なんかよぉ!
401 名前:名無し~3.EXE mailto:sage [2006/11/13(月) 05:50:30 ID:wGkOGKoK] 目的がわからんので使えないかも知れないけど if "%~1"=="" とかを普通は使う。
402 名前:名無し~3.EXE mailto:sage [2006/11/14(火) 07:58:08 ID:kigYWptw] 起動時に実行するコマンドラインで ”ファイルのパス” と しているのですが確認ダイアログが出てしまいます。 確認ダイアログを無しに実行できるコマンドラインオプションを教えて下さい。
403 名前:名無し~3.EXE mailto:sage [2006/11/14(火) 09:32:33 ID:OpzRD6HB] 確認ダイアログ?
404 名前:名無し~3.EXE mailto:sage [2006/11/14(火) 09:57:02 ID:4kOLK/EZ] ____ / \ /\ キリッ . / (ー) (ー)\ / ⌒(__人__)⌒ \ <確認ダイアログが出てしまいます | |r┬-| | \ `ー'´ / ノ \ /´ ヽ | l \ ヽ -一''''''"~~``'ー--、 -一'''''''ー-、. ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒)) ____ /_ノ ヽ、_\ ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ /⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒) | / / / |r┬-| | (⌒)/ / / // < 確認ダイアログだっておwwwwwwwwwwwwwww | :::::::::::(⌒) | | | / ゝ :::::::::::/ | ノ | | | \ / ) / ヽ / `ー'´ ヽ / / バ | | l||l 从人 l||l l||l 从人 l||l バ ン ヽ -一''''''"~~``'ー--、 -一'''''''ー-、 ン ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
405 名前:名無し~3.EXE mailto:sage [2006/11/14(火) 11:38:50 ID:OpzRD6HB] とりあえず質問文の意味がよくわからないので詳しく書き直したほうがいいんじゃないかと思うよ
406 名前:名無し~3.EXE [2006/11/15(水) 13:07:26 ID:F2T3mu71] 誘導された為、こちらで質問させて頂きます。 バッチファイルを使用して同じLANネットワークに接続されている 別のPCでDOSコマンドを実行したいと思っています。 どのようなコマンドで実現出来ますでしょうか? OSはwindows2000になります。ご教授ください<(_ _)>
407 名前:名無し~3.EXE mailto:sage [2006/11/15(水) 14:29:35 ID:JDOcLJ4E] >>406 rsh.exe rexec.exe
408 名前:名無し~3.EXE mailto:sage [2006/11/15(水) 20:21:33 ID:YmkHLNsM] telnet rcmd rconsole 標準ならtelnetだけど、使いやすいのはrcmdかな。あと、 at \\対象マシン 時刻 コマンド でも可能。
409 名前:名無し~3.EXE [2006/11/16(木) 08:42:22 ID:cHsBiSJl] Windows PowerShell の正式版が出ますたね
410 名前:PowerShell の単独スレ立てる場合のテンプレ案 mailto:sage [2006/11/16(木) 15:32:07 ID:6cPSqI7E] Microsoft .NET Framework 2.0上で動作するシェルの一種。次期WindowsリリースであるWindows Vista と コードネームLonghorn Serverに組み込まれる予定。.NETのランタイム上で.NET Framework、外部プログラム、 ファイルシステムやレジストリや外部システムなどのリソースを高度に統合しているのが特徴。 PowerShell Script、Cmdlet、CmdletProvider? の3つの方法でPowerShell自身を拡張することが可能である。 また、PowerShell はスタンドアロンシェルとしてコマンドラインから起動できるだけではなく、他の.NETアプリケーションから ホストしてアプリケーション自身を拡張することが可能。 Beta3 リリース まではMSH という名称だったが、RC1 からは PowerShell が正式名称として採用された。 How to get Windows PowerShell 1.0 www.microsoft.com/technet/scriptcenter/topics/msh/download.mspx Scripting with Windows PowerShell www.microsoft.com/technet/scriptcenter/hubs/msh.mspx PowerShell - PukiWiki www.globe.to/~oka326/?PowerShell FrontPage - PowerShell Wiki (fullmoon) www.canalian.com/wiki/wiki.cgi PowerShell Scripting - インストールから実行まで www.roy.hi-ho.ne.jp/mutaguchi/powershell/how_to_install.html 次世代Windowsシェル「Windows PowerShell」を試す(前編) − @IT www.atmarkit.co.jp/fdotnet/special/powershell01/powershell01_01.html Windows PowerShellのパワーの源は.NETオブジェクト − @IT www.atmarkit.co.jp/fdotnet/special/powershell02/powershell02_01.html Windows PowerShell徹底解説:ITpro itpro.nikkeibp.co.jp/article/COLUMN/20061106/252598/ ITmedia エンタープライズ:コマンドラインが復活、MSアプリ管理はPowerShellが主軸に (1/2) www.itmedia.co.jp/enterprise/articles/0606/06/news008.html
411 名前:名無し~3.EXE mailto:sage [2006/11/16(木) 15:43:37 ID:STc16HEm] 次世代Windowsシェル「Windows PowerShell」を試す(前編) www.atmarkit.co.jp/fdotnet/special/powershell01/powershell01_01.html
412 名前:名無し~3.EXE mailto:sage [2006/11/16(木) 18:47:19 ID:0L6hutsz] PowerShell スレってどこかに立ってる?
413 名前:名無し~3.EXE mailto:sage [2006/11/16(木) 20:00:36 ID:pGzDDil1] 立ってないよ
414 名前:名無し~3.EXE mailto:sage [2006/11/17(金) 04:31:12 ID:kuNnXI5u] >>410 スレ立てるなら、スレタイ候補。 〔CMD〕 Windows PowerShell Vol.1 〔Script〕
415 名前:名無し~3.EXE mailto:sage [2006/11/17(金) 19:38:42 ID:E0PYc13y] Windows Server 2003 Service Pack 1 および Windows XP Service Pack 2 用の Windows PowerShell 1.0 ローカライズ版インストール パッケージ support.microsoft.com/?kbid=926140 日本語版のサイト重すぎない?
416 名前:名無し~3.EXE mailto:sage [2006/11/17(金) 20:08:07 ID:yatk+sKz] >414 じゃあ俺も対抗してスレタイ案。 【Monad】Windows PowerShell【MSH】
417 名前:PowerShell の単独スレ立てる場合のテンプレ案 mailto:sage [2006/11/17(金) 20:16:40 ID:kuNnXI5u] Microsoft .NET Framework 2.0上で動作するシェルの一種。次期WindowsリリースであるWindows Vista と コードネームLonghorn Serverに組み込まれる予定。.NETのランタイム上で.NET Framework、外部プログラム、 ファイルシステムやレジストリや外部システムなどのリソースを高度に統合しているのが特徴。 PowerShell Script、Cmdlet、CmdletProvider? の3つの方法でPowerShell自身を拡張することが可能である。 また、PowerShell はスタンドアロンシェルとしてコマンドラインから起動できるだけではなく、他の.NETアプリケーションから ホストしてアプリケーション自身を拡張することが可能。 Beta3 リリース まではMSH という名称だったが、RC1 からは PowerShell が正式名称として採用された。 Windows Server 2003 Service Pack 1 および Windows XP Service Pack 2 用の Windows PowerShell 1.0 ローカライズ版インストール パッケージ support.microsoft.com/?kbid=926140 How to get Windows PowerShell 1.0 www.microsoft.com/technet/scriptcenter/topics/msh/download.mspx Scripting with Windows PowerShell www.microsoft.com/technet/scriptcenter/hubs/msh.mspx PowerShell - PukiWiki www.globe.to/~oka326/?PowerShell FrontPage - PowerShell Wiki (fullmoon) www.canalian.com/wiki/wiki.cgi PowerShell Scripting - インストールから実行まで www.roy.hi-ho.ne.jp/mutaguchi/powershell/how_to_install.html
418 名前:PowerShell の単独スレ立てる場合のテンプレ案 mailto:sage [2006/11/17(金) 20:17:15 ID:kuNnXI5u] 次世代Windowsシェル「Windows PowerShell」を試す(前編) − @IT www.atmarkit.co.jp/fdotnet/special/powershell01/powershell01_01.html Windows PowerShellのパワーの源は.NETオブジェクト − @IT www.atmarkit.co.jp/fdotnet/special/powershell02/powershell02_01.html Windows PowerShell徹底解説:ITpro itpro.nikkeibp.co.jp/article/COLUMN/20061106/252598/ ITmedia エンタープライズ:コマンドラインが復活、MSアプリ管理はPowerShellが主軸に (1/2) www.itmedia.co.jp/enterprise/articles/0606/06/news008.html
419 名前:名無し~3.EXE mailto:sage [2006/11/17(金) 21:52:27 ID:E0PYc13y] Windows PowerShell (正式版リリース)1.0 pc8.2ch.net/test/read.cgi/win/1163764836/
420 名前:名無し~3.EXE mailto:sage [2006/11/18(土) 12:58:41 ID:qHED6v8J] コマンドラインからsleepする方法が一つ増えたな powershell -command sleep 1 ……激しく使わない気がするが
421 名前:名無し~3.EXE mailto:sage [2006/11/18(土) 13:32:56 ID:i0XzREmd] 中身.NETだからなぁ 家のPCじゃ、起動させるまでにsleepしそうだ
422 名前:名無し~3.EXE mailto:sage [2006/11/18(土) 14:30:53 ID:PCAmjjXu] 試してないけど、実際にはpowershellの起動時間がsleep時間にプラスされるんだろうな。
423 名前:名無し~3.EXE mailto:sage [2006/11/18(土) 15:25:28 ID:fh/HkAQx] >>406 at
424 名前:名無し~3.EXE mailto:sage [2006/11/18(土) 17:42:23 ID:qHED6v8J] うちのPCだとpowershellの実行が0.6秒くらいかかった (WindowsXP,Athlon64 3400+) @echo off setlocal set starttime=%time% echo 00:00:00 | time > nul powershell -command sleep 0 echo 実行時間は %time% です echo %starttime% | time > nul w32tm /resync
425 名前:名無し~3.EXE mailto:sage [2006/11/18(土) 17:52:10 ID:qHED6v8J] 0.6秒は既にpowershellがキャッシュに乗ってるときで、 powershellの初回起動時は6秒かかった やっぱり激しく役にたたない
426 名前:名無し~3.EXE mailto:sage [2006/11/18(土) 17:58:40 ID:oWKlvi+6] >>424 0.6秒はいくらなんでも早すぎだろ、と思っちゃった。 うちなんか12,13秒掛かるんですが。
427 名前:名無し~3.EXE mailto:sage [2006/11/18(土) 18:07:37 ID:AqvXN/YM] 初回でも1〜2秒だけど、.NetFrameworkなプログラム常用してるからかな。
428 名前:名無し~3.EXE mailto:sage [2006/11/18(土) 22:04:34 ID:fLgAfV6T] CLIをネイティブに事前にコンパイル済みしたのをキャッシュしておくことによって 時間短縮するソフトが確かあったよ。
429 名前:名無し~3.EXE mailto:sage [2006/11/18(土) 22:06:48 ID:gg7xm9LM] ngen のフロントエンドなだけだよ
430 名前:名無し~3.EXE mailto:sage [2006/11/19(日) 00:03:35 ID:rcCuERX8] sleepのためにPowerShellを入れる気はしない。 他に便利なことはないの?
431 名前:名無し~3.EXE mailto:sage [2006/11/19(日) 02:28:29 ID:YW38jIhe] .NET Frameworkのライブラリの機能は全部コマンドラインやスクリプトから呼べるらしい
432 名前:名無し~3.EXE mailto:sage [2006/11/19(日) 02:33:42 ID:0K1oPrA4] いままでだって JScript .NET でできたわけだし
433 名前:名無し~3.EXE mailto:sage [2006/11/19(日) 02:46:55 ID:YW38jIhe] (今のところ)ノートン先生に怒られない
434 名前:名無し~3.EXE mailto:sage [2006/11/19(日) 03:21:26 ID:eI82aUEj] .NETなんかじゃなくて、ちゃんとしたCシェルとかbashとかをMSから提供して欲しかったね。
435 名前:名無し~3.EXE mailto:sage [2006/11/19(日) 03:35:09 ID:LSrB1aeN] >>434 つ Services for UNIX
436 名前:名無し~3.EXE mailto:sage [2006/11/19(日) 03:42:11 ID:YW38jIhe] つ Subsystem for UNIX-based Applications
437 名前:名無し~3.EXE mailto:sage [2006/11/19(日) 04:04:00 ID:rcCuERX8] jscg(compile&go)よりは速いんでしょうか?
438 名前:名無し~3.EXE mailto:sage [2006/11/21(火) 21:49:13 ID:q38yIqA/] 9x系で、n秒後に再起動ってやりたいんだけど、どうやったらいい?
439 名前:名無し~3.EXE mailto:sage [2006/11/21(火) 22:02:50 ID:6uxJHtyX] >>438 ttp://www.vector.co.jp/soft/win95/util/se343283.html
440 名前:名無し~3.EXE mailto:sage [2006/11/21(火) 22:06:30 ID:q38yIqA/] >>439 そういうツールを使わないとダメ?
441 名前:名無し~3.EXE mailto:sage [2006/11/22(水) 00:56:48 ID:WEV/FgtF] ping
442 名前:名無し~3.EXE mailto:sage [2006/11/22(水) 09:05:54 ID:h7jy8vLv] >>441 すまん、それを使えばいいのは分かるが、もう少し詳しく頼む。
443 名前:名無し~3.EXE mailto:sage [2006/11/22(水) 09:17:20 ID:rF8PITK3] スレ内検索くらいすればいいのに
444 名前:名無し~3.EXE mailto:sage [2006/11/22(水) 09:36:32 ID:h7jy8vLv] あ、検索するのすっかり忘れてたorz どもですたノシ
445 名前:名無し~3.EXE mailto:sage [2006/11/23(木) 20:24:42 ID:VSzDaGy1] WInMeでは再起動を自動でやるにはツールを使わないとダメ? それともWSHでできる? WSHでできるなら方法を教えてもらえると助かる。 スレ違いだったらスマソ。
446 名前:名無し~3.EXE mailto:sage [2006/11/24(金) 00:52:45 ID:2KLVL2Zf] ログファイルの自動整理をたくらんでいるのですが、質問です。 決められたファイルのファイルサイズを調べ、 10キロバイト以下では処理1を、 20キロバイト以下では処理2を、 30キロバイト以下では処理3を、 というIF文を作りたいのですが、 具体的にどう記述すればよいのかわかりません。 どのように書けばできますか? 外部ツールを使ってもかまいません。
447 名前:名無し~3.EXE mailto:sage [2006/11/24(金) 01:07:09 ID:0zfJPv+U] >>446 call /? if /?
448 名前:名無し~3.EXE mailto:sage [2006/11/24(金) 10:16:36 ID:K2He8JIZ] NT系だったら for /f %%A in ('dir 〜') do if 〜 call 〜 とかでどうだべ?
449 名前:名無し~3.EXE mailto:sage [2006/11/24(金) 14:54:29 ID:bcXVPvCT] for /? %%~zI
450 名前:446 mailto:sage [2006/11/24(金) 18:06:07 ID:2KLVL2Zf] >>447 >>448 >>449 レストンクス。OSは2Kです。 for %%F in (".\うんこ.jpg") do if %%~zF GEQ 20000 echo ちんこ for %%F in (".\うんこ.jpg") do if %%~zF GEQ 10000 echo まんこ else echo あなる で3とおりイケました。ありがとう! ・・・と思ったが、うんこのファイルサイズが20000以上の場合、 ちんこだけ動かしたいのに、ちんことまんこが両方とも実行されてしまいます。 A<固定値<B という範囲内に限定された条件分岐のうまい方法はありませんか。 if文を2段構えにする方法しか思いつきません。
451 名前:名無し~3.EXE mailto:sage [2006/11/24(金) 18:28:04 ID:EUdb631D] 漏れなら後で自分で読んで悩まないように単純な書き方すると思う。漏れ馬鹿だから。 for %%F in (".\うんこ.jpg") do set FileSize=%%~zF if %FileSize% GEQ 20000 echo ちんこ if %FileSize% LSS 20000 if %FileSize% GEQ 10000 echo まんこ if %FileSize% LSS 10000 echo あなる
452 名前:名無し~3.EXE mailto:sage [2006/11/24(金) 18:31:44 ID:bcXVPvCT] おバカ? for ( if A if B if C )
453 名前:名無し~3.EXE mailto:sage [2006/11/24(金) 18:33:02 ID:VGuwVTc1] とりあえず うんこのサイズ20000で吹いた
454 名前:名無し~3.EXE mailto:sage [2006/11/24(金) 18:47:41 ID:bcXVPvCT] こんなのは? set v=0 for %%F in (".\うんこ.jpg") do set sz=%%~zF if %sz% geq 10000 set v+=10000 if %sz% geq 20000 set v+=10000 if %sz% geq 30000 set v+=10000 goto case%v% :case0 goto :eof :case10000 goto :eof :case20000 goto :eof :case30000 goto :eof
455 名前:446 mailto:sage [2006/11/24(金) 18:49:34 ID:6m7E/X5o] >>451 トン。これはわかりやすい! 大馬鹿な俺でも、不等号の方向が頭に即座に浮かぶ。 >>452 うーん・・ごめん。もうついていけない。 ABCが10000,20000,30000だとすると、 どんなコマンドを書けば実現できますか? >>451 の単純比較法よりも優位な点はなんでしょう? >>453 ニヤリ。
456 名前:名無し~3.EXE mailto:sage [2006/11/24(金) 18:51:40 ID:K2He8JIZ] >>451が一番わかりやすいかも。 複雑な処理には>>454が向いてるっぽい。
457 名前:名無し~3.EXE mailto:sage [2006/11/24(金) 18:55:05 ID:6m7E/X5o] >>454 なるほど。 すげー、ラベルのgotoの先で変数を使うのか。 これなら各分岐先で、複数のコマンドの羅列群を 複数行に渡ってカンタンに入れられますね。
458 名前:名無し~3.EXE mailto:sage [2006/11/24(金) 19:16:16 ID:bcXVPvCT] 複数コマンド、複数行ってだけなら普通にif文で使えるけど? >>452 が理解できなかった人へ for %%F in (".\うんこ.jpg") do ( if %%~zF geq 20000 ( echo ウンコてんこ盛り ) else if %%~zF geq 10000 ( echo ウンコ並 ) else ( echo ちょびっと ) )
459 名前:446 mailto:sage [2006/11/24(金) 20:34:34 ID:6m7E/X5o] >>458 なるほど、カッコで囲えばいいのか。 それにしても、このウンコ講座、まじで役に立ちました。 おかげさまで、うんこ摘み分け もとい、ログファイル選別バッチが 完成しました。みなさん、くだらない質問につきあってくれてありがとう。 俺は、AとかBとか1,2,3,とか甲乙とかのサンプル名詞よりも、 うんこちんこと書いたほうが理解力が早いことが判明。(´゚З゚`) ンモー
460 名前:名無し~3.EXE mailto:sage [2006/11/24(金) 21:24:55 ID:WzW0xK9i] しかしこのスレにはかなりのスキルを持った人が常駐しているようですね どんな問題でもポンと的確な答えが返ってくる 2chの片隅にひっそりと存在するささやかなスレですが、すばらしいスレです いつも答えてくれている人に感謝
461 名前:名無し~3.EXE mailto:sage [2006/11/25(土) 09:56:27 ID:/CZ055s/] 質問する方もある程度は心得た人だからさ。まともな人に対する答えはどこでもこんなもん。 いつもDQN質問が多数を占めるスレばかり見てるんじゃないのかね。
462 名前:名無し~3.EXE mailto:sage [2006/11/25(土) 11:16:06 ID:8LWk1c8J] バッチファイルで計算型GOTO文みたいなことができたのか…
463 名前:名無し~3.EXE mailto:sage [2006/11/25(土) 18:45:30 ID:ebCEPaSv] set /a v+=10000 だったね。orz set /a v=%sz%/10000*10 if %v% geq 30 set v=30 goto case%v%KB
464 名前:名無し~3.EXE mailto:sage [2006/11/25(土) 19:01:46 ID:ebCEPaSv] へー、 set /a v=sz/1000*10 これでも良いんだ。
465 名前:名無し~3.EXE mailto:sage [2006/11/26(日) 20:15:54 ID:uCTfojiq] doskeyマクロってfor文のin ('コマンド') の部分で使えないのね set hoge="コマンド" set hoge=%hoge:~1,-1% とやっておいて in ('%hoge%') こんな感じ?
466 名前:名無し~3.EXE [2006/11/28(火) 12:07:45 ID:MZyNBUPe] コマンドブロンプトすごい!
467 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 15:26:09 ID:A2PCXcn1] バッチファイルの中でプログラムを起動する時、それを終了しなくてもプロンプトの方は終了させるようにするにはどうすればいい?
468 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 15:37:44 ID:A2PCXcn1] すまん自己解決した、ショートカット使えばいいのね
469 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 15:45:10 ID:PA/2uyOE] start /?
470 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 15:53:43 ID:A2PCXcn1] >>469 ……なんでコロッと忘れちまってるんだろう俺orz ありがとう
471 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 16:44:01 ID:eQt+KJMG] startとショートカットの違い。 unixで非同期実行の&があるが、ショートカットはその感じ。 コンソールアプリやバッチファイルのショートカットを作って、 hoge.lnk とやると、標準入出力が共有されたまま、非同期実行できますよ。 startはコンソールが別になります。
472 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 16:49:25 ID:eQt+KJMG] コンソールからWindowアプリを起こすと、待たないで復帰します。 待つときは、Startを使いますが、他に、 cmd/c hoge.exe とか、 hoge.exe|more などでも待ち合わせできます。 メリットは特にないけど。
473 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 19:03:31 ID:A2PCXcn1] へーそこまでは知らなかった、いやstartの存在も忘れていたんだけども。
474 名前:名無し~3.EXE [2006/11/28(火) 22:27:25 ID:oG1sWt3Q] バッチファイルからFTP使ったり、結構おもろいよ。 データベースからバッチ実行=>FTPの起動・自動ログイン・処理・ログアウト とか。 MS-DOS時代、waitコマンドラインあったけど コマンドプロンプトでそれらしいのあるんだろうか?
475 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 23:17:25 ID:eQt+KJMG] >>435 >つ Services for UNIX なんて言われても、home editionなので、インストール不可。 SFUには便利そうなコマンドがあるので、一部だけでも抜き出して使いたいのですが、 いい方法はないもんでしょうか。 VirtualPCでPROの環境を作ってインストールするしかないかなぁ。
476 名前:名無し~3.EXE mailto:sage [2006/11/28(火) 23:42:30 ID:RgtI1wII] つ ORCA
477 名前:名無し~3.EXE mailto:sage [2006/11/29(水) 00:37:12 ID:2/mGVRQo] >474 ググってもwaitコマンドがどういうのか判らんかったけど pauseコマンドで代用出来たりする?
478 名前:名無し~3.EXE mailto:sage [2006/11/29(水) 03:43:22 ID:Cnbem7Cd] >>285 >素のWindowsだけで指定ファイルのパス名をコピーすることって出来ますか? レジストリの変更だけでも出来ますね。 MSHTA.EXE "about:<script>resizeTo(0,0);</script><hta:application id=hta border=none /><script>var s=hta.commandLine;var f=false; for(var k=0;k<s.length;k++){c=s.charCodeAt(k);if(c==32)if(!f)break;if(c==34)f=!f;}s=s.substr(k+1);clipboardData.setData('text',s);close();</script>" %1 を関連付けで、*に動詞hogeで登録すれば、ファイル右クリックhogeでパス名がコピーされます。 ただし、複数ファイルは、これでは出来ません。 ショートカットのリンク先に MSHTA.EXE "about:<script>resizeTo(0,0);</script><hta:application id=hta border=none /><script>var s=hta.commandLine;var f=false;for(var k=0;k<s.length;k++) {c=s.charCodeAt(k);if(c==32)if(!f)break;if(c==34)f=!f;}s=s.substr(k+1);clipboardData.setData('text',s);close();</script>" を入れて、SendToにこのショートカットを置けば、複数ファイルが送れますが、ファイルを作成することになるので駄目ですね。
479 名前:名無し~3.EXE mailto:sage [2006/11/29(水) 23:05:25 ID:IxLn5/2/] >>475 Cygwinはだめか?
480 名前:名無し~3.EXE mailto:sage [2006/11/30(木) 00:18:54 ID:9lgU88/V] フォルダ内のファイルと同じ名前のテキストファイル(0kb)を 作るバッチプログラムが欲しいのですが、 下のようにするとファイル名中に空白等があった場合 そこから先が省略されてしまいます。 暇な人いましたら修正してもらえませんでしょうか if "%~1"=="" goto :eof pushd %1 for /f %%i in ('dir /b %1') do type nul >%%~ni.txt popd
481 名前:名無し~3.EXE mailto:sage [2006/11/30(木) 00:38:13 ID:W1vyssVc] "%%~ni.txt" で良いんじゃないかな?
482 名前:名無し~3.EXE mailto:sage [2006/11/30(木) 00:47:00 ID:2IMejFpR] バッチ内部で組み込む条件で、テキストの抜き出し加工について質問です。 ■テキストファイル TEST.TXT の内容(サンプルです。>>1 より引用) >DOS由来コマンドだけでなく、Windows バージョンアップのたびに拡充されてきたコマンド、 >wsh(cscript)、cygwin、Resource Kit、Support Tools、その他のフリーソフト等ふくめ >コマンドラインインタフェースに関するネタならなんでもOK。 ■出力したいテキスト TEST2.TXT 内容 >拡充されてきたコマンド、 >wsh(cscript)、cygwin、Resource Kit、Support Tools、その他のフリーソフト等ふくめ >コマンドラインインタフェースに関するネタ このときの条件は、テキストファイルから、 指定された開始文字列 「拡充」 からはじまり、 指定された終了文字列 「関するネタ」 までを抜き出す このように2点間のテキストを抜き出すには、 どのような方法を使えばいいでしょうか。 FINDで、1行丸ごと抜き出すところまではできました。 が、FINDでは該当する文字列が含まれると1行丸ごと引用しますので、 行の途中から文章を引用することができません。 賢い方法、なにかありませんか?よろしくお願いします。
483 名前:名無し~3.EXE mailto:sage [2006/11/30(木) 00:58:21 ID:CJ8/8p6E] よく分からないけどsedかawkの出番かな?
484 名前:480 mailto:sage [2006/11/30(木) 01:02:06 ID:9lgU88/V] >>481 すんません、だめでした。 OSはXP Homeです
485 名前:名無し~3.EXE mailto:sage [2006/11/30(木) 01:26:19 ID:6of09l5E] >>482 @echo off echo W=WScript;a=W.Arguments;s=W.StdIn.ReadAll();W.Echo(s.match(a(0)+'(.^|\n)*'+a(1))[0])>%temp%\aaa.js cscript //nologo %temp%\aaa.js 拡充 関するネタ < 1さん.txt del %temp%\aaa.js
486 名前:名無し~3.EXE mailto:sage [2006/11/30(木) 01:33:23 ID:W1vyssVc] >>484 これでどう? for /f "delims=" %%i in ('dir /b %1') do type nul >%%~ni.txt
487 名前:480 mailto:sage [2006/11/30(木) 11:08:08 ID:9lgU88/V] >>486 できました。ありがとうございます
488 名前:名無し~3.EXE mailto:sage [2006/11/30(木) 18:53:37 ID:4A8n4oNd] バッチなら @if(0)==(0) ECHO OFF CScript.exe //NoLogo //E:JScript "%~f0" <1さん.txt GOTO :EOF @end WScript.Echo(WScript.StdIn.ReadAll().match(/拡充[\s\S]*?関するネタ/)[0]);
489 名前:名無し~3.EXE mailto:sage [2006/11/30(木) 18:55:47 ID:4A8n4oNd] コマンドプロンプトなら mshta "javascript:var f=new ActiveXObject('Scripting.FileSystemObject');f.GetStandardStream(1).WriteLine(f.GetStandardStream(0).ReadAll().match(/拡充[\s\S]*?関するネタ/)[0]);close();" <1さん.txt >結果.txt
490 名前:名無し~3.EXE mailto:sage [2006/11/30(木) 19:04:53 ID:4A8n4oNd] >>479 本家(Unix)にないMKS Toolkitに filebox Displays a Windows 2000 Open or Save dialog box. gres Substitutes for a pattern in a file or stream. mapimail Sends mail on a Win32 system using the MSMapi32 ActiveX COM object. など面白そうなコマンドがいっぱい。
491 名前:名無し~3.EXE mailto:sage [2006/11/30(木) 20:37:35 ID:4A8n4oNd] バッチだけでやると.CMD 拡充 関するネタ <1さん.txt @ECHO OFF SETLOCAL ENABLEDELAYEDEXPANSION SET F=0 FOR /F "delims=] tokens=1*" %%0 IN ('FIND /N /V ""') DO ( SET X=%%1 SET Y= IF DEFINED X SET Y=!X:*%1=! IF NOT "!X!"=="!Y!" ( SET F=1 ECHO:%1!Y! ) SET Y= IF DEFINED X SET Y=!X:*%2=! IF NOT "!X!"=="!Y!" ( SET F=0 CALL :LEN ECHO:!Y! ) IF !F!==2 ECHO:!X! IF !F!==1 SET F=2 ) GOTO :EOF :LEN SET Z=0 :UP IF "!Y:~%Z%!"=="" GOTO :SET SET /A Z+=1 GOTO :UP :SET SET Y=!X:~0,-%Z%!
492 名前:482 mailto:sage [2006/12/01(金) 00:02:40 ID:2IMejFpR] >>485 >>488 >>489 >>491 皆様、貴重なアドバイスをありがとうございました。 教えていただいたスクリプトを複数組み合わせ、 うまく動きました。どうもありがとうございます。
493 名前:名無し~3.EXE mailto:sage [2006/12/01(金) 03:40:24 ID:ZvxkC/xa] >>492 の最初の「皆様、貴重」が「貴様」に見えた寝る
494 名前:名無し~3.EXE mailto:sage [2006/12/01(金) 11:22:51 ID:5wVi+ir+] >>492 最初の皆様が皆藤に見えた www.centforce.com/profile/t_profile/kaitou.html
495 名前:名無し~3.EXE mailto:sage [2006/12/01(金) 18:22:58 ID:4N/6YD5N] >493 俺は昔同級生に「貴」(タカシ)が居た 年賀状出し辛かった
496 名前:名無し~3.EXE mailto:sage [2006/12/01(金) 20:34:01 ID:oGiM64QN] >>492 最初の皆(ミナ)様をモナ様と読んだ www.excite.co.jp/News/entertainment/20061129061215/Sponichi_kfuln20061129006003.html
497 名前:490 mailto:sage [2006/12/02(土) 17:19:08 ID:0XNYfzVD] 勘違いでした。 MKS ToolkitはSFU2.0に30日DEMO版が入っているだけでした。 なので興味喪失。 ところで、未インストール状態のSFU中のexeを叩いても そんなファイルは見つかりません。と言うのは、 exe形式がPOSIX Subsystem用になってるとか、 そういうことなんでしょうか。ちょっと不思議です。
498 名前:名無し~3.EXE mailto:sage [2006/12/02(土) 23:17:07 ID:GeMJalJA] PowerShellを用いてtxt形式(echo 〜と変数の組み合わせ)のファイルを 連続して作成できるようにps1ファイルを作成し、ファイル作成は動作は正常に行えたのですが 出来上がったファイルの文字コードがUTF-16で次のプログラムに受け渡せなくて困ってます。 echoの時点でSJISにしたり、ファイルをスクリプトから変換できるようなツールがあればお教えください。
499 名前:名無し~3.EXE mailto:sage [2006/12/02(土) 23:51:48 ID:46Pzno4R] つ www.vector.co.jp/soft/winnt/util/se315405.html
500 名前:名無し~3.EXE mailto:sage [2006/12/03(日) 00:57:51 ID:TRuQ24NS] >>499 PowerShellからリダイレクトかけた時点でBOM付UTF-16LEに戻されるから cmd,exeを呼び出して使えってことなんでしょうが PowerShellからcmd.exeを呼び出せるもんなんですか?
501 名前:名無し~3.EXE mailto:sage [2006/12/03(日) 03:35:54 ID:y64/DPio] つ じゃなくて見 じゃないの
502 名前:名無し~3.EXE mailto:sage [2006/12/03(日) 03:41:28 ID:y64/DPio] そうそう、SFUにiconvがあった。 iconv -f from_code -t to_code [-s char] [file ...]
503 名前:名無し~3.EXE mailto:sage [2006/12/03(日) 14:00:50 ID:JdmW3Ab/] Out-Fileで-encoding指定すればいいんじゃね?
504 名前:名無し~3.EXE mailto:sage [2006/12/03(日) 17:24:46 ID:TRuQ24NS] >>502 ダメ文字・・の消し方で躓いたので端からあきらめてました。 >>503 .NetFrameworkを使ったスクリプトをWebで見つけて参考に作り上げたのですが どうせunicode中間ファイルができるなら、 cat $fname[] | Out-File -encoding ASCII -filepath $fpath とかで簡単にいけそうですね。 ありがとうございます >499、501、502、503 パイプラインで出力する方法を設定できれば楽なのにMSさん。
505 名前:名無し~3.EXE mailto:sage [2006/12/03(日) 17:57:05 ID:y64/DPio] >>499 によれば、 FIND /V "" < BOM付きUnicodeファイル > シフトJISファイル とか、 「BOM付きUnicodeを出力するコマンド」|FIND /V "" > シフトJISファイル とやればよいのでは。 PowerShellを知らないので頓珍漢かも。
506 名前:名無し~3.EXE mailto:sage [2006/12/03(日) 20:14:24 ID:x5iMNpj8] XP Home SP2なんですけど ">"とか"|"とか"&&"とか"()"に関してのヘルプってどうやったら出てくるか教えてください。
507 名前:名無し~3.EXE mailto:sage [2006/12/03(日) 20:34:50 ID:ltN6r6qX] Homeにあるかどうか知らないけど、Proだと スタート→ヘルプとサポートでコマンド ライン リファレンスを検索 →コマンド シェルの概要、リダイレクト演算子 に書かれている
508 名前:名無し~3.EXE mailto:sage [2006/12/03(日) 20:40:53 ID:JdmW3Ab/] うちのXP Home では "コマンド ライン リファレンス" では検索に引っかからないので "dir" など回復コンソールにもあるコマンド名で検索して[関連項目]から移動。
509 名前:名無し~3.EXE mailto:sage [2006/12/03(日) 21:01:16 ID:XHqr+Wc4] hh ntcmds.chm::/redirection.htm 通常は、 hh ntcmds.chm hh ntcmds.chm::/ntcmds.htm
510 名前:名無し~3.EXE mailto:sage [2006/12/03(日) 21:05:42 ID:x5iMNpj8] >>507 ,508 見つけられました、ありがと〜でした
511 名前:名無し~3.EXE mailto:sage [2006/12/03(日) 21:23:21 ID:XHqr+Wc4] こっちだった。 hh ntcmds.chm::/ntcmds_shelloverview.htm
512 名前:名無し~3.EXE mailto:sage [2006/12/03(日) 22:01:18 ID:y64/DPio] ヘルプとサポートセンタで開くほうがよくない? helpctr.exe /URL ms-its:ntcmds.chm::/ntcmds_o.htm
513 名前:名無し~3.EXE mailto:sage [2006/12/03(日) 22:07:09 ID:y64/DPio] >>512 PATHが通っていないのでSTARTで。
514 名前:名無し~3.EXE mailto:sage [2006/12/04(月) 14:12:07 ID:6ydASAMh] >>513 512で見れた。すげええええ、こんなことが出来るのか XPを10年使って初めて見た。
515 名前:名無し~3.EXE mailto:sage [2006/12/04(月) 18:39:36 ID:6gdKKDRd] >>514 > XPを10年使って初めて見た。 未来から来られたんでしょうか?
516 名前:名無し~3.EXE mailto:sage [2006/12/04(月) 20:20:53 ID:M/HQ1bo2] >>514 一度見つけたら右クリック「お気に入りに追加」しておくべし。 hhのほうも、 hh.exe windows.chm で、「お気に入り」や「検索」「キーワード」タブを表示、 左上隅のアイコンを右クリックして、「URLへ移動」に ntcmds.chm::/ntcmds_shelloverview.htm などを入れて表示して、「お気に入り」タブで「追加」しておくべし。
517 名前:名無し~3.EXE mailto:sage [2006/12/05(火) 20:20:38 ID:L6haTKq6] IME辞書をバッチファイルでバックアップしたいのですが xcopy c:\progra~1\common~1\micros~1\ime\imjp9\dicts\imjp81~1.dic d:\ /s/y としても「指定されたファイルが見つかりません」になってしまいます。 どこがおかしいでしょうか?
518 名前:517 mailto:sage [2006/12/05(火) 20:27:20 ID:L6haTKq6] 事故解決しました。
519 名前:名無し~3.EXE mailto:sage [2006/12/05(火) 23:08:31 ID:jnuccgG/] 質問したからには自己解決であっても答えを書いとけよ。 後世の人のために。
520 名前:名無し~3.EXE mailto:sage [2006/12/05(火) 23:16:01 ID:Ut7BG6ZP] 単にパスミスだろう。 デフォだと、\Program Filesの下なんかに無くて %USERPROFILE%\Application Data\Microsoft\IMJP8_1\imjp81u.dic だし。
521 名前:名無し~3.EXE mailto:sage [2006/12/06(水) 00:11:56 ID:Wd7oNSvB] xcopy c:\progra~1\common~1\micros~1\ime\imjp9\dicts\imjp81~1.dic d:\ /s/y ↓ xcopy c:\"program files"\"common files"\"microsoft shared"\ime\imjp9\dicts\imjp81~1.dic d:\ /s/y
522 名前:517 mailto:sage [2006/12/06(水) 00:15:08 ID:Wd7oNSvB] 途中で書き込んでしまった。 半角スペースが含まれるフォルダ名をダブルクォーテーションで囲まなかったのが 原因でした。
523 名前:名無し~3.EXE mailto:sage [2006/12/06(水) 00:42:03 ID:tyfiRIjS] windows.chm, ntcmds.chm などのリンクを表示する毎に、 IMT??.xml 2KB, IMT??.xml 1KB, IMT??.xml 566KB が %TEMP% に増殖するようになった。 MS06-061(924191) の msxml3.dll を旧バージョンにしたら 直ったけど・・・なんだかなぁ
524 名前:名無し~3.EXE mailto:sage [2006/12/06(水) 01:19:55 ID:1p+kqH7a] >>521 8.3形式のショートファイル名では""で括る必要なんてなかろう? それでどうしてエラーになったのか説明になってないよ。
525 名前:名無し~3.EXE mailto:sage [2006/12/06(水) 01:33:08 ID:IO9adWLd] >>523 DocumentExplorerでMSDNライブラリを見るとそうなるので、 以下のバッチファイルで消してる。 www.vector.co.jp/soft/winnt/util/se396195.html
526 名前:名無し~3.EXE mailto:sage [2006/12/06(水) 08:37:07 ID:m9Lj9Fy4] >>524 横レスで悪いが、その短いファイル名を書き間違えた(長いファイル名と異なり環境によって不定だから いちいち確認し直さないと間違える恐れがある)からエラーになったという事じゃないの?
527 名前:名無し~3.EXE mailto:sage [2006/12/06(水) 12:02:50 ID:djMBOTsr] Windows2000です ホスト名をコマンドで変更できないのでしょうか? 表示はhostnameでできるみたいですが
528 名前:名無し~3.EXE mailto:sage [2006/12/06(水) 16:53:10 ID:4HPM2R2N] >>527 hostname /? を読んだか?
529 名前:名無し~3.EXE mailto:sage [2006/12/06(水) 23:31:18 ID:/1yQuGaA] >>525 情報乙。 クリック2回で1MB強・・・気付かず放置してたら・・ chmの動作も少々不安定で稀にWSHのエラーダイアログを見た。 件のDLLを差し替えてから解消。 >>523
530 名前:521 mailto:sage [2006/12/07(木) 14:46:49 ID:tZeJn9bU] >>524 初めてのバッチ処理なんで、何で失敗したのかとか成功したのかが全然わからないです。
531 名前:名無し~3.EXE mailto:sage [2006/12/07(木) 15:08:30 ID:IpBUAms4] たぶんmicros~1がMicrosoft Officeとか別のフォルダを指していたのではないかと思う。 ダブルクォーテーションを使うにしても、全体をまとめて括るのが普通だと思う。 "c:\program files\common files\microsoft shared\ime\imjp9\dicts\imjp81~1.dic"
532 名前:521 mailto:sage [2006/12/07(木) 15:36:05 ID:tZeJn9bU] xcopy /m/s/y "c:\documents and settings\ユーザー名\application data\microsoft \imjp8_1\imjp81u.dic" 最終的にこれで落ち着きました。 IMEの場所が変だったのはデフォルト以外の場所で参照していて、 デフォルトフォルダを忘れてしまっていた。 (隠しフォルダ設定になっていたため検索しても引っかからなかった。) 名前の似ているフォルダを見つけて消してしまったのかと思い、そこにIMEを移したからです。
533 名前:名無し~3.EXE mailto:sage [2006/12/07(木) 15:50:06 ID:EC5LjnO7] 最近、腕が鈍っているあなたに練習課題。 そもさん 一時ファイルを作成せずに、テキストファイルのn行目を削除して上書きするには?
534 名前:名無し~3.EXE mailto:sage [2006/12/07(木) 17:24:57 ID:GW4cVLj7] echo n行目d e | edlin テキストファイル
535 名前:名無し~3.EXE mailto:sage [2006/12/07(木) 17:54:53 ID:EC5LjnO7] >>534 上乗 知らなんだ。このスレで初出なのでは。
536 名前:名無し~3.EXE mailto:sage [2006/12/07(木) 19:17:22 ID:cfBCyQ+c] 旧式には旧式のやり方があってな
537 名前:名無し~3.EXE mailto:sage [2006/12/07(木) 20:05:30 ID:EC5LjnO7] 別解の募集は継続しておいて、別の練習課題。 そもさん バッチでsetlocalを使って処理した上で、環境変数hogeに値をセットして返すには? 同様にカレントディレクトリを変更して帰すには?
538 名前:名無し~3.EXE mailto:sage [2006/12/08(金) 00:30:37 ID:jJz4HCFd] setlocal 処理 endlocal&set hoge=値 pushd X:\hoge\hoge\hoge 処理 popd
539 名前:名無し~3.EXE [2006/12/08(金) 03:18:43 ID:pYxlA4EA] あるファイル以外を全部コピーしたいんですけど、除外するようなコマンドってありますか?
540 名前:539 mailto:sage [2006/12/08(金) 03:52:59 ID:pYxlA4EA] 自己解決しました。 ttp://www.atmarkit.co.jp/fwin2k/win2ktips/446xcopy/xcopy.html xcopy c:\usr z:\usr\ /EXCLUDE:C:\BAT\xcopy-excludelist.txt バッチファイルって便利ですね。
541 名前:537 mailto:sage [2006/12/08(金) 15:03:28 ID:ZdduNYTr] 設問が分りにくかったですね。 setlocal set /p num=加える数を入力してください set /a hoge+=num だとうまく行かない。 setlocal set /p folder=ディレクトリを入力してください cd /d %folder% これもうまく行かない それぞれ直して。という意味です。
542 名前:名無し~3.EXE mailto:sage [2006/12/08(金) 15:08:32 ID:QCa6jACi] コマンドプロンプトのデフォルトのディレクトリ を変える方法を教えてください。 Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Documents and Settings\Owner> ↑ これ
543 名前:542 mailto:sage [2006/12/08(金) 15:42:55 ID:QCa6jACi] 自己解決しました? www.fpcu.jp/dosvcmd/bbs/log/cat8/3-0427.html レジストリを弄るよりショートカットを作ったほうが安全だそうです。 私はxkeyemacsというソフトで、M-shift-1でプロンプトを呼び出して使っていますが、 そのソフトには呼び出し先の指定が出来ないのでショートカットを作っても対応できません。 Ownerにbatファイルを作って毎回起動するのが現実的かなあ。 何か他にいいアイデアありますかね?
544 名前:537 mailto:sage [2006/12/08(金) 15:56:56 ID:ZdduNYTr] 設問が分りにくかったですね。 setlocal set /p num=加える数を入力してください set /a hoge+=num だとうまく行かない。 setlocal set /p folder=ディレクトリを入力してください cd /d %folder% これもうまく行かない それぞれ直して。という意味です。
545 名前:537 mailto:sage [2006/12/08(金) 16:05:27 ID:ZdduNYTr] >>544 ごめん。みすった。 リダイレクションの練習課題 標準出力をファイル、標準エラーをパイプに。 標準出力をコンソール、標準エラーをパイプに。 標準出力と標準エラーを入れ替える。 バッチの中でコンソールにプロンプト。バッチ使用者がリダイレクトしていてもコンソールに。 set /p hoge=prompt
546 名前:名無し~3.EXE mailto:sage [2006/12/08(金) 16:10:04 ID:ZdduNYTr] >>542 そんなこと、言ったって、起こし方によるだろ。 どの起こし方のことを言ってんのさぁ?
547 名前:名無し~3.EXE mailto:sage [2006/12/08(金) 16:22:55 ID:ZdduNYTr] >>543 と思ったら書いてあったね。 しかし、そのソフトがコマンドプロンプトをどう呼び出してるかが分らなければ、 どうしようもないんじゃないの。作者に聞けば? 或いは、バイナリエディタで中を覗いて、書き換えるか。
548 名前:名無し~3.EXE mailto:sage [2006/12/08(金) 16:26:42 ID:pYxlA4EA] 偉い人、バッチの使用例などを暇なときに書き込んでくれませんか?
549 名前:名無し~3.EXE mailto:sage [2006/12/08(金) 16:30:36 ID:ZdduNYTr] >>543 名前からするとEMACS擬似みたいだから、バイナリじゃなくて、 呼び出してるマクロソースを変えればいいんじゃないの。
550 名前:名無し~3.EXE mailto:sage [2006/12/08(金) 16:47:12 ID:ZdduNYTr] hh ntcmds.chm::/redirection.htm を見ると、 ! file.txt を検索してから、Search.txt にハンドル 1 (STDOUT) とハンドル 2 (STDERR) をリダイレクトするには、次のように入力します。 ! ! findfile file.txt>search.txt 2<&1 なんて書いてあって、えっ嘘、と一瞬思うけど、やってみると動くのよね。 全くもってへぼいヘルプ。わざとだったりして。
551 名前:名無し~3.EXE mailto:sage [2006/12/08(金) 23:19:08 ID:QCa6jACi] >>549 内蔵みたいで、マクロソースが無いんですよね・・・。 諦めてショートカットつくっちゃいましたw レスありがとうございました。
552 名前:名無し~3.EXE mailto:sage [2006/12/09(土) 00:58:03 ID:KVXyeSOl] >>551 もし、呼び出しが「cmd」だけなら、 C:\Documents and Settings\Owner にcmd.cmd cmd.exe /k cd フォルダ を作る。 .exeを忘れると悲惨。 で行けるかも。駄目ならやっぱり、バイナリで書き換え。
553 名前:533 mailto:sage [2006/12/09(土) 01:01:47 ID:KVXyeSOl] 想定解答、5行目のとき @ECHO OFF FOR /F "delims=] tokens=1*" %%0 IN ('FIND /N /V "" ^<テキストファイル') DO ( IF "%%0"=="[1" TYPE NUL >テキストファイル IF NOT "%%0"=="[5" ECHO %%1>>テキストファイル )
554 名前:537 mailto:sage [2006/12/09(土) 01:14:50 ID:KVXyeSOl] >>538 正解です。 これを >>541 の問題に適用すると、こうなるわけですね。 setlocal set /p num=加える数を入力してください endlocal & set /a hoge+=%num% setlocal set /p folder=ディレクトリを入力してください cd /d %folder% pushd . endlocal popd 後半は想定外で、想定解答は、 setlocal set /p folder=ディレクトリを入力してください ( endlocal cd /d %folder% )
555 名前:名無し~3.EXE mailto:sage [2006/12/09(土) 01:24:09 ID:KVXyeSOl] >>552 他からの呼び出しがうまくないですね。 @echo off if "%1"=="" ( cmd.exe /kcd フォルダ ) else ( cmd.exe %* )
556 名前:名無し~3.EXE mailto:sage [2006/12/09(土) 01:30:05 ID:eB0nlLts] ローマ字覚えたての中学生みたいな子がいるな。
557 名前:名無し~3.EXE mailto:sage [2006/12/09(土) 09:10:12 ID:CbyQAEJO] スレタイ嫁
558 名前:名無し~3.EXE mailto:sage [2006/12/09(土) 14:57:50 ID:KVXyeSOl] >>544 をsetlocal使わずにやるには?
559 名前:名無し~3.EXE [2006/12/10(日) 13:02:38 ID:DlucxiVx] ntvdm.exeについてなんですが、 のDOS窓で16ビットVz、FILMTNなどを実行すると、CPU使用率が 常時90%以上になり、他のWindowsアプリの動作がかなり遅くなります。 ここなど読んでみたり、WindowsFAQで調べたりしましたがよくわからず、、 ttp://itpro.nikkeibp.co.jp/article/Windows/20051216/226357/?ST=win-client&P=2 昔のDOSプログラムを、CPU使用率を上げないで、Windowsで使うことは 可能でしょうか?(cygwinを使うなど) 環境はMicrosoft Windows XP [Version 5.1.2600] SP2です。
560 名前:名無し~3.EXE mailto:sage [2006/12/10(日) 13:12:11 ID:3olEl7F7] 同等のWin32ネイティブアプリ使え
561 名前:名無し~3.EXE mailto:sage [2006/12/10(日) 14:08:43 ID:DlucxiVx] そこをなんとか(´・ω・`)
562 名前:名無し~3.EXE mailto:sage [2006/12/10(日) 14:15:49 ID:aavWYyCD] Vistaからは日本語16bitアプリがサポートされなくなるし、 今の内から移行しておいた方がいいぞ。
563 名前:名無し~3.EXE mailto:sage [2006/12/10(日) 14:58:41 ID:DlucxiVx] ・・・・(´・ω・`)アイ LANに繋がってる別の古いマシンを16bit専用にします。
564 名前:名無し~3.EXE mailto:sage [2006/12/10(日) 17:17:26 ID:aid/GaYP] VirtualPC等で仮想マシン上で純粋なDOSかWin9xを動かしたら軽くなるかも
565 名前:名無し~3.EXE mailto:sage [2006/12/10(日) 19:29:07 ID:NyMIEUsg] >>563 ここで訊く話ではないのだけれど、あえて質問。 そのDOSと他のマシン(Windowsマシン?)とLANの接続方法は? 幾通りものやり方はあるけど、>>563 のところでは、どういう接続方法?
566 名前:名無し~3.EXE mailto:sage [2006/12/10(日) 22:02:12 ID:A1RkA3As] >>559 DOSプログラムへのショートカット (pif)を作って そのプロパティのその他のタブの「ほかのプログラムの優先度」を高いほうにして実行したらどうか。
567 名前:名無し~3.EXE mailto:sage [2006/12/10(日) 22:24:50 ID:DlucxiVx] >>566 これで結構緩和されました。ありがとう! >>565 ・・・・・(´・ω・`)クロスシリアル
568 名前:565 mailto:sage [2006/12/10(日) 22:57:18 ID:xLBP+58r] >>567 回答ありがとうございます。 ク、ク、クロウトシコウ(苦労と試行)じゃないや、クロスシリアル。 わかりました、たしかにケーブルさえ用意出来ればそれがいいかも。 (以前、実際やったことあるけど、とんでもなく転送速度が遅かったけど) RS-232CコネクタがついているPCはよくありますものね。
569 名前:1/2 mailto:sage [2006/12/11(月) 15:32:28 ID:XufxOd7S] コマンドプロンプト上にUTF-8でエンコードされた文字を表示することは可能ですか? Shift-JISしか表示出来ないと思っていたのですが、SP(an SGML parser : ttp://www.jclark.com/sp/index.htm)の nsgmls.exeがutf-8で出力し、文字化けせずに表示されています。僕の勘違いでしょうか? 以下が試した内容です。ファイルにリダイレクトした内容、Perlで取得したコマンドライン出力ともにUTF-8でした。 [コマンド実行前に設定した環境変数] SET SP_CHARSET_FIXED=1 SET SP_ENCODING=utf-8 [実行したコマンド] nsgmls test.dtd test.sgm XPPro sp2 SP 1.3.4 ActivePerl 5.8.8
570 名前:2/2 mailto:sage [2006/12/11(月) 15:34:41 ID:XufxOd7S] [test.dtd] UTF-8で保存 <!DOCTYPE test [ <!ENTITYend"終わり"> <!ELEMENTparam - - (#PCDATA) > <!ELEMENTtest - - (param)+ > ]> [test.sgm] UTF-8で保存 <test> <param>あいうえお&end;</param> </test> 長くなってしまいましたが、よろしくお願いします。
571 名前:名無し~3.EXE mailto:sage [2006/12/11(月) 15:41:32 ID:XufxOd7S] >>570 の訂正です。 <!ENTITY <!ELEMENT の後にはスペースが入ります。済みませんでした。
572 名前:名無し~3.EXE mailto:sage [2006/12/11(月) 18:44:17 ID:ZLM4uKIZ] type test.sgm は無理でしょ? よく知らんけど、出力先がファイルかconsoleかで区別してんじゃね〜の?
573 名前:名無し~3.EXE mailto:sage [2006/12/11(月) 20:26:07 ID:65WhWCqA] ローマ字覚えたてなもんで、作ってみました。 タイプ.CMD ファイル.txt @if(0)==(0) ECHO OFF CScript.exe //NoLogo //E:JScript "%~f0" %~f1 GOTO :EOF @end var htmlfile=WScript.GetObject(WScript.Arguments.Item(0),'htmlfile'); while(htmlfile.readyState!='complete') WScript.Sleep(100); WScript.Echo(htmlfile.body.innerText);
574 名前:名無し~3.EXE mailto:sage [2006/12/11(月) 20:41:52 ID:vjiVGkT0] >>572 ありがとうございます。出力する方法あるのかなぁ。
575 名前:名無しさん@Vim%Chalice [2006/12/11(月) 21:11:55 ID:oJSjGerR] >>569 を見て思ったんだけど 簡単にゆうと xmlparserと呼ぶんだろうか?covert txt.htmlみたいな処理 xml/atomを処理して用はtag抜きしてテキストで人が可読出きるように処 理してくれるコマンドラインツールを持ってた。 perlで処理ってのも(今はそうだけど)あるけど 単体で簡単に処理できた。 javaで出来てた。 http://〜で指定、 ローカルから指定 などができてdescriptionを吐いてくれた。 titleやlinkは吐いてくれたかどうだったか忘れたけど 消しちゃったらしく見つからない('A` 類似してるのでご存知の方いたら教えて下さいorz
576 名前:名無し~3.EXE mailto:sage [2006/12/11(月) 22:05:28 ID:65WhWCqA] テキストをHTMLに変換.CMD <テキストファイル >HTMLファイル @if(0)==(0) ECHO OFF CScript.exe //NoLogo //E:JScript "%~f0" GOTO :EOF @end var htmlfile=new ActiveXObject('htmlfile'); htmlfile.write('<html><body></body></html>'); htmlfile.body.innerText=WScript.StdIn.ReadAll(); //WScript.Echo(htmlfile.body.innerHTML); WScript.Echo(htmlfile.documentElement.outerHTML);
577 名前:名無し~3.EXE mailto:sage [2006/12/11(月) 22:41:10 ID:65WhWCqA] HTMLをテキストに変換.CMD <HTMLファイル >テキストファイル @if(0)==(0) ECHO OFF CScript.exe //NoLogo //E:JScript "%~f0" GOTO :EOF @end var htmlfile=new ActiveXObject('htmlfile'); htmlfile.write(WScript.StdIn.ReadAll()); WScript.Echo(htmlfile.body.innerText);
578 名前:名無し~3.EXE mailto:sage [2006/12/11(月) 23:19:15 ID:X2aariIn] 一つだけならテクニック披露ってことでいいけど 幾つも書かれるとさすがにうざい。(しかも大文字) 条件コンパイル文は省略してfoo.jsとでもしてくれ。
579 名前:名無し~3.EXE mailto:sage [2006/12/12(火) 01:59:22 ID:lvbiyYMD] >>1 に「WSHもOK」って書いてあるんだから無理やりbatにせんでもいいわな。
580 名前:名無し~3.EXE mailto:sage [2006/12/14(木) 09:46:39 ID:C8bcVsGQ] >>574 だから>>573 じゃ駄目なん? UTF-8、EUC、ISO-2022-JP、Unicode Big Endianは読めるけど。
581 名前:名無し~3.EXE [2006/12/15(金) 15:27:11 ID:S/zivTUD] >>580 ありがとうございます。私の為に書いて下さっていたのですね。レスが遅くなって済みませんでした。 私の説明の仕方が紛らわしかったです。UTF-8でエンコードされた文字列データを シフトJISに変換せずに出力し、正しく(文字化けせずに)表示することが可能なのか知りたかったのです。 例えば、UTF-8で平仮名の'あ'は16進表記で'E3,81,82'という並びになりますよね? このようなデータをそのまま標準出力に出力すると、データをシフトJISとして解釈して、 コマンドプロンプト上には'縺・'と表示されてしまうと思っていたのですが、 上記nsgmls.exeの出力では'あ'と表示されているようなので不思議に思い質問させていただきました。 そもそも、リダイレクトしたデータがUTF-8でエンコードされた文字列データだとしても、 標準出力に出力された文字列がUTF-8でエンコードされていたとは限らないのでしょうか? それとも、>>572 さんが仰っているように内部で出力先を判断することが可能なのでしょうか? >>573 を試してみました。WSHはよく分からないのですが、シフトJISに変換して出力されていますよね? 僕の知識不足や勘違いでしたらごめんなさい。
582 名前:名無し~3.EXE mailto:sage [2006/12/15(金) 17:24:28 ID:WQ0VQ89P] >>581 >>573 の末行を以下に変えると、Unicodeで出力します。 new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1,true).Write(htmlfile.body.innerText); これで、コンソールに出すと、Unicodeがちゃんと表示されます。 でもUTF-8は無理そう。 やり方は知りませんが、コンソールかどうかの判定ができのでは。
583 名前:名無し~3.EXE mailto:sage [2006/12/15(金) 18:11:02 ID:S/zivTUD] >>582 本当だ、表示されました。きっと何かあるんですね。 ありがとうございました。
584 名前:名無し~3.EXE [2006/12/16(土) 19:10:41 ID:8R61Kbto] いきなりですみませんが、アドバイスしていただきたいことがあります。 あるバッチファイルを実行したいときに、ファイルアイコンをダブルクリックした場合や、 あらかじめ開いてあるコマンドプロンプトでバッチファイルのフルパスのみを入力した 場合には普通に実行できるのですが、コマンドプロンプトやスタートメニューの 「ファイル名を指定して実行」で"cmd.exe (バッチファイルのフルパス)"と入力しても "cmd.exe"が起動するだけでバッチファイルの中身がまったく実行されません。 (フルパスを""で囲み忘れているということはありません) バッチファイルの内容が"@pause"しかない場合でもうまくいかず、原因がまったく 分からず困っています。どなたか思い当たることなどありましたらレスお願いします。 こちらの環境はWinXP Pro SP2です。管理者権限のユーザでログインしています。
585 名前:名無し~3.EXE [2006/12/16(土) 19:20:49 ID:sMjQ//iN] cmd /c "CALL (バッチファイルのフルパス)" では駄目?"
586 名前:名無し~3.EXE mailto:sage [2006/12/16(土) 19:23:31 ID:WY7hZ9i6] callって必要?
587 名前:名無し~3.EXE mailto:sage [2006/12/16(土) 19:42:41 ID:vxaOUO5b] そもそもcmdから呼ばなければいけないのか?
588 名前:名無し~3.EXE mailto:sage [2006/12/16(土) 19:58:17 ID:2dLQ97yA] そもそも、なんでcmd/?しないんだ?
589 名前:584 mailto:sage [2006/12/16(土) 21:01:04 ID:8R61Kbto] レスありがとうございます。無事できました。callはあってもなくても大丈 夫でした。 /cをつけなければならないのと、/cの引数に直接パスが指定できるのを 知らなかったため悩んでしまいました。お手数おかけしました。
590 名前:名無し~3.EXE mailto:sage [2006/12/17(日) 01:04:04 ID:Q+y26mBo] 特定の場所にあるファイルを、バッチを呼び出されるたびにFTP先に「移動」したいです。 いきなり移動は出来ないでしょうから、コピーと削除を組み合わせて作りたいと考えています。 フリーソフト「FFFTP」のコマンドラインでアップロード機能を呼び出し、 特定のディレクトリにあるファイルを自動アップロードすることは出来ました。 ところがこの方法では問題があり、転送が成功した・失敗したときの判別が できないため、転送元のファイルを安全に削除することが出来ません。 また、FTP接続が途中で途切れることが多く、接続先に中途半端な ファイルサイズの異常ファイルが出来てしまい、目視で確認しながら削除しています。 このような動作を、MS謹製のFTPコマンドで自動化できないでしょうか。 下記の動作をさせたいのですが、これをコマンドorバッチで行うには どのように記述すればよいでしょうか。 ・ディレクトリAにある全ファイルを、FTP接続先のディレクトリBにすべてコピー ・FTP接続先のBに転送したファイルと、転送元のファイルサイズを比較する ・ファイルサイズを元に、正常に移動できたと判断できるファイルは、ディレクトリAから削除 ・ファイルサイズが異なっている場合は、異常転送ファイルと見なし、再度転送する。 ・全部のファイルを転送したら、バッチを終了。 FTPアドレス C.com アカウント DDD パスワード EEE 転送ファイルの種類:テキスト SSL:なし OSは2Kです。BATでもwshでもかまいません。どうかよろしくお願いします。
591 名前:名無し~3.EXE mailto:sage [2006/12/17(日) 16:15:10 ID:+i+SBATY] サウンドとオーディオデバイスのプロパティ>オーディオ>音の再生 を任意のデバイスに切り替えたいのですがそのコマンドはどう書けばいいのでしょうか? Control.exe Mmsys.cpl,,2 これ以降が分かりません。
592 名前:名無し~3.EXE [2006/12/17(日) 18:46:32 ID:ahAVL3DJ] えーといろいろ探しててここに流れ着いたんだが、 おまいらコマンドプロンプトの文字色と背景色何にしてる? MySQLとか叩くので見易さの配色を追求したいのだが、 あっても、背景を明るく、文字を濃い色でっつうヒントしかない。 ヒントください。
593 名前:名無し~3.EXE mailto:sage [2006/12/17(日) 19:28:06 ID:WscTpZLE] color ce
594 名前:名無し~3.EXE mailto:sage [2006/12/17(日) 20:24:53 ID:H4aSBfXu] COLOR コマンドは、Windows2000、XPからです。 Win95/98をお使いの方は、例えば「窓の手」などを使えば出来ます。
595 名前:名無し~3.EXE mailto:sage [2006/12/17(日) 20:55:42 ID:rBykiDhm] 95/98ではpromptで設定してたなぁ prompt $e[;33;1;40m$p$g
596 名前:名無し~3.EXE mailto:sage [2006/12/19(火) 16:11:42 ID:Iyp0VyJJ] consoleおもすろ
597 名前:名無し~3.EXE mailto:sage [2006/12/19(火) 17:09:29 ID:1Fdabpp+] >>consoleおもすろ あれでKDEのkcomsoleとかmacのあれとかscreenばり に使えるなら最高なのにね 残念で泣けてくる なんて重いんだ。cygwinがサクサクじゃないか なぜに.Netのような もっさーで 凶過負荷な処理なんだ ほんとwinのコマンドプロントはあれ 処理がもの凄く重い たまに使うけどね。常用する気になれないよなぁ 素のプロントにもどたよ。 したければcygwin入れるのがいいと思う。 比べてもの凄く軽くて驚愕('A`
598 名前:名無し~3.EXE mailto:sage [2006/12/19(火) 20:11:59 ID:HVfooesm] なに言いたいのか分かんねーよ。 素のプロントとかコマンドプロントとか何だよ。意味わかんねーから。プロンプトだろ。 要するに『cygwin良いよ』てことだろ?ならそー書けって。無駄多すぎ。95点。
599 名前:名無し~3.EXE mailto:sage [2006/12/19(火) 20:14:55 ID:dxr5JYH7] >>598 95点もやるのか? 60点あれば充分じゃん。(大甘だけどな)
600 名前:名無し~3.EXE mailto:sage [2006/12/19(火) 20:21:17 ID:S/+BR6iP] > ほんとwinのコマンドプロントはあれ > 処理がもの凄く重い > したければcygwin入れるのがいいと思う。 > 比べてもの凄く軽くて驚愕('A` 矛盾していると思うのは自分だけ?
601 名前:名無し~3.EXE mailto:sage [2006/12/19(火) 22:55:14 ID:U7ZLqMIR] >>599 小数点付け忘れてねえか?
602 名前:599 mailto:sage [2006/12/20(水) 00:04:47 ID:GNDOcEV8] 正直なところ(内心評価)、100点満点で、0.60点ってところかな。 一応合格っていうことにすれば、60点(合格基準)っていっただけ。 本当は合格どころじゃないんだけどな。
603 名前:名無し~3.EXE mailto:sage [2006/12/20(水) 00:32:01 ID:eaArVi2n] よく分からんが、.NETとか出てるところから推測すると 常用できない重いコマンドプロンプトってのは少し上で出てた例のアレで それを使うくらいならlinuxの方にしとけってことを言ってるのかな?
604 名前:名無し~3.EXE mailto:sage [2006/12/20(水) 04:04:40 ID:y3J2eMDr] PowerShellの話か? あれは確かに初期化で時間食うから使うの止めた
605 名前:名無し~3.EXE mailto:sage [2006/12/21(木) 01:22:15 ID:og2psukl] 管理者権限でログオンしているかどうか調べるにはどうしたらいい? ローカル・ドメイン両方で使えるやつを頼むよ。
606 名前:名無し~3.EXE mailto:sage [2006/12/21(木) 02:13:10 ID:n0KXcipt] net user net group / net localgroup じゃダメ?
607 名前:名無し~3.EXE mailto:sage [2006/12/21(木) 22:53:35 ID:og2psukl] バッチでやるなら、こんな感じ? 検証はしてないが・・・ NET LOCALGROUP ADMINISTRATORS | FIND "%USERNAME%" >NUL IF NOT ERRORLEVEL 1 ( ECHO 管理者権限を持つユーザと認識しました ) ELSE ( NET GROUP ADMINISTRATORS 2>NUL | FIND "%USERNAME%" >NUL IF NOT ERRORLEVEL 1 ( ECHO NTドメイン環境の管理者権限を持つユーザと認識しました ) ELSE ( echo 管理者権限の無いユーザでログオンしています ) )
608 名前:名無し~3.EXE mailto:sage [2006/12/22(金) 04:11:55 ID:Gts2GbNx] そのユーザー名が ローカルではAdministratorsに、グローバルではDomain Usersに所属してるとすると (ごく普通のケース) 今そのユーザー名でローカルにログインしてるのか ドメインサーバーにログインしてるのかをまず切り分けなきゃ。
609 名前:605 mailto:sage [2006/12/22(金) 20:48:14 ID:XuMQmg9z] 何だか難しそう・・・orz 調べれば調べるほど敷居が高く感じる・・・(汗) サンプルがあるといいのだが・・・
610 名前:名無し~3.EXE mailto:sage [2006/12/22(金) 21:30:25 ID:Cv8wg2nv] コンピュータ名とホスト名の付け方が特殊だと駄目かもしれないけど、 if "%LOGONSERVER%"=="\\%COMPUTERNAME%"で判別可能かも。 もしくはwhoamiコマンドとか。 あと、漏れが昔やったことあるのは、対象のマシンが特定できる環境 だったので、管理共有から中が見れるかどうかで判別したことがある。 >今そのユーザー名でローカルにログインしてるのか >ドメインサーバーにログインしてるのかをまず切り分けなきゃ。 日本語的にすごく違和感感じた。 「ローカルのユーザーでログオンしてるのか ドメインのユーザーでログオンしてるのか」 と書いたほうがいいと思った。
611 名前:名無し~3.EXE mailto:sage [2006/12/23(土) 00:06:20 ID:TSxTwauU] net gruop このコマンドは Windows ドメイン コントローラでのみ使用できます。 ダメじゃん。使えね。
612 名前:名無し~3.EXE mailto:sage [2006/12/24(日) 23:50:47 ID:rAnywQRM] at
613 名前:名無し~3.EXE mailto:sage [2006/12/25(月) 00:11:41 ID:ChhrdGK3] >>612 AT...O・・・? ATO? 後、10分でイブが終わるとか?
614 名前:名無し~3.EXE mailto:sage [2006/12/25(月) 03:51:26 ID:VXU/kg7V] >>611 net group /domain
615 名前:名無し~3.EXE mailto:sage [2006/12/26(火) 12:49:58 ID:y+kCCyOO] チラ裏・・・備忘録 Cドライブ直下に今日の日付のフォルダを作成する。 @echo off echo チラ裏にでも書いてろ for /f "tokens=1,2,3* delims=/ " %%i in ('date /t') do (set yyyy=%%i& set mm=%%j& set dd=%%k) for /f "tokens=1,2* delims=:" %%i in ('time /t') do (set hh=%%i& set nn=%%j) md "C:\%yyyy%年%mm%月%dd%日%hh%時%nn%分\" echo>>"C:\%yyyy%年%mm%月%dd%日%hh%時%nn%分\Log.txt"フォルダを作成しました。 pause
616 名前:名無し~3.EXE mailto:sage [2006/12/28(木) 09:10:35 ID:5F6FvSdu] >615 MKDIR "C:\%DATE:~-10,4%年%DATE:~-5,2%月%DATE:~-2%日"
617 名前:名無し~3.EXE mailto:sage [2006/12/28(木) 16:01:59 ID:iTWT+95w] >>615 日替わり時の考慮
618 名前:名無し~3.EXE mailto:sage [2006/12/28(木) 18:40:48 ID:hfOxm6M9] >>616 C:\06/1年/2月 木日
619 名前:名無し~3.EXE mailto:sage [2006/12/28(木) 22:44:23 ID:iTWT+95w] MD $$$ FOR %%0 IN ($$$) DO FOR /F "tokens=1-5 delims=/: " %%1 IN ("%%~t0") DO REN $$$ %%1年%%2月%%3日%%4時%%5分
620 名前:名無し~3.EXE mailto:sage [2006/12/29(金) 02:49:52 ID:iPyKEow9] >>615 for /f "tokens=1,2,3* delims=/ " %%i in ('date /t') do (set yyyy=%%i& set mm=%%j& set dd2=%%k) for /f "tokens=1,2* delims=:" %%i in ('time /t') do (set hh=%%i& set nn=%%j) for /f "tokens=1,2,3* delims=/ " %%i in ('date /t') do (set yyyy=%%i& set mm=%%j& set dd=%%k) if not %dd2%==%dd% for /f "tokens=1,2* delims=:" %%i in ('time /t') do (set hh=%%i& set nn=%%j) >>616 SET DT=%DATE% MKDIR "C:\%DT:~-10,4%年%DT:~-5,2%月%DT:~-2%日"
621 名前:615 mailto:sage [2006/12/29(金) 15:45:58 ID:cLdyRAMk] >>616-620 いろいろコメント頂き感謝してます。・・・が、当方の理解不足のため返事に困ってます。 >>615 は拾ってきたもので、まだ消化不良のネタです。 暫く勉強して、出直します。
622 名前:名無し~3.EXE mailto:sage [2007/01/10(水) 13:31:28 ID:1Ujtu0BX] 質問です。 foo.exe の標準出力をプロンプトウィンドウとテキストファイルの両方に出力したいのですが、どうすればいいでしょうか? ただし、foo.exe は重い処理なので出力されていく様をリアルタイムに確認できるのが条件です。 なので、 foo.exe>log.txt type log.txt ではダメです。どうかお知恵をお貸しください。
623 名前:名無し~3.EXE mailto:sage [2007/01/10(水) 15:47:00 ID:eDrPJ7tb] 適当な tee を拾ってくればいい
624 名前:名無し~3.EXE [2007/01/12(金) 01:55:50 ID:fkJWsIgg] 最小化?というか、DOS窓を開かないで実行する方法は、ないでしょうか。 start /wait notepad のようにすると、ノートパッドが立ち上がっている間、DOS窓が開き、 タスクバーにも出てしまいます。 バッチファイルじゃなくても可です。 なんとかする方法はないでしょうか?
625 名前:名無し~3.EXE [2007/01/12(金) 02:28:53 ID:fkJWsIgg] えっと、ショートカットを作って、最小化で起動すると、ウインドウはでないのですが、 タスクバーに残ってしまいます。
626 名前:名無し~3.EXE [2007/01/12(金) 02:40:51 ID:fkJWsIgg] shell = WScript.CreateObject("WScript.Shell"); shell.Run("notepad.exe run.js", 1, true); WScript.Echo("スクリプトを終了します。"); なんか、普通にwshでやった方が早そうですねw
627 名前:名無し~3.EXE mailto:sage [2007/01/12(金) 02:40:58 ID:KeWhhVwN] >>624 プロンプトからnotepadを起ち上げて、しかもプロンプトは消したい、ということだろうか? start notepad exit みたいなバッチってことか?
628 名前:名無し~3.EXE [2007/01/12(金) 02:51:09 ID:fkJWsIgg] >>627 なんですけど、終了を待ちたいのです。
629 名前:名無し~3.EXE [2007/01/12(金) 02:52:13 ID:fkJWsIgg] あとついでに質問。 wshを実行ファイル形式にできないでしょうか WSH用コンパイラ+ってのを見つけたのですが、作者のサイトがなくなってました orz ベクターも消えてるし・・・
630 名前:名無し~3.EXE mailto:sage [2007/01/12(金) 15:22:13 ID:mqTvRoc6] >>628 cmd /c "notepad.exe"
631 名前:名無し~3.EXE mailto:sage [2007/01/12(金) 17:54:16 ID:qP/ay6UR] >>629 こっちのヤツじゃダメなん? ttp://www.vector.co.jp/soft/win95/prog/se277804.html
632 名前:名無し~3.EXE [2007/01/12(金) 19:48:57 ID:SSoVDVD9] 結局、>>626 の方法でやってしまいました。 >>631 エラーが出てまともに使えません
633 名前:名無し~3.EXE mailto:sage [2007/01/13(土) 03:47:27 ID:kPVhqETK] >>9 たとえばフォルダ内にパッチが幾つもあって dirでそれらをリストにするかして それらにコマンドラインをくっつけて一括で実行するにはどうしたらいいの? 種類ごと大雑把だけどこんな感じにリストを吐き出せたけど dir Q*.exe /b>Qlist.txt dir Windows2000*.exe /b>Wlist.txt そっから先わからんちん
634 名前:名無し~3.EXE mailto:sage [2007/01/13(土) 09:18:10 ID:bfcWSwa4] echo @echo off > KBlist.bat dir Windows*KB*.exe /b >> KBlist.bat 編集で.exeを.exe -n-z-qにすべて置換 こんなことしか思いつきません・・・
635 名前:名無し~3.EXE [2007/01/13(土) 10:03:27 ID:SuZfHdbT] 素人ですが教えてください。 あるソフトを起動するbatファイルを作成したのですが、 そのソフトを起動したらbatファイルを勝手に閉じたいのですが コマンドがわかりません。 どなたか教えてください。
636 名前:名無し~3.EXE mailto:sage [2007/01/13(土) 11:56:19 ID:+F6wFcR9] >>635 >>627
637 名前:名無し~3.EXE [2007/01/13(土) 12:08:16 ID:SuZfHdbT] 635です。 637でうまく行きました。 ありがとう。
638 名前:名無し~3.EXE [2007/01/13(土) 23:46:49 ID:BdlKHbf+] 詳しい方が多いようなので教えてください。 内容はと言うと、Cドライブに帳票というフォルダがあります。 このフォルダの中には、080101帳票 080102帳票 ・・・・等 毎日作成されるエクセルファイルがたまっています。 そして、そのフォルダの中の一番新しいファイルをAドライブの フロッピーディスクに、帳票という名前に変えてファイルをコピーする BATファイルを作りたいのです。 どうぞ宜しくお願いします。
639 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 00:11:43 ID:ML+aCZll] @echo off for /f %%i in ('dir /o-n /b C:\帳票\*帳票.xls') do ( echo "%%~fi" A:\帳票.xls goto :eof )
640 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 00:13:17 ID:ML+aCZll] echo → copy /y
641 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 00:46:26 ID:DGqWZ2TH] >>639 ありがとうございます。 @echo off for /f %%i in ('dir /o-n /b C:\帳票\*帳票.xls') do ( copy /y "%%~fi" A:\帳票.xls goto :eof ) >>640 も合わせて ↑ こんな感じなのでしょうか? 試してみたのですが、どうもうまく動きません・・OTL...オバカですんません
642 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 00:51:31 ID:ML+aCZll] そうですか、それは残念。
643 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 00:56:23 ID:DGqWZ2TH] 見捨てないで・・・OTL
644 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 01:30:14 ID:4ceN/aT3] @echo off for /f "usebackq" %%i in (`dir /o-n /b "C:\帳票\*帳票.xls"`) do ( copy /y "%%~fi" A:\帳票.xls goto :eof ) :eof でどうだろう
645 名前:638 mailto:sage [2007/01/14(日) 01:44:50 ID:DGqWZ2TH] >>644 一瞬コマンドプロンプトの黒い窓が見えるだけで何も起こりません・・・。 私の環境に問題があるのかなぁ・・・・OTL これからリカバリーディスクぶち込んでみますので、しばらく落ちます
646 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 01:45:37 ID:DGqWZ2TH] ホント申し訳ないです。すみません。
647 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 01:53:00 ID:ZJ4t0Fvk] >>646 >一瞬コマンドプロンプトの黒い窓が見えるだけ goto :eofの前に一行pauseって入れてみれば。 ってかA:\の中身を確認してみなよ。
648 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 15:46:52 ID:JTXqH0CO] fsutil hardlink create 既存のファイル 作成したい新しいファイル で、WindowsXPでもハードリンクが作成できますが、これを 1.既存のファイルの所に指定したディレクトリ以下の全てのファイルを対象とし 2.作成したい新しいファイルを他のディレクトリ内に1.で指定したファイルを全て 同じファイル名でハードリンクを作成したいのですが、どうしたらいいですか? fsutil hardlink create "D:\IE_Temp\Temporary Internet Files\*" "D:\集める" fsutil hardlink create "D:\temp\*" "D:\集める" D:\IE_Temp\Temporary Internet Files\ フォルダの中の全てのファイルを D:\集める\ フォルダの中に同じファイル名でハードリンクを張りたいのです。 D:\temp\ フォルダの中の全てのファイルを D:\集める\ フォルダの中に同じファイル名でハードリンクを張りたいのです。 これを複数のフォルダ登録してbatファイルで処理したいのですが、うまくいきません。 C:\test>fsutil hardlink create "D:\temp\*" "D:\集める" エラー: ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っていま す。 C:\test>fsutil hardlink create "D:\IE_Temp\Temporary Internet Files\*" "D:\集め る" エラー: ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っていま す。 このようになってしまいます。指定の仕方がおかしいんだと思いますが、どうすれば いいのでしょうか? delコマンドとかだと echo Y | del \temp\* とかでOKなのですが・・・
649 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 15:52:49 ID:ML+aCZll] for %i in (D:\TEMP\*) do fsutil hardlink create %i D:\集める\%~ni
650 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 15:59:35 ID:JTXqH0CO] >>649 上手くいきませんねぇ・・・ ラストの %~ni ってなんですか?
651 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 16:01:04 ID:bJYSSOCA] for /?
652 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 16:10:41 ID:JTXqH0CO] >>651 grepもlessも無いのにコマンドプロンプトのヘルプとか読む気がしないOTL
653 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 16:12:38 ID:JTXqH0CO] いや、ごめんね for /? > for.txt してメモ帳で見た。 %~nI - %I をファイル名だけに展開します。 これだけじゃよくわからんよ・・・・
654 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 16:13:20 ID:KhCYvvtR] パイプを知っているのにリダイレクトを知らんとな
655 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 16:15:47 ID:ZJ4t0Fvk] 他OSアレルギーてやつですな 645のその後が気になるがふっとんじゃったんだろか
656 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 16:16:45 ID:ML+aCZll] >>650 BATの中に書くのなら % → %% に。
657 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 16:18:53 ID:ML+aCZll] つーか %~nxi だな。
658 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 16:30:47 ID:JTXqH0CO] じゃあbatの中に書くので for %%i in (D:\TEMP\*) do fsutil hardlink create D:\集める\%%~ni %%i って事?
659 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 16:39:14 ID:iKJbxj82] do echo fsutil ・・・ にして実行してみりゃいいじゃん
660 名前:645 mailto:sage [2007/01/14(日) 18:16:25 ID:DGqWZ2TH] >>647 645です。 復活に手間取っておりました・・・ノートンノバカ...いや私ですね・・・OTL アドバイス通りに試してみました。すると、「指定したファイルが みつかりません」と表示されて、エンターキー連打で終了します。 Aドライブには何も入りません・・・・ いろいろ面倒かけちゃって済みません。 ペコリ
661 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 18:39:17 ID:4ceN/aT3] >>660 @echo off for /f "usebackq" %%i in (`dir /o-n /b "C:\帳票\*帳票.xls"`) do ( copy /y "%%~fdpnxi" A:\帳票.xls goto :eof ) :eof ならどうだろう?(未検証だが)
662 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 18:49:53 ID:ZJ4t0Fvk] 目当てのフォルダ以外で実行すると失敗するっぽい 原因究明めんどくさいので>>644 .batをC:\帳票に放り込んでおいて もう一つ任意のフォルダにバッチファイル作ってcall ">>644 .bat" で。
663 名前:645です mailto:sage [2007/01/14(日) 19:19:05 ID:DGqWZ2TH] >>662 うぉお〜動いたーと思ったのですが、動いたんです確かに。 しかしながら、C:\帳票に入ってる帳票のファイルの数だけ Aドライブの帳票.xlsを上書きしようとします。一番新しいヤツだけ コピーできたら完璧なんですが・・・・わがまま言って申し訳ないです。
664 名前:名無し~3.EXE [2007/01/14(日) 19:25:59 ID:DGqWZ2TH] うわぁぁ!すみません。>>644 .batの記述を 見逃していました!! うまく動きました〜!! 完璧です。。うれしいです。。 またなにかお世話になるかも・・・・って少しは勉強します 本当にありがとうございました。。。
665 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 19:39:53 ID:ZJ4t0Fvk] >>664 おめでと。 >>644 でも"%%~fi"じゃなくて"C:\帳票\%%i"だとうまく行くから何か悪さしてるかね。
666 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 20:37:06 ID:JTXqH0CO] 本当にわけがわからなくなってきました。 D:\a以下のファイル及びフォルダをD:\b以下に全コピー、しかしハードリンクでやるので容量は 全く食わない。そういうことをやりたいんですが、、、結局どうしたら? for %i in (D:\a\*) do fsutil hardlink create d:\b\%~nxI %i って事なの?モニュ・・・
667 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 20:37:28 ID:ML+aCZll] サブフォルダが無いなら dir /o-n /b /s C:\帳票\*帳票.xls にすればフルパスになるけど・・・
668 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 21:02:41 ID:JTXqH0CO] for %i in (D:\a\*) do fsutil hardlink create d:\b\%~nxi %i これだと1つの階層内のファイルに対してしか出来ないね。 再帰的にその下のフォルダにもかけていきたいんだけど、どうすりゃいいの?モニュ・・・
669 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 21:07:37 ID:ML+aCZll] >>668 こんなんでどう? もっと簡単にできるかな? @echo off setlocal enableextensions enabledelayedexpansion set SRC=D:\a set DEST=D:\b xcopy /t /e /y "%SRC%" "%DEST%" for /f "delims=" %%I in ('dir /s/b/a-d "%SRC%\*"') do ( set FILE=%%I set FILE=!FILE:%SRC%=%DEST%! FSUTIL hardlink create "!FILE!" "%%~I" )
670 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 21:15:09 ID:JTXqH0CO] >>669 い、、、意味がわからんぜよ・・・。 そのスクリプト何してるか全然分からない・・・解説キボンヌ・・・
671 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 21:15:23 ID:ML+aCZll] for /r "%SRC%" %%I in (*) do ( のほうが素直だね。
672 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 21:24:43 ID:ML+aCZll] @echo off : 拡張機能と環境変数の遅延展開を有効に setlocal enableextensions enabledelayedexpansion : フォルダを変数にセット set SRC=D:\a set DEST=D:\b : フォルダ構造だけコピー xcopy /t /e /y "%SRC%" "%DEST%" : サブフォルダも再帰的にfor for /r "%SRC%" %%I in (*) do ( set FILE=%%I : ファイルパスの中のSRCをDESTに置換 set FILE=!FILE:%SRC%=%DEST%! FSUTIL hardlink create "!FILE!" "%%~I" )
673 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 21:35:27 ID:ZJ4t0Fvk] >>667 ぐは、パスの深いそうで試してて気付かなかった自分アホス…ごめんよID:DGqWZ2TH >>670 確かXP標準のハードリンク作成機能じゃフォルダには適用できなかったような こんなのはあるけれど ttp://www.vector.co.jp/soft/winnt/util/se184746.html
674 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 21:36:59 ID:/esMqGsV] >>673 リンクにしたいのはファイルだけでフォルダは普通に作るんでしょ
675 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 21:40:46 ID:JTXqH0CO] >>672 ご丁寧にありがとうございます。 Linuxのシェルスクリプトとはだいぶ勝手が違って戸惑っています。 : でコメントにもなるんですね、コピペしても動作します。 変数の中身を参照するにはLinuxだと${SRC}ですが、batファイルだと "%SRC%"なんですね。 とりあえずこれで、自分が同期したいフォルダに set SRC=D:\a set DEST=D:\b の二行を書き換える事でやりたい事が実現できます。本当にありがとうございます。 しかしソース自体に手を加えるのは正直ちょっと怖かったりもします。 日本語のフォルダ名とか大丈夫かなぁ・・・ なので、もし可能ならで構いませんので、 hardlink.bat SRC DEST というように引数を2つ与えて目的のフォルダを同期できないでしょうか? それならソースをいじって書き直す必要がなくなるんですが・・・難しいかな? DOSのbatがどれほどの事が出来るのか知りませんが、LinuxのCUIよりはるかに 低機能だと聞いたもので・・・
676 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 21:42:20 ID:ZJ4t0Fvk] >>674 あーよく読んでなかった、馬鹿は退散しよう
677 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 21:43:18 ID:JTXqH0CO] >>673 そのソフトはハードリンクについて調べているときに既に見つけてますが 私がやりたい事は、この作成して頂いたbatファイルをWindowsXP標準の タスクスケジューラにかけて、3時間に1回実行とか、1日に1回実行とか そういう風にやりたいんです。これで定期的にバックアップが取れるので。 >>674 その通りです。
678 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 21:45:40 ID:ML+aCZll] >>675 if "%~2"=="" goto :eof set SRC=%~1 set DEST=%~2 日本語までは知らん。 それとbatからbat呼ぶ時はcallしろよ
679 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 21:50:33 ID:ML+aCZll] それと「 : 」はコメントじゃなくてラベルだ。 コメント書くのは反則技だからちゃんと rem 使った方がいいぞ。 つか、バックアップの意味あるのか?
680 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 21:52:17 ID:bJYSSOCA] cp -R -d -l ってやっちゃいたいところだ
681 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 21:55:04 ID:/esMqGsV] > それと「 : 」はコメントじゃなくてラベルだ。 > コメント書くのは反則技だからちゃんと rem 使った方がいいぞ。 えー結構使ってるのに 「 : 」の後に空白入れておけば間違ってジャンプする危険もないし > つか、バックアップの意味あるのか? ハードリンクは同じドライブにしか作れないし実体が壊れたら 「バックアップ」も壊れるしどう考えても意味ありません
682 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 21:56:30 ID:JTXqH0CO] >>678 その3行をさっき作って頂いた.batファイルの先頭に記述したら良いという事では 無いのですか?そのファイルを別個.batに保存して、そのファイルからcallで呼び出して やらないとだめですか?もしそうならファイルが2つになるのは嫌なので ソースをいじった方が楽になっちゃいますけど、、、1つのファイルで引数ってムリデスカ? 日本語通りました。「んっふっふーw」とか「これはききましたよぅ〜」とか変な日本語の フォルダ作って実行してみたらきちんといけてますw Windowsは日本語に強いなぁ・・・ >>679 >つか、バックアップの意味あるのか? これだけだと意味がないですが、そこはそれ、LinuxのBackupシステムが待ち受けています。 それと連動させれば素晴らしいバックアップシステムが出来上がります。 @echo off rem 拡張機能と環境変数の遅延展開を有効に setlocal enableextensions enabledelayedexpansion rem フォルダを変数にセット set SRC=D:\a set DEST=D:\b rem フォルダ構造だけコピー xcopy /t /e /y "%SRC%" "%DEST%" rem サブフォルダも再帰的にfor for /r "%SRC%" %%I in (*) do ( set FILE=%%I rem ファイルパスの中のSRCをDESTに置換 set FILE=!FILE:%SRC%=%DEST%! FSUTIL hardlink create "!FILE!" "%%~I" ) rem使えってこういうことですかね。
683 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 22:00:29 ID:JTXqH0CO] >>680 .batファイルだとこれだけ苦労していますが、確かにLinuxなら $ cp -Rl /a /b /* -dは要るかな? */ で一発で出来ますね。それをcronで回すだけw。 ヤバイ!本当にLinuxのCUIって素晴らしいんだと今実感した瞬間wwww DOSのCUIしょぼすwwwww 参考:-dオプションの解説 -d, --no-dereference シンボリックリンクをコピーする場合、シンボリック リ ン クが指しているファイルをコピーするのではなく、シ ンボリックリンクとしてコピーする。また、コピー元 で の ハードリンクはコピー先でもハードリンクとして保持 される。
684 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 22:06:33 ID:ML+aCZll] >>682 set SRC=D:\a set DEST=D:\b の2行を次の3行に痴漢するだけでいいよ if "%~2"=="" goto :eof set SRC=%~1 set DEST=%~2 callしるといったのは、たとえば3つコピーしたいなら次のようなbatかけって事。 call 省略するとひとつめしか実行されないからね。 @echo off call hardlink.bat "D:\aaa" "D:\back\aaa" call hardlink.bat "D:\bbb" "D:\back\bbb" call hardlink.bat "D:\ccc" "D:\back\ccc"
685 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 22:42:24 ID:ML+aCZll] これちゃんとハードリンクもサポートしてるな。 ttp://www.ossh.com/gnu-win32/cp.exe
686 名前:名無し~3.EXE mailto:sage [2007/01/14(日) 22:44:08 ID:/esMqGsV] つーかCygwinでいいじゃん もはやスレ違いだけど
687 名前:名無し~3.EXE [2007/01/15(月) 12:50:47 ID:JZ8tDTCV] コマンドライナーは、cygwin入れるのは必須だと思ってたが・・・
688 名前:名無し~3.EXE mailto:sage [2007/01/15(月) 20:35:49 ID:sOENVtLv] >>687 業務だとそうもいかんでしょ
689 名前:名無し~3.EXE mailto:sage [2007/01/15(月) 21:09:11 ID:O2bsbprp] だから標準のコマンドだけでなんとかまかなう技が重宝されるわけで。 もっとも>>1 をよく見直したら > wsh(cscript)、cygwin、Resource Kit、Support Tools、その他のフリーソフト等ふくめ > コマンドラインインタフェースに関するネタならなんでもOK。 スレ違いでもなかったのか
690 名前:名無し~3.EXE mailto:sage [2007/01/15(月) 21:56:18 ID:LA72L3Es] そもそもLinuxなBackupSystemなるものがあるのなら 市販バックアップソフトでも買ってSamba領域へ放り込む けどな。手段と目的が錯綜してるべ。
691 名前:名無し~3.EXE [2007/01/21(日) 16:36:33 ID:Fh16rOUX] 誘導されてきました WinXPのDOS窓で壁紙の変更したいので regedit /E \\HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper D:\abc.bmp としたのですが、変化ありません やりかた教えてください
692 名前:名無し~3.EXE mailto:sage [2007/01/21(日) 17:21:49 ID:amfxJQxk] レジストリ書き換えてもそのレジストリを誰が読むか考えれ 普通はAPIで壁紙を変更する
693 名前:名無し~3.EXE mailto:sage [2007/01/21(日) 17:27:34 ID:HIyMH95U] >>691 レジストリを変更するだけなら、これで変更できるよ。ただ、画面には反映されない。 画面のプロパティ>デスクトップ には反映される。 REG ADD "HKCU\Control Panel\Desktop" /f /v ConvertedWallpaper /t REG_SZ /d "C:\砂浜.JPG"
694 名前:名無し~3.EXE mailto:sage [2007/01/21(日) 18:30:16 ID:eMwqitJ2] レジストリを変更した後、これすれば RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters
695 名前:名無し~3.EXE mailto:sage [2007/01/21(日) 18:40:15 ID:HIyMH95U] >>694 ここを見て、そのコマンドを使ってみたけど、 ttp://www.jsifaq.com/SF/Tips/Tip.aspx?id=10732 うちの環境では変更できなかったよ。そちらはどう?
696 名前:名無し~3.EXE mailto:sage [2007/01/21(日) 18:53:24 ID:Fh16rOUX] >>694 レスありがとうございます うまくいきました
697 名前:名無し~3.EXE mailto:sage [2007/01/21(日) 18:58:20 ID:0GAiR7Wm] DaemonToolsスレ過疎ってるのでここで質問させてください。 ふとプロンプトでnetstat -anbv打ったら、daemon(ver3.47)の仮想ドライブが「ディスクがありません」と怒られまくりました。 どうやらイメージをマウント→アンマウント後にプロンプトでcpu100%になるような負荷が大きい作業すると起こるみたいです・・・ PC再起動すれば直るんだけど一度でも何かをマウントすると再発します。 原因はなんでしょう?実害は無いし、スレ違い気味ですがよろしくお願いします。
698 名前:名無し~3.EXE mailto:sage [2007/01/21(日) 22:26:54 ID:fXHv4RQu] スレ違い承知な馬鹿は死んでいいよ。
699 名前:名無し~3.EXE mailto:sage [2007/01/21(日) 23:58:04 ID:0GAiR7Wm] すいません。一応netstatのエラーでもあるようなので質問させてもらいました。 コマンドプロンプトの質問はどこですればいいですか?
700 名前:名無し~3.EXE mailto:sage [2007/01/22(月) 00:47:54 ID:EWkB3kFF] >>700 コマンド・プロンプトの質問ではないよ。
701 名前:700 mailto:sage [2007/01/22(月) 00:48:47 ID:EWkB3kFF] >>699 の間違いですた。すみませぬ。
702 名前:名無し~3.EXE [2007/01/22(月) 03:01:10 ID:lHhcp0GG] うはwwほんとだ netstat.exeがエラーメッセージ吐きまくりキャンセル押しまくりだわw
703 名前:名無し~3.EXE mailto:sage [2007/01/22(月) 12:42:19 ID:jJx2R64E] >>697 そういうバグっぽいのはここじゃ解決できんよ デーモン側な気もするし
704 名前:名無し~3.EXE mailto:sage [2007/01/22(月) 22:57:33 ID:8ACQJu4z] ちょっときになった俺が着ましたよ。
705 名前:名無し~3.EXE mailto:sage [2007/01/23(火) 13:38:10 ID:peYBszvv] BAT初挑戦で途中で詰まってしまったので力を借りにきますた FTPで指定したファイルを自動的に取りに行くバッチを拵えてるんだけど getしに行く先のディレクトリが可変の通日で、その中から特定のファイルだけ取得っていう流れ asc cd /data/2007 cd 023 #例えば今日の通日だと023 lcd C:\download prompt mget afilelog023* mget bfilelog023* #ファイル名の023の部分が通日、その後ろは色んな拡張子 毎回エディタで通日だけ置換してやってるんだけど 通日を変数に割り当てて置換箇所を1箇所だけに済ませる方法って無いんですかね?
706 名前:名無し~3.EXE mailto:sage [2007/01/23(火) 14:04:36 ID:dt3S76pM] type makeget.bat echo asc echo cd /data/2007 echo cd %1 echo lcd C:\download echo prompt echo mget afilelog%1* echo mget bfilelog%1* makeget.bat 023 > get023.bat
707 名前:名無し~3.EXE mailto:sage [2007/01/23(火) 14:33:35 ID:peYBszvv] >>706 即レスサンクス 処理テンプレ作って、%1のパラメータにコマンドラインから直接通日を投げてバッチを作成するバッチ でいいのかしら。
708 名前:名無し~3.EXE mailto:sage [2007/01/23(火) 14:40:34 ID:+1q+g6Qo] 通日の意味がよくわからんけど、日付に0を付けて三桁にしたいのであれば、 set d= %date% echo 0%d:~-2,2% これでいけると思うが、どうだろう。
709 名前:名無し~3.EXE mailto:sage [2007/01/23(火) 15:33:04 ID:peYBszvv] >>708 サンクスコ 参考にする 通日は1月1日が001、12月31日が365 月の概念無くした1年の数え方みたいな感じ
710 名前:名無し~3.EXE mailto:sage [2007/01/23(火) 22:01:24 ID:+1q+g6Qo] ついでにこんなのもいける。通日の代わりになるかも。 set d= %date% set t= %time% echo %d:~-10,4%年%d:~-5,2%月%d:~-2,2%日%t:~-11,2%時%t:~-8,2%分
711 名前:名無し~3.EXE mailto:sage [2007/01/23(火) 23:12:48 ID:ksHGSsOt] @echo off setlocal set YYYYMMDD=%DATE% set YYYY=%YYYYMMDD:~,4% set MM=%YYYYMMDD:~4,3% set MM=%MM:/0=% set MM=%MM:/=% set DD=%YYYYMMDD:~7,3% set DD=%DD:/0=% set DD=%DD:/=% set /a YYYY_A1 = YYYY / 4 set /a YYYY_A2 = YYYY_A1 * 4 set /a YYYY_B1 = YYYY / 100 set /a YYYY_B2 = YYYY_B1 * 100 set /a YYYY_C1 = YYYY / 400 set /a YYYY_C2 = YYYY_C1 * 400
712 名前:名無し~3.EXE mailto:sage [2007/01/23(火) 23:13:24 ID:ksHGSsOt] >>711 からの続き set /a URUU = 0 if /i %YYYY_A2% EQU %YYYY% set /a URUU = 1 if /i %YYYY_A2% EQU %YYYY% if /i %YYYY_B2% EQU %YYYY% set /a URUU = 0 if /i %YYYY_A2% EQU %YYYY% if /i %YYYY_B2% EQU %YYYY% if /i %YYYY_C2% EQU %YYYY% set /a URUU = 1 if /i %MM% GEQ 1 set /a TSUJITSU = 0 if /i %MM% GEQ 2 set /a TSUJITSU = TSUJITSU + 31 if /i %MM% GEQ 3 set /a TSUJITSU = TSUJITSU + 28 if /i %MM% GEQ 4 set /a TSUJITSU = TSUJITSU + 31 if /i %MM% GEQ 5 set /a TSUJITSU = TSUJITSU + 30 if /i %MM% GEQ 6 set /a TSUJITSU = TSUJITSU + 31 if /i %MM% GEQ 7 set /a TSUJITSU = TSUJITSU + 30 if /i %MM% GEQ 8 set /a TSUJITSU = TSUJITSU + 31 if /i %MM% GEQ 9 set /a TSUJITSU = TSUJITSU + 30 if /i %MM% GEQ 10 set /a TSUJITSU = TSUJITSU + 31 if /i %MM% GEQ 11 set /a TSUJITSU = TSUJITSU + 30 if /i %MM% GEQ 12 set /a TSUJITSU = TSUJITSU + 31 if /i %URUU% EQU 1 set /a TSUJITSU = TSUJITSU + 1 set /a TSUJITSU = TSUJITSU + %DD% echo %TSUJITSU% endlocal
713 名前:名無し~3.EXE mailto:sage [2007/01/23(火) 23:17:23 ID:ksHGSsOt] うわ早速バグ発見orz 39c39 < if /i %URUU% EQU 1 set /a TSUJITSU = TSUJITSU + 1 --- > if /i %MM% GEQ 3 if /i %URUU% EQU 1 set /a TSUJITSU = TSUJITSU + 1
714 名前:名無し~3.EXE mailto:sage [2007/01/24(水) 03:47:22 ID:eGutPL5I] 無理せずWSHを使う WScript.Echo DatePart("y",Date())
715 名前:名無し~3.EXE [2007/01/24(水) 12:35:20 ID:7wyp3Eju] CMD /C D:\XXX.batで 呼び出されたD:\XXX.bat内の先頭行で自身(DOS窓)を最小化させる 方法ありますか?
716 名前:名無し~3.EXE mailto:sage [2007/01/24(水) 12:44:01 ID:NuKUyzmi] >>715 >>293
717 名前:名無し~3.EXE [2007/01/24(水) 12:44:36 ID:dHR/g94Y] XPのコマンドプロンプトで 【mkdir konpaira】と書いてkonpairaってディレクトリー 作ったんですけど どこにあるかみつかりません・・・・くだらない質問で本当に悪いのですが 【mkdir konpaira】とかいて作ったディレクトリーはいったいどこに制作されるのかわかりますか?
718 名前:名無し~3.EXE mailto:sage [2007/01/24(水) 12:52:05 ID:xYc85Zkg] >>717 わかりません
719 名前:名無し~3.EXE mailto:sage [2007/01/24(水) 13:00:09 ID:bBeGunZI] >>717 explorer.exe /n,%userprofile% と打ち込む
720 名前:名無し~3.EXE [2007/01/24(水) 13:20:03 ID:h1Q75nUe] >>716 うぅ。。。わからない。。。
721 名前:名無し~3.EXE mailto:sage [2007/01/24(水) 13:22:13 ID:i0fQettm] 呆れるほどスペルマミス
722 名前:名無し~3.EXE mailto:sage [2007/01/24(水) 13:38:23 ID:bBeGunZI] >>721 721のことか?
723 名前:名無し~3.EXE [2007/01/24(水) 14:06:35 ID:h1Q75nUe] >>716 VBSではなくBATファイルなんです。。。
724 名前:名無し~3.EXE mailto:sage [2007/01/24(水) 14:27:49 ID:NuKUyzmi] BATファイル内から使用できる、窓を最小化するコマンドは標準ではない。 標準ではないので窓を最小化するスクリプトを作ってBATファイル内から呼んでいる。 BAT内という縛りがなければ、ショートカットやstartとかあるけど。
725 名前:名無し~3.EXE mailto:sage [2007/01/24(水) 15:03:05 ID:hm3trhnJ] >>715 START /WAIT /MIN "" CMD /C D:\XXX.BAT あるいは、CMDOW.EXEを使うとか
726 名前:名無し~3.EXE mailto:sage [2007/01/24(水) 15:13:11 ID:eGutPL5I] なにかリカージョン対策の工夫が必要だけど、 start /min %~fs0 %*
727 名前:名無し~3.EXE [2007/01/24(水) 17:02:01 ID:phendHsN] >>717 cd と打ち込む
728 名前:名無し~3.EXE mailto:sage [2007/01/24(水) 17:05:13 ID:Ur+QuDS3] >>726 こんな感じ? setlocal if "%リカージョン対策の工夫%"=="" ( set リカージョン対策の工夫=1 start /min %~fs0 %* exit /b ) REM 実際のバッチの中身 exit
729 名前:名無し~3.EXE mailto:sage [2007/01/24(水) 17:05:40 ID:imNZyNvB] >>717 ベタベタの初期状態なら多分 C:\Documents and Settings\Owner の下だろ。 つーか「konpaira」にはちょっと萎えたぞw
730 名前:名無し~3.EXE mailto:sage [2007/01/24(水) 19:40:02 ID:ui4jdsDL] すこし質問させてください 毎回OSを入れなおす度にファイルの関連付けを変えたり、設定を変えたりするのが非常に煩わしいです。 そこでどなたかファイルの関連付けを一括して変えるBATファイルの組み方をご存知でしたら教えてください。 ソフトウェアでも可ですが、一括して複数の形式を変えられることを前提としてお願いします。
731 名前:名無し~3.EXE mailto:sage [2007/01/24(水) 19:42:33 ID:xYc85Zkg] >>730 レジストリ書き出しときゃいいだろ。
732 名前:名無し~3.EXE mailto:sage [2007/01/24(水) 19:56:10 ID:ui4jdsDL] そうすると目的のやつ以外も元に戻っちゃって入ってないソフトとか変になりませんか?
733 名前:名無し~3.EXE mailto:sage [2007/01/24(水) 20:09:12 ID:xYc85Zkg] >>732 目的のやつ以外消せばいいだろ。 メモ帳で編集できるの知らないの?
734 名前:名無し~3.EXE mailto:sage [2007/01/24(水) 20:16:40 ID:1ye7da8u] 全部書き出さずに目的の物だけ書き出して結合しときゃいいじゃん。
735 名前:名無し~3.EXE mailto:sage [2007/01/24(水) 20:16:59 ID:bBeGunZI] >>730 HKEY_CLASSES_ROOTだけエクスポートしたらいいじゃん。 で、再インスコ後に.regをダブルクリックすりゃOK。 それが嫌ならASSOCコマンドを駆使してくれろ。
736 名前:名無し~3.EXE mailto:sage [2007/01/24(水) 20:20:03 ID:ui4jdsDL] PC知識がすくなくてよくわからないので検索と知り合いを駆使して勉強してきます お邪魔してすいませんでした
737 名前:名無し~3.EXE mailto:sage [2007/01/24(水) 22:35:13 ID:Z29D46sA] ちょっと脱線だけど、自分が戻したいと思ってる設定が何なのか?どこまでなのか?というのも悩ましいとこなんだよな。 「OSインスコして一通りのソフト入れて設定終わった段階のクリーンな状態をイメージバックアップしておく」 なんて考えたときに、いったいどの時点まで戻るのが余計な設定がなく、且つ再度度設定する手間が省けるのか迷ったりして。
738 名前:名無し~3.EXE mailto:sage [2007/01/28(日) 22:03:33 ID:GnfJyVWz] WindowsXP Professional SP2使っているのですが コントロールパネルのタスクから毎日10時にD:\backup.batファイルを実行するように スケジューリングしています。 そのファイルの内容はこちら copy /Y D:\image\scheduler.tib \\vine\data\backup\ の1行のみです。D:\image\の中に入っているファイルをVineサーバにバックアップ しているのですが、このファイルを単純にタスクに登録していると、10時になると いきなり黒い画面が立ち上がってきてコマンドが実行されたら終了するのですが その黒い画面が立ち上がるのがビックリします。もしフルスクリーンで作業してたら おそらくフォーカス奪われてフルスクリーンが解除されるとかバグるとか そういう不具合がありそうなので、最小化状態で実行させる、もしくは見えない状態で バックグラウンドで実行させる方法は無いでしょうか? ちなみにbackup.batファイルへのショートカットを作成して、そのショートカットの中から 最小化して起動するように設定してタスクにショートカットファイルを指定しても ダメでした。良い手はありませんか?
739 名前:名無し~3.EXE [2007/01/28(日) 22:33:19 ID:Vg16WaYG] フォルダの中にある特定の拡張子のファイルをこちらから用意したa.exeに通したいんですが フォルダの中にフォルダがあったりする状況です。 よろしければ教えてください。
740 名前:名無し~3.EXE mailto:sage [2007/01/28(日) 22:39:34 ID:Vg16WaYG] for /R %f in (*.doc *.txt) do a.exe %f
741 名前:名無し~3.EXE mailto:sage [2007/01/28(日) 22:41:35 ID:Ab9Pd7B9] >>739-740 自演乙
742 名前:名無し~3.EXE mailto:sage [2007/01/28(日) 23:10:30 ID:rah4ivDa] 自演じゃなくって病気だとおもう。
743 名前:名無し~3.EXE mailto:sage [2007/01/28(日) 23:41:21 ID:bulVaiB4] >>738 RunDLL32.EXE Shell32.DLL,ShellExec_RunDLL C:\backup.bat.lnk
744 名前:名無し~3.EXE mailto:sage [2007/01/28(日) 23:45:36 ID:bulVaiB4] または、 rundll32.exe url.dll,FileProtocolHandler C:\backup.bat.lnk
745 名前:名無し~3.EXE mailto:sage [2007/01/29(月) 01:24:47 ID:0gczOvYI] >>743-744 レスありがとうございます。 そりゃよくわからないですね・・・。 とりあえず自分で解決できました。 start /min cmd /c copy /Y D:\image\scheduler.tib \\vine\data\backup\ っていう1行書いたバッチファイルを使えば成功しました。 こちらの方が簡単そうでしょ?
746 名前:名無し~3.EXE [2007/01/29(月) 02:22:52 ID:CHg28K83] >>738 wshでかけばいいと思うよ。
747 名前:名無し~3.EXE [2007/01/29(月) 02:23:24 ID:CHg28K83] って、えーそんな簡単な方法あるんだw
748 名前:名無し~3.EXE [2007/01/29(月) 02:41:28 ID:CHg28K83] wshで一時的に環境変数を設定する方法はありませんでしょうか? バッチファイルで言う、 set HOME=./ みたいなことを指定のですが
749 名前:名無し~3.EXE [2007/01/29(月) 02:51:44 ID:CHg28K83] WshShell = WScript.CreateObject("WScript.Shell"); WshEnv = WshShell.Environment("USER"); WshEnv("HOME") = "c:\home"; これでは、全部の環境が変わってしまいます・・・
750 名前:名無し~3.EXE [2007/01/29(月) 02:56:08 ID:CHg28K83] あ、 WshEnv = WshShell.Environment("PROCESS"); にすればいいのか・・・
751 名前:名無し~3.EXE [2007/01/30(火) 01:41:44 ID:skiU3c8V] 超初心者です。 コマンドプロンプトの C:\WINDOWS> のWINDOWSのところを消して、 C:\> にしたいのですが、どうしたらいいのでしょうか? Me使ってます。お願いします。
752 名前:名無し~3.EXE mailto:sage [2007/01/30(火) 01:44:58 ID:xu1S81WI] cd.. と打ち込むとそうなるはず…
753 名前:名無し~3.EXE [2007/01/30(火) 01:56:27 ID:skiU3c8V] ありがとうございました。
754 名前:名無し~3.EXE mailto:sage [2007/01/30(火) 02:07:46 ID:xu1S81WI] >>753 あと、OSにもよると思うんだけど、 エクスプローラから、c:¥のアイコンをマウスでcmdの窓に引っ張ってっても 変わるはず。まあ、これじゃ、せっかくコマンド打つ意味はなさそうだけどね 慣れるまでは、それもありかな あと詳しい使い方は、DOS コマンド あたりでグーグル先生に聞くか、 このスレの他の識者に聞いてくだされ。 ノシ
755 名前:名無し~3.EXE mailto:sage [2007/01/30(火) 14:55:12 ID:8oWdEpCN] >>751 ちなみに、2階層登るときは、 cd..\..
756 名前:名無し~3.EXE mailto:sage [2007/01/30(火) 16:52:25 ID:6T1j6bWf] まさかとは思うが、>>751 は「どこの階層にいても C:\> と表示したい」のか? だったら、set prompt=C:\$g …んなワケねーかw
757 名前:名無し~3.EXE mailto:sage [2007/01/30(火) 17:41:16 ID:EXkNQsWs] 鬼才現る
758 名前:名無し~3.EXE mailto:sage [2007/01/30(火) 20:42:39 ID:RppqVEDs] >756 ちょっとワロタ。
759 名前:名無し~3.EXE mailto:sage [2007/02/02(金) 18:13:43 ID:7lW2zV4+] 昔はカレントドライブだけの表示($N$G相当)がデフォルトだったような。
760 名前:名無し~3.EXE mailto:sage [2007/02/03(土) 21:49:56 ID:Y8FtUM7g] @echo off "C:\Program Files\ABC.exe" exit これでアプリは起動するのですが、コマンドプロンプトも開いたままになります アプリが起動したらコマンドプロンプトは自動で閉じることは出来ないのでしょうか?
761 名前:名無し~3.EXE mailto:sage [2007/02/03(土) 22:11:10 ID:jjvZQHSi] ありきたりじゃつまんないので @echo off ( echo "C:\Program Files\ABC.exe" echo exit )|cmd.exe exit とか?
762 名前:名無し~3.EXE mailto:sage [2007/02/03(土) 22:56:54 ID:Y8FtUM7g] >>761 閉じることが出来ました。 ありがとうございました。
763 名前:名無し~3.EXE mailto:sage [2007/02/04(日) 04:52:24 ID:Gpw040Ym] パス指定にホスト名を使いたいんですが、 例えばユーザ名を使うなら %username% でユーザ名が取り出せますがホスト名を使うならどうしたらいいんですか? hostname コマンドでホスト名が出力されるのは知っているのですが、それを変数として 使うにはどうしたらいいんでしょうか? echo %hostname% %hostname% となって取得できません。 それから、setコマンドで set HOME=%userprofile% とか出来ますが、これは そのbatファイルを終了した時点で消えますよね。 それを、batファイルを終了した後であろうがシステムを再起動した後であろうが 常にずっと有効にしておく(システムのプロパティの環境変数のところに書いたのと同じ) 状態にするにはどういうコマンドを打てばよいのでしょうか? よろしくお願いします。
764 名前:名無し~3.EXE mailto:sage [2007/02/04(日) 05:50:52 ID:UCUQL6Cs] >>763 for /f "usebackq" %h in (`hostname`) do @set hostname=%h
765 名前:名無し~3.EXE mailto:sage [2007/02/04(日) 13:00:50 ID:Gpw040Ym] >>764 おお、凄い凄い!ありがとうございます。 でもこれ再起動とかコマンドプロンプト閉じたりすると切れちゃいますね。 その都度実行って奴ですか。 ええっと、do @set とあるように、setの前に@をつけるとどういう意味があるのでしょうか?
766 名前:名無し~3.EXE mailto:sage [2007/02/04(日) 13:22:17 ID:NBbEuIkl] >パス指定にホスト名を使いたいんですが、 %COMPUTERNAME% じゃだめなん? >常にずっと有効にしておく(システムのプロパティの環境変数のところに書いたのと同じ) >状態にするにはどういうコマンドを打てばよいのでしょうか? >>176 >setの前に@をつけるとどういう意味があるのでしょうか? エコーを無効にする(for文実行時に一々「set 〜」と表示させない)
767 名前:名無し~3.EXE mailto:sage [2007/02/04(日) 14:37:43 ID:Gpw040Ym] >>766 ちょおおおおおおーサンクス!ありがとうございます! %computername% ってあったのかああ! こういう環境変数の一覧みたいなのって どういうところに載っています?コレが知りたかったんですよ! setx.exeを拾ってこないといけないんですねぇ・・ふむぅ。。 @set の意味も分かりました。本当にどうもありがとうございます。
768 名前:名無し~3.EXE mailto:sage [2007/02/04(日) 15:13:43 ID:upfVRns6] set | more
769 名前:名無し~3.EXE mailto:sage [2007/02/04(日) 15:44:31 ID:Gpw040Ym] >>768 おお〜、なるほど。こういう風に調べる事ができるんですねぇ。ありがとうございました!
770 名前:名無し~3.EXE mailto:sage [2007/02/04(日) 16:43:04 ID:aXVvEPc1] ttp://pc10.2ch.net/test/read.cgi/tech/1148485555/345 から来ました。 フォルダ内にある.exeファイル全てに/q引数を付けて実行するバッチを教えてください。 具体的にはWindowsのHotfixをCDに貯めて、OS再インストール後にバッチからHotfixを自動でインストールさせたいのですが /q引数をつけないでインストールすると、次々と確認メッセージが出てきて大変なので。 あと、新しいHotfixが出るたびにCDに追加していくのでフォルダ内のファイル数は不定です。
771 名前:名無し~3.EXE mailto:sage [2007/02/04(日) 17:07:50 ID:uzS1dqPI] >>770 >>4
772 名前:名無し~3.EXE mailto:sage [2007/02/04(日) 17:40:47 ID:upfVRns6] 教えてクソ五大要素 1 読まない 2 調べない 3 試さない 4 理解力が足りない 5 人を利用することしか頭にない
773 名前:名無し~3.EXE mailto:sage [2007/02/04(日) 21:42:06 ID:XVlaP+ck] そのコピペ久しぶりに見た
774 名前:名無し~3.EXE mailto:sage [2007/02/05(月) 08:59:35 ID:5uo+Y0/o] >>770 set hoge=D:\hoge for /f "usebackq" %%A in (`dir/b/s "%hoge%\*.exe"`) do "%%A" /q SP+メーカーでHotfix専用インストールCD作る手もあり。
775 名前:名無し~3.EXE [2007/02/07(水) 18:22:35 ID:HkmhaXR6] どなたかご教授お願いします。 CD又はDVDに入れた「setup.bat」を起動すると同CD内のZIPファイルが デスクトップにコピーされ、尚且つ自動解凍する方法があったら教えて下さい。 お願いしますm(_ _ )m
776 名前:名無し~3.EXE mailto:sage [2007/02/07(水) 18:41:51 ID:GrlV5MMw] デスクトップのパスの取得は内部コマンドだけじゃ無理だな。
777 名前:名無し~3.EXE mailto:sage [2007/02/07(水) 18:48:33 ID:LtTsJ5NX] >>775 copy /Y *.zip c: cd %userprofile%\デスクトップ md files expand *.zip files echo finished!! & pause こんなのでいけるのかしら?動作確認1回もやってないからわからない。 ちなみに当方シロウトです。
778 名前:名無し~3.EXE mailto:sage [2007/02/07(水) 18:49:40 ID:LtTsJ5NX] ミスった!w copy /Y *.zip %userprofile%\デスクトップ\ c: cd %userprofile%\デスクトップ md files expand *.zip files echo finished!! & pause に修正
779 名前:名無し~3.EXE mailto:sage [2007/02/07(水) 18:51:49 ID:LtTsJ5NX] だめっぽいなぁ・・・ expandじゃ.zipを解凍出来てない気がする・・ どうすりゃいいんだろ。
780 名前:名無し~3.EXE mailto:sage [2007/02/07(水) 18:56:41 ID:XAyl8R3D] 素直にCDにunzip.exeも入れておいたほうが楽かと。 あとVistaだとデスクトップは %userprofile%\Desktop\ になる
781 名前:名無し~3.EXE mailto:sage [2007/02/07(水) 19:08:15 ID:LtTsJ5NX] >>780 unzip.exeって何に含まれているの?私の環境だとそんなコマンドはないと言われるから ネットから落としてくるフリーソフト? それから、Vistaの事は全く知らないw 使えるのかなぁVista・・・
782 名前:775 [2007/02/08(木) 21:20:11 ID:mVdDQt9f] >>776-781 亀レスですが、とても参考になりました。 後は自分でがんばってみます。
783 名前:名無し~3.EXE mailto:sage [2007/02/09(金) 00:50:15 ID:Sp5PB1om] >>775 WSHならこんな感じで、 デスクトップに展開.VBS ZIPファイル Set ie=CreateObject("InternetExplorer.Application") ie.Navigate2 WScript.Arguments.Item(0) Do While ie.Busy Or ie.ReadyState<>4 WScript.Sleep 100 Loop Set Shell=ie.Document.Application Set sFolder=ie.Document.Folder Set dFolder=Shell.NameSpace(16) dFolder.CopyHere sFolder.Items() ie.Quit
784 名前:名無し~3.EXE [2007/02/10(土) 20:30:48 ID:3Ev8EayX] Web上からWebサーバー上のバッチファイル動かすのとか出来んかな ちなみにクライアントとWebサーバ間はTelnetの通らないFW挟んでます
785 名前:名無し~3.EXE mailto:sage [2007/02/10(土) 20:42:03 ID:+HezOLaE] >>784 ひんと: Common Gateway Interface
786 名前:名無し~3.EXE mailto:sage [2007/02/11(日) 03:36:40 ID:CHEcrX//] >>785 CGIかよw
787 名前:名無し~3.EXE [2007/02/11(日) 21:45:48 ID:M4xM6Mxy] にわかUNIX プログラマーです。 foreach i ( 1 2 3 .... 15) cp input.{$i} output.{$i} end コマンドを一括して実行するには、 csh ではforeach を使えば簡単ですが、 dos上のbat ファイルでこのようなスクリプトを作りたいのですが、 何か方法はありますか?
788 名前:名無し~3.EXE mailto:sage [2007/02/11(日) 21:53:01 ID:IDO4ruyo] for %i in (1 2 3 .... 15) do copy input.%i output.%i
789 名前:名無し~3.EXE mailto:sage [2007/02/11(日) 21:55:35 ID:VkfuRwSL] @echo off for /L %%i in (1,1,15) do ( copy input.%%i output.%%i )
790 名前:787 [2007/02/11(日) 22:00:43 ID:M4xM6Mxy] >>788 789 ありがとうございます。 早速やってみます。
791 名前:名無し~3.EXE [2007/02/18(日) 14:36:27 ID:p11D76E7] すみません。CHKDSKコマンドについて教えてください。 80GBのHDDにCHKDSKを実行してみたところ、 80405293 KB : 全ディスク領域 と表示されます。 WindowsXP上でドライブを右クリックしてプロパティを見てみると、 80,858,566,656バイトと表示されています。 CHKDSKコマンドでは、KB表示なのでバイト表示にする為に、 1024を掛けて見ましたが、 80405293×1024=82,335,020,032となり、 Windows上の表示と一致しません。 もしかして、Win上では1000を掛けるのかと思いましたが、 80405293×1000=80,405,293,000となり、 こちらでも一致しません。 どう計算すると、CHKDSKコマンドの結果が、Win上と一致するように なるのでしょうか。よろしくお願いします。
792 名前:名無し~3.EXE mailto:sage [2007/02/18(日) 15:09:42 ID:XGXlaIu8] 俺んとこは1024掛けで一致するなぁ
793 名前:名無し~3.EXE mailto:sage [2007/02/18(日) 15:11:22 ID:ktHDelKs] >>791 1024を掛けるのでOK 別の数値を見てるか、ディスクがおかしいんじゃね?
794 名前:名無し~3.EXE mailto:sage [2007/02/18(日) 21:02:12 ID:k0xWSI9G] net start service_name や net stop service_name を実行するとWindowsのサービスを起動したり停止したり出来ますよね。 net pause service_name で一時停止も可能です。 しかしサービスのスタートアップの種類が「無効」になっているものについては一切 制御が出来ません。 スタート>ファイル名を指定して実行>services.msc でサービス画面(GUI)が開けますが、そこからならこの「無効」の状態を「自動」もしくは「手動」 に変更できますが、これをコマンドプロンプトから変更する方法はありませんか? そういうコマンドがないかと調べてみたのですが、見つけられません。 もしかしてこの操作はコマンドでは不可能で、GUIで実行するしかないのでしょうか?
795 名前:名無し~3.EXE mailto:sage [2007/02/18(日) 21:05:22 ID:tt13nMj4] sc
796 名前:名無し~3.EXE mailto:sage [2007/02/18(日) 23:33:45 ID:k0xWSI9G] >>795 詳細キボン。
797 名前:名無し~3.EXE mailto:sage [2007/02/18(日) 23:38:09 ID:tt13nMj4] つ www.google.co.jp/search?hl=ja&q=sc.exe&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
798 名前:名無し~3.EXE mailto:sage [2007/02/19(月) 00:05:42 ID:k0xWSI9G] sc config service_name start= auto したら「スタートアップの種類」を「自動」に設定する事が出来ました。 どうもありがとうございました。
799 名前:名無し~3.EXE mailto:sage [2007/02/21(水) 11:10:08 ID:tcKwzygL] 親切に書いてくれてるけどワカンネ 誰か助けて ttp://0server.ddo.jp/~dougakun/upload2/src/up1219.zip
800 名前:名無し~3.EXE mailto:sage [2007/02/21(水) 11:29:50 ID:ux1ZZgWt] それで判らなきゃどうしようもないわ
801 名前:名無し~3.EXE mailto:sage [2007/02/21(水) 11:32:52 ID:Igq/YDl3] ファイルを一通り揃えないとな
802 名前:名無し~3.EXE mailto:sage [2007/02/21(水) 12:23:32 ID:tcKwzygL] 事故解決スマソ ファイルパスの O← これ零だと勘違いしてた模様。オーで通った
803 名前:名無し~3.EXE mailto:sage [2007/02/21(水) 19:51:29 ID:mWNkuj/B] >>802 大昔のDOSなら「0」なら,斜め線が入ってたのにね。
804 名前:名無し~3.EXE mailto:sage [2007/02/21(水) 22:32:32 ID:dSTd36jK] いまだに手書きだとゼロに斜線、オーに上線書くクセが抜けません
805 名前:名無し~3.EXE mailto:sage [2007/02/22(木) 01:26:37 ID:dcYh/2pS] >>804 Zにも、ちょん「ヽ」って、いれるでしょ? PCの話題からずれてるけどね。
806 名前:名無し~3.EXE mailto:sage [2007/02/25(日) 07:11:24 ID:M8SUDOy/] 任意の数与えられた引数をechoする方法を教えてください
807 名前:名無し~3.EXE mailto:sage [2007/02/25(日) 07:19:34 ID:XbqoSwX3] echo %*
808 名前:名無し~3.EXE mailto:sage [2007/02/25(日) 10:47:06 ID:M8SUDOy/] スマン寝ぼけてたわ
809 名前:名無し~3.EXE mailto:sage [2007/02/25(日) 10:54:30 ID:lALGsEBc] 同一バッチ内で、サブルーチンCALL〜RETURNの動作をさせることは可能ですか? GOTOで飛ばしても、元に戻す方法がワカリマセン・・・オワタ\(^o^)/
810 名前:名無し~3.EXE mailto:sage [2007/02/25(日) 11:03:22 ID:jIpm/zzU] >>809 2000/XPなら call /? 9x/Meなら call %0 でパラメータでもつけて振り分けろ。
811 名前:名無し~3.EXE [2007/02/25(日) 21:34:08 ID:FcYHarj1] すみません、DOS初心者です。 質問させてください。 test.txtの内容 -------------------- aaa(111) bbb(222) ccc(333) ddd(444) -------------------- というのを test2.txt -------------------- aaa(111) bbb(222) ccc(333) ddd(444) -------------------- というように並べて出力させたいのです。 aaa(111) bbb(222)←文字列の間にはtabで区切られています。 for文でできそうな感じですが、ド素人なものでよくわかりません(>_<) どなたか教えてください、お願いします!
812 名前:811 [2007/02/25(日) 21:35:46 ID:FcYHarj1] すみません、使ってるOSはWindowsXP home editionです
813 名前:名無し~3.EXE mailto:sage [2007/02/25(日) 21:57:08 ID:+SGe6t45] >>811 gawk "{for(i=1;i<=NF;i++)a[n++]=$i} END{for(i=0;i<4;i++)print a[i]}" test.txt > test2.txt
814 名前:名無し~3.EXE mailto:sage [2007/02/26(月) 04:07:53 ID:9JamE3oB] 単純にタブを改行に置換した方が早くない甲斐
815 名前:名無し~3.EXE mailto:sage [2007/02/26(月) 04:09:53 ID:9JamE3oB] 誤変換した上に微妙に途中で書き込んじまった…callって10個までしか引数渡せないのね
816 名前:809 mailto:sage [2007/02/26(月) 04:41:56 ID:TZQkmwZQ] >>810 とんくす。無事に解決しますた。 参考: メイン処理 メイン処理 CALL :LABEL メイン処理 メイン処理 ・・・ :LABEL サブ処理 goto :eof
817 名前:名無し~3.EXE mailto:sage [2007/02/26(月) 06:45:30 ID:kBM+PAiP] >816 メイン処理の最後にも goto :EOF
818 名前:名無し~3.EXE mailto:sage [2007/02/26(月) 17:29:47 ID:TZQkmwZQ] テキスト形式でどんどん下に増えていくログファイルで、 新旧2ファイル A.TXT B.TXT があるとします。 FC で比較すると、カブった部分だけは抽出できますが、 増えた分だけ抽出する、うまいやりかた、ないでしょうか。
819 名前:名無し~3.EXE mailto:sage [2007/02/26(月) 18:49:58 ID:fAq2TeR4] >>815 >> callって10個までしか引数渡せないのね shift
820 名前:名無し~3.EXE mailto:sage [2007/02/26(月) 18:51:29 ID:9JamE3oB] >>818 追加部分に全く変更がないことを仮定するなら Aの行数分+nしてmore
821 名前:名無し~3.EXE mailto:sage [2007/02/26(月) 19:07:16 ID:9JamE3oB] >>819 ---main.bat--- for /f "usebackq" %i in(`call hoge.bat`) call sub.bat %i ---sub.bat--- :loop echo %1 >>test2.txt shift IF %1 GTR "" (goto eof) else goto loop こんな感じで>>811 について一行に10個以上データがある場合を考えてたんだけど、できる?
822 名前:名無し~3.EXE mailto:sage [2007/02/26(月) 19:09:14 ID:9JamE3oB] すまんhoge.batじゃない、test.txt これを試したら10個以上は駄目だったので>>815 shift自体は知ってるんだけどね、言葉足らずごめん
823 名前:名無し~3.EXE mailto:sage [2007/02/26(月) 19:11:12 ID:9JamE3oB] うあー、そこ以外に間違いが多すぎる…まあ>>814 で済む話だと思うからどうでもいいっちゃどうでもいいんだ
824 名前:名無し~3.EXE mailto:sage [2007/02/26(月) 19:23:51 ID:9JamE3oB] 連投すまん普通に出来た、昨夜はどっか間違えてただけみたいだ… ∧||∧ ( ⌒ ヽ ∪ ノ ∪∪
825 名前:名無し~3.EXE mailto:sage [2007/02/26(月) 23:16:24 ID:RAmgQBxU] テキストの中身、例えば abc( ) cde(f g h i) っていう行を、スペース分だけ縮めて abc()cde(fghi) っていう風にってできますか? 教えてエロイ人。
826 名前:名無し~3.EXE mailto:sage [2007/02/26(月) 23:19:26 ID:W0f2oIjo] for /f "delims=" %%1 in (file) do for %%2 in (%%1) do echo %%2 shift使うなら set x=%1 if defined x ...
827 名前:名無し~3.EXE mailto:sage [2007/02/26(月) 23:41:36 ID:W0f2oIjo] >>825 set /?
828 名前:名無し~3.EXE mailto:sage [2007/02/27(火) 00:14:03 ID:ssftNQ/p] /f抜きのfor文か、盲点だった
829 名前:名無し~3.EXE mailto:sage [2007/02/27(火) 14:06:43 ID:Wu6N02ak] >>818 find /c /v "" <a.txt で行数
830 名前:名無し~3.EXE [2007/03/04(日) 13:20:01 ID:iL3fJNBF] txtsetup.sifの終端起動(?)をバッチファイルで処理することは可能ですか?
831 名前:名無し~3.EXE mailto:sage [2007/03/04(日) 13:56:45 ID:dStcZEp+] >>820 トンクス。第一フェーズはクリアできました。 このmoreを使う方法で、+nの開始行だけじゃなく、 終端行も指定できるコマンドはありますか?
832 名前:名無し~3.EXE mailto:sage [2007/03/04(日) 17:26:14 ID:Qie4CUoZ] >>831 バッチファイルでこんなのとか… @echo off rem hoge.bat 飛ばす行数(+n) 終端行番号 rem の形で実行 setlocal enabledelayedexpansion set count=%1 for /f "usebackq delims=" %%a in (`more +%1 "C:\hoge.txt"`) do ( if !count! LSS %2 ( set string=%%a echo !string! >>C:\log.txt set /a count+=1 ) else goto :eof ) ) goto :eof どうみても空白行カウントしてません。本当にありがとうございました。
833 名前:名無し~3.EXE mailto:sage [2007/03/04(日) 17:50:15 ID:Jl1jH6od] @echo off rem usage: hoge.cmd 開始行 終了行 ファイル (for /f "delims=[] tokens=1*" %%0 in ('find /n /v ""') do ( if %%0 gtr %2 goto :eof if %%0 geq %1 echo;%%1 ) )<%3
834 名前:名無し~3.EXE mailto:sage [2007/03/05(月) 02:54:04 ID:MOjVAAUk] >>833 綺麗だなー横から頂いておこう
835 名前:名無し~3.EXE mailto:sage [2007/03/05(月) 19:32:27 ID:LVHf9Ynh] 礼儀を知らん奴だな
836 名前:名無し~3.EXE mailto:sage [2007/03/05(月) 21:33:53 ID:MOjVAAUk] すまん、833ありがとう831じゃないが勉強になった
837 名前:名無し~3.EXE mailto:sage [2007/03/06(火) 21:10:05 ID:xCM/ihCx] @ECHO OFF rem usage: hoge.cmd 開始行 終了行 ファイル SETLOCAL (FOR /F %%n IN ('FIND /C /V ""') DO SET /A n=%%n-%2)<%3 SORT /+10000 %3 | MORE +%n% | SORT /+10000 | MORE +%1