初心者~管理者まで必読!コマンドライン(DOS Pt.8)at WIN
初心者~管理者まで必読!コマンドライン(DOS Pt.8) - 暇つぶし2ch1:名無し~3.EXE
09/05/24 12:10:19 J07+u5Pg
適材適所で GUI と CUI を組み合わせて、 (゚д゚)ウマー

DOS由来コマンドだけでなく、Windows バージョンアップのたびに拡充されてきたコマンド、
wsh(cscript)、cygwin、Resource Kit、Support Tools、その他のフリーソフト等ふくめ
コマンドラインインタフェースに関するネタならなんでもOK。

質問も歓迎だけど、自分で調べて勉強する努力も忘れずに。

前スレ
初心者~管理者まで必読!コマンドライン(DOS Pt.7)
スレリンク(win板)

2:名無し~3.EXE
09/05/24 12:12:45 J07+u5Pg
過去スレ
1 URLリンク(pc.2ch.net)
2 URLリンク(pc5.2ch.net)
3 スレリンク(win板)l50
4 スレリンク(win板)l50
5 スレリンク(win板)l50
6 スレリンク(win板)
7 スレリンク(win板)

対立状態のスレ
【.cmd】 バッチファイルスクリプト %5 【.bat】
スレリンク(tech板)

3:名無し~3.EXE
09/05/26 03:13:24 mD4e5/jg
srh ファイル内容検索コマンド
URLリンク(www.hir-net.com)

4:名無し~3.EXE
09/05/26 03:19:53 OBkD1YXH
あげ

5:名無し~3.EXE
09/05/26 08:17:24 u9nnF59y
NT版UNIX-like tools Version 0.14
URLリンク(www.piedey.co.jp)

6:名無し~3.EXE
09/05/26 08:28:35 25sTC0KO
>>5

これとどう違うの
URLリンク(unxutils.sourceforge.net)

7:名無し~3.EXE
09/05/26 18:56:40 3oDYyUze
fc/?

8:名無し~3.EXE
09/05/27 17:13:14 IeTG/H22
findstrやsed、grepなどで \ や " を使いたいのですが、
表示はできるのに、 > fin.txtとリダイレクトすると永遠に処理待ちやエラーになってしまいます。
|FINDSTR: 開くことができません (fin.txt)

|grep: >: Invalid argument
|grep: fin.txt: No such file or directory

*nixなどのエスケープ文字としての \ と、コマンドプロンプトとは異なるのでしょうか?
にしても、リダイレクトにするとエラーになるのがイマイチわかりません。

" を試していた時の hoge.txtは、こんな感じです。
"hoge"
"moge"
moge
hoge
[EOF]

試したコマンドラインは、こんな感じです。
c:\>grep "hoge\"" hoge.txt > fin.txt
c:\>grep "hoge\"" hoge.txt > fin.txt
c:\>grep "hoge\""" hoge.txt > fin.txt
c:\>grep "hoge^"" hoge.txt > fin.txt
c:\>grep "hoge^""" hoge.txt > fin.txt

正しいコマンドラインを教えてください。よろしくお願いします。


9:名無し~3.EXE
09/05/27 17:57:53 bcbvf9/w
grep hoge^" hoge.txt > fin.txt
grep ^"hoge\^"^" hoge.txt > fin.txt

10:8
09/05/27 20:38:00 IeTG/H22
>9
できました!ありがとうございます。
コマンドプロンプトのエスケープ文字が ^で、コマンドラインとして与える時には、
キーワードの対象文字全てに ^しておけばいいんですね!間にスペースを挟む場合も、これでいけました。
|C:\>grep ^"hoge hoge\^"^" "hoge hoge.txt" > "fin hoge.txt"

こっちの例ではダメでした。処理待ちになってしまいます。動作確認は、XP/Vistaで。
|c:\>grep hoge^" hoge.txt
|c:\>grep ^"hoge hoge.txt

別件。
move hoge.txt temp
move moge.txt temp
(しかも、tempディレクトリを作り忘れたまま)で、やってしまいました。
コマンドラインだと、上書き確認されるので、batにも、そのまま書いてたら…
batの場合は明示的に/-Yつけてないと、確認無いんですね…。

油断してました。いや、こんなコトに今まで気づかなかった自分が情けない。


11:名無し~3.EXE
09/05/28 14:50:18 rjF1CB1L
@echo off
setlocal enableextensions enabledelayedexpansion
set t=abcdefg
echo !t:~0,4!
if !t:~0,4!==abcd echo !t:~0,4!

実行結果
abcd
4!==abcd の使い方が誤っています。


何でこうなるのかさっぱり分からないです…
何か根本的な勘違いをしているのでしょうか?

12:名無し~3.EXE
09/05/28 18:57:28 A/EjCJLr
一応今の状況を解説すると

こんな何時間も誰も相手にしないということは警戒されてる時

if "!t:~0,4!"=="abcd" echo !t:~0,4!

でいけるだろ、と書いたら
「そうじゃないんですよ、何でこうなるのかその理由を知りたいんですよ」
と牙をむいてくってかかってくる危険性が文章に仕掛けられている
それでみんな相手にしないと
まあそういうこと

>>11は直しかたもすべてわかった上でわざと聞いてる、と考えるのが妥当

13:名無し~3.EXE
09/05/28 19:17:45 U+1mTaXD
で?どういう意味?
間違いないの?

14:名無し~3.EXE
09/05/28 19:20:53 A/EjCJLr
知らんがな
勝手に想像すればいいだろ
思うのはタダなんだし

15:名無し~3.EXE
09/05/28 19:46:08 HudDQAtG
if !t:~0^,4!==abcd echo !t:~0,4!


16:名無し~3.EXE
09/05/28 19:57:37 HudDQAtG
if a;,=a echo a

17:名無し~3.EXE
09/05/28 20:01:15 rjF1CB1L
>>12
> 「そうじゃないんですよ、何でこうなるのかその理由を知りたいんですよ」

この部分は多分にあるけれど

> >>11は直しかたもすべてわかった上でわざと聞いてる、と考えるのが妥当

これは無いです。

>>15で行けるのは分かったがなぜエスケープしなければならないのかが疑問。
if文でカンマって何を意味するんでしょうか?
ヘルプにはそれに関することは何も書いてないし…

18:名無し~3.EXE
09/05/28 20:02:37 rjF1CB1L
ちなみに実際のif文はforの中に書いています。
結構何度もバッチ書いてるのに今まで引っかからなかったのが疑問な位ですが。

19:名無し~3.EXE
09/05/28 20:05:48 HudDQAtG
;,はトークンの区切り文字、スペース、タブと同じ
URLリンク(it-is-it.net)

20:名無し~3.EXE
09/05/28 21:05:54 rjF1CB1L
>>19
ありがたいです。
結構何年もバッチ書いてて初めて知ったようなw

>>12
さっきは気づきませんでしたが
> if "!t:~0,4!"=="abcd" echo !t:~0,4!
これじゃ駄目ですよね。

21:名無し~3.EXE
09/05/28 21:49:39 U+1mTaXD
いけますがなにか?www

22:名無し~3.EXE
09/05/28 22:04:10 FXpuass2
>これじゃ駄目ですよね。
牙をむいてくってかかってくる

はい予言的中ww


僕ちゃんなんねんもバッチ書いてまちゅー
けど、出来るかどうか自分では試すことはできません
              何年もバッチ書いいてる>>20

23:名無し~3.EXE
09/05/28 23:28:01 3fJykLbj
>>19に"で区切り文字をエスケープできるって書いてあるだろ

24:名無し~3.EXE
09/05/29 00:16:02 oLZd7y0B
>>19に挨拶して黙って消えりゃいいものを
ひねくれた根性の悪さが災いして一言反撃してやろうという魂胆が墓穴掘ったな

>これじゃ駄目ですよね
とうどういうこと
パソコン持ってないの?バッチ書いて動かせば1秒で結果でる
なぜ他人に質問してるの?2chに投稿してる暇があったら簡単にできる
数年のバッチ歴をひけらかす日本を代表するバッチ男なんだろ
試してないが「これに書いてるのはどうせ駄目なんだろう」と言う意味か

25:名無し~3.EXE
09/05/29 00:29:10 oLZd7y0B
じゃあバッチ野郎のAA頼む↓

26:名無し~3.EXE
09/05/29 17:22:17 w+z3gxif
if !t:efg=!==abcd echo !t:efg=!
if !t:efg^=!==abcd echo !t:efg=!
if "!t:efg=!"=="abcd" echo !t:efg=!

27:名無し~3.EXE
09/05/31 19:28:11 DR7uDBvl
for /f "deims=;" は"で=;をエスケープ
for /f deims^=^; でもおなじ

28:名無し~3.EXE
09/06/03 02:51:38 ck8yxly5
日ごとに生成されるログファイル(ファイル名が20090603.log等になってます)を
type *.log > hoge.txt
↑でhoge.txtににまとめようとすると昇順にまとまりますよね?
これを降順にhoge.txtにまとめたいのですが、どうも初歩的過ぎるようで参考になる情報がみつかりません。

どなたか教えてください。

29:名無し~3.EXE
09/06/03 03:00:10 J8ZwyB0P
dir/?
for/?

30:名無し~3.EXE
09/06/04 10:52:38 7MAETh4y
dir /b/on *.log

31:名無し~3.EXE
09/06/06 15:03:51 F7d/m+Rp
(for /f "delims=" %%I in ('dir /b /o-n *.log') do @type %%I) > hoge.txt

32:名無し~3.EXE
09/06/09 10:59:57 NQrs1Op8
過去ログの
初心者~管理者まで必読!コマンドライン(DOS Pt.4)
スレリンク(win板:789番)
でarghelperを改造してうpされたarghelper2をお持ちになっている方
いらっしゃいましたらどこかにうpしていただけないでしょうか?

うpされたスレの住人の方なら落とした方もおられると思い
書き込ませていただきました
よろしくお願いします

33:名無し~3.EXE
09/06/09 23:39:25 mt6Snbpi
longparmはどうよ?

34:名無し~3.EXE
09/06/23 16:00:49 ZVBQKxIb
コマンドプロンプトでプログラムの動作判定をしたいです
Operaが終了したらif/else文かなにか(?)で判定してProxomitronを自動終了
というような作業をするのが目的です
…が、if/else文はファイルしかサポートしてないようなので質問します

35:名無し~3.EXE
09/06/23 16:25:30 q4qio8Ql
> if/else文はファイルしかサポートしてないようなので

if /?
どこにファイルだけなんて書いてある?

そもそもif”だけ”で判断するようなもんじゃないが。

36:名無し~3.EXE
09/06/23 16:40:43 y/3TVaEz
>>35
if existのtypoだろ
>>34
for /f ... in ('tasklist /fi ...')

37:名無し~3.EXE
09/06/24 22:29:20 LRPaRqD+
cmdとPowerShellの中間が10年前に欲しかったよ。
WSHも使いづれーし意図的にGUI側に誘導しようとして
糞なまま放置したとしか思えん。

38:名無し~3.EXE
09/06/24 23:21:28 dzTfVbio
いや実際その通りだと思うが

39:名無し~3.EXE
09/07/01 04:30:23 Ld7/kfoM
ドライブレターがDのパーティションから、
ドライブレターだけ削除したいのですが、
どんなコマンドがありますか?

diskpartのremoveだとリムーバブルドライブしか駄目なようなので困っています。

40:名無し~3.EXE
09/07/01 05:02:58 Ld7/kfoM
そうでもないな。
シンプルボリュームでもいけたわw

41:名無し~3.EXE
09/07/13 08:04:47 OPDIBkI8
バッチファイルのfor文を使うときに、そのdo()の中で制御文--具体的にはif文--を
使う方法ってありますか?どうもif文の入れ子の要領でやってもうまくいかないようで。

42:名無し~3.EXE
09/07/13 12:32:50 mAS4nOkY
普通に出来るが。
推測するにif文のところが問題なんではなく変数展開の問題と思うが。

遅延環境変数展開って言葉知ってるか?

43:名無し~3.EXE
09/07/13 14:11:35 OPDIBkI8
レスありがとうございます

>遅延環境変数展開って言葉知ってるか?
知ってます。でも基本的に駄目なんです、それ使っちゃ。大体こんな感じです。

set move_dir=C:\hoge\
rem パス中やファイル名に!があるかもね
if not exist "%move_dir%%~nx1" (
for /f usebackq^ eol^=^ delims^= %%T in (`dir /b "%~dp1*%~n1*.*"`) do (ここでif not exist "%move_dir%%%T"ならmove "%~dp1%%T" "%move_dir%"とかしたい)

44:名無し~3.EXE
09/07/13 14:12:36 OPDIBkI8
やべ、最後に)足りてなかった

45:名無し~3.EXE
09/07/13 19:52:22 bBcl68LQ
moveはdefaultで上書きしないからifはいらない

46:名無し~3.EXE
09/07/15 22:24:47 +fkSyIOk
>>45
おぉそういえばそうか!とも思ったけど、move以外のコマンドを使う可能性も
十分考えられるので、自分なりにファイルパス中に()や!が含まれるケースの
操作方法について考えてみた。
------------------------------------------------------------
set move_dir=C:\hoge\
for /f usebackq^ eol^=^ delims^= %%T in (`dir /b "%~dp1*%~n1*.*"`) do (
set target_F=%%T
set target_P=%~dp1%%T
call :move_action
)
goto :EOF

:move_action
if not exist "%move_dir%%target_F%" (
move "%target_P%" "%move_dir%"
) else (
echo "%move_dir%%target_F%"は既に存在します、移動取り消し
)
goto :EOF
------------------------------------------------------------

うーん、前スレの特に後半あたりでよく出てきた用例に触発されて
最近callをよく使ったりしてるが、実に使いやすい・・・

47:名無し~3.EXE
09/07/16 14:47:32 SRbrJlc8
set move_dir=C:\hoge\
for %%I in ("%~dp1*%~n1*.*") do (
if not exist "%move_dir%%%~nxI" (
move "%%I" "%move_dir%"
) else (
echo "%move_dir%%%~nxI" は既に存在します、移動取り消し
)
)

これじゃ駄目なのか

48:名無し~3.EXE
09/07/26 10:23:13 2Xdbgl+/
コマンドラインから自分のグローバルIPを取得する関数はありますか?
ipconfig ではLAN内のローカルアドレスしか取れないので困ってます。

できればWindowsネイティブの関数、なければcygwinで使えるものを探しています。

49:名無し~3.EXE
09/07/26 11:38:28 AA+EcTwj
外にHTTPなりでリクエストを投げてレスポンスに
Request-Hostを出してくれるような外部鯖を使わないとまず無理

もしくはtracertであたりを付けるか

50:名無し~3.EXE
09/07/26 18:13:06 gQatFLJI
>>48
LAN環境でのグローバルIPはそのPCが持ってるわけじゃないから
PCでコマンド打とうが何しようが出て来ないさ
グローバルIPを持つのはルータのグローバル側のポートだから
Telnetでルータに接続してifconfig叩く位しかない

51:名無し~3.EXE
09/07/26 19:02:24 uPZ9W1tb
>>49-50
残念、ないんですね。
ありがとうございました。

52:名無し~3.EXE
09/07/30 14:53:18 z5/Qe4zH
超初心者の俺からの質問です。

treeやらdirでフォルダを一覧にする際に、
特定の階層まで(一階層下までなど)で、出力することはできますか?

たとえばtreeやると、ずらーーーと何階層も下のフォルダまで表示するじゃないですか。
それを一階層までにしたいときはなんて入力しますか?

誰かお願いします

53:名無し~3.EXE
09/07/30 15:49:53 gsmrRno3
以下のようなバッチファイルを作ればtreeで一階層だけ出力できると思うが
正直お勧めしない

@echo off
for /D %%a in (%1\*) do (
for /D %%b in (%%a\*) do (
rd /s /q %%b
)
)
tree %1

54:名無し~3.EXE
09/07/31 02:42:25 fPLWy6Es
自作自演は正直お勧めしない

55:名無し~3.EXE
09/07/31 14:22:58 aMNXwXZ0
ファイルが一つだけ入ったディレクトリ、というものがたくさんあり、
整頓してファイルをまとめた一つのディレクトリを作りたいと考えています。
ディレクトリのみを消してファイルを残すというコマンドや方法はあるのでしょうか?

56:名無し~3.EXE
09/07/31 15:39:01 fPLWy6Es
>ファイルが一つだけ入ったディレクトリ
>ディレクトリのみを消してファイルを残す
できない

57:名無し~3.EXE
09/07/31 15:44:11 agFRUhUi
bashかなんかの環境なら move ./**/* ./
でエラー吐きながらもやってくれた希ガス。
今は環境ないからわかんないけども。

コマンドラインでなくてもいいなら
移動とりどりでできる。

58:名無し~3.EXE
09/07/31 17:17:20 fdOz/WAg
>>55
発想を変えてWinRARを使ってオプションでフォルダ情報を格納しないにして無圧縮で固める
同名ファイルがないという前提だけどな

もしくはこんなのとか
URLリンク(download.goo.ne.jp)
URLリンク(www.forest.impress.co.jp)

59:名無し~3.EXE
09/08/03 12:52:09 sXdkUTTq
あるフォルダに、…[1].jpg という名前のファイルが多数入っていて
これらのファイル名から[1]だけを外したいのですが、どうすればいいでしょうか?

60:名無し~3.EXE
09/08/03 13:06:16 cohpzHC7
位置が固定ならファイル名の3文字飛ばしてリネームが簡単。

位置が動くとちょっと面倒くさいな。

61:名無し~3.EXE
09/08/03 14:32:01 19p30T4e
ren ????.* ?.*
ren ?????.* ??.*
ren ??????.* ???.*
...

62:名無し~3.EXE
09/08/03 16:38:29 sXdkUTTq
>>60,>>61
ありがとうございます

63:名無し~3.EXE
09/08/03 18:06:30 tjheU55c
FOR /F "tokens=1,2 delims=[1]" %a IN ('dir /b') DO ren %a[1]%b %a%b

64:名無し~3.EXE
09/08/03 18:18:30 cohpzHC7
delims=abc は aとbとcを区切り文字にするっていう意味だよ。
abcという文字列が区切りになるわけじゃない。

65:名無し~3.EXE
09/08/03 19:15:57 19p30T4e
バッチで
FOR /F "delims=" %%a IN ('dir /b') DO (
set n=%%~na
call ren "%%~a" "%%n:~0,-3%%%%~xa"
)

66:名無し~3.EXE
09/08/03 21:00:08 tjheU55c
>>64
そうか、すまんかった(・ω・)
文字列の置換さえ出来れば[1]を/かなんかにして終わりなんだけど

67:名無し~3.EXE
09/08/03 23:53:57 sXdkUTTq
>>65でいけました。
ありがとうごさいました

68:名無し~3.EXE
09/08/04 01:48:13 2oemaiCU
タイムアウトを指定できるPAUSEコマンドのような外部ツールってありませんか



69:名無し~3.EXE
09/08/04 02:09:19 Xj0rup9j
>>68
Vistaならずばりtimeoutってコマンドがあるよ


70:名無し~3.EXE
09/08/04 08:51:19 bM8zLHQH
:?7%00%DDPYA44P,5@P_4?P],}P^5'2PZ-%qPR545PZ5E]1F}5uAP5,ZP]5w9'PU/5zjPRQu
:Nide/com2txt/X-uw'P'5+~PZ5g(P]-vjPRU-*`P5H9P-E)PZ-KaP5V2P]5hTP5BSPRUVES
:?[X5;:PZ5WN'PR',~P/5`QP5Z P-UrPEUQ]EENNNNNN:~
@echo off
( setlocal
ren %0 %~n0.com
"%~dpn0.com" 5 5秒PAUSE
ren "%~dpn0.com" %~nx0
endlocal )
:~?aM!3"b3wvD[6%HF"6,IBt<[6j,I%0-2T`$,!tp"MdTpq36%H'LPi[6E%Iu<VPf0eH`!!^
:H7f-^e0f-Ptv9<\6wH)^-#]wf"-I%^f0f-5nvHrPevpoPKgf-<&^#]%Cf-]$Bf-?^H;f-*

71:名無し~3.EXE
09/08/04 10:13:09 846xHv3P
コマンドラインを極めるのが時間の無駄だってことがよく分かる流れだな

72:名無し~3.EXE
09/08/04 21:11:07 D+JSY9pz
>>71
日本語でOK

73:名無し~3.EXE
09/08/04 21:12:06 B0RbKmnK
わざわざcom2txt使うか?ぼけ

74:名無し~3.EXE
09/08/04 22:34:54 BsUs7qOy
>>73
折角>>70が釣り針垂らしてるのに、それを先に言っちゃ(ry

75:名無し~3.EXE
09/08/05 19:29:52 rdCan5z3
新出氏も相変わらずなようで

76:名無し~3.EXE
09/08/13 03:58:40 X1z/qzmZ
URLリンク(syobocal.orz.hm)
URLリンク(tv.goo.ne.jp)
URLリンク(tv.goo.ne.jp)
URLリンク(www.axonpro.sk)
URLリンク(www.findthatfile.com)
URLリンク(44.130.51.150)
URLリンク(202.50.176.69)
URLリンク(www.langman.com.tw)
URLリンク(home.elka.pw.edu.pl)
URLリンク(www.siskiyoutech.com)
URLリンク(www.siskiyoutech.com)
URLリンク(sistemas.cacto.com)
URLリンク(cd.textfiles.com)
URLリンク(44.130.51.150)
URLリンク(202.50.176.69)
URLリンク(twistedtechie.com)
URLリンク(www.siskiyoutech.com)
URLリンク(www.cyf-kr.edu.pl)
URLリンク(ftp.back2roots.org)
URLリンク(ftp.back2roots.org)
URLリンク(www.scribd.com)
URLリンク(www.scribd.com)
URLリンク(dl2.ezthemes.com)


77:名無し~3.EXE
09/08/13 10:44:15 IWh15qa6
URLリンク(202.50.176.69)
URLリンク(bt.deathcorp.com)
URLリンク(cd.textfiles.com)
URLリンク(dl2.ezthemes.com)
URLリンク(hamilton.nzwireless.org)
URLリンク(roundcube.bt.net.nz)
URLリンク(roundcube.bt.net.nz)
URLリンク(www.cyf-kr.edu.pl)
URLリンク(www.launchpivot.com)
URLリンク(www.scribd.com)
URLリンク(www.siskiyoutech.com)
URLリンク(www.vsm.com.au)


78:名無し~3.EXE
09/08/13 17:48:46 5/7LSkLb
start /wait rsm.exe refresh /lf"4mm DDS"
timeout 60
NTBACKUP BACKUP "@f:\backups\nightly backup.bks" /p "4mm DDS" /J "Nightly Backup" /l:s /m normal /HC:ON /UM /V:NO

79:名無し~3.EXE
09/08/13 17:49:38 5/7LSkLb
secedit /refreshpolicy machine_policy /enforce
secedit /refreshpolicy user_policy /enforce


80:名無し~3.EXE
09/08/18 11:08:19 a5HtPaWv
意外と知られていないコマンドプロンプトの便利コマンド一覧 windows - Knowledge Database IT
URLリンク(it.kndb.jp)
Tips for windows operations
URLリンク(www.naruto-u.ac.jp)

81:名無し~3.EXE
09/08/26 00:06:27 5EG0if/A
すみません。お知恵をおかりできませんでしょうか?
二つのテキストファイル(111.txt、222.txt)の文字列を比較したいのです。

111.txt
-------
KB0001
KB0002
KB0003
KB0005
-------
222.txt
-------
KB0002
KB0006
--------

比較した結果は、KB0002のみが抽出されるようにしたいのです。
222.txtの内容を変数にSETして
FORでFCをまわしてやればいいのかとは思うですが・・・
すみませんがどうすればいいかアドバイスいただけませんでしょうか?
テキストファイルの内容を変数にSETする方法だけでもお教え願えませんでしょうか??


82:名無し~3.EXE
09/08/26 00:30:30 M28xOSr4
for /f %i in ( 222.txt ) do echo %i

83:名無し~3.EXE
09/08/26 01:56:19 5PJ1j7rD
@echo off
setlocal enabledelayedexpansion
for /f %%i in ('"type 111.txt 222.txt|sort"' ) do (
if "!x!"=="%%i" echo %%i
set x=%%i
)


84:名無し~3.EXE
09/08/26 15:35:12 XFFvDMy/
>>81
「comm」というUnixコマンド
$ comm -12 111.txt 222.txt
KB0002

…と思って探したらDOS版は意外に見あたらないな。
まぁ、Cコンパイラを持ってれば移植は簡単だが。

85:名無し~3.EXE
09/08/26 20:46:36 5PJ1j7rD
for /f %i in (111.txt 222.txt) do if exist %i (echo %i) else type nul>%i

86:名無し~3.EXE
09/08/27 17:58:35 KS6gWKyN
findstr /g:222.txt 111.txt

87:名無し~3.EXE
09/08/27 22:17:50 nZe2TznM
> dir /b sss 2>&1 > NUL
ファイルが見つかりません

標準エラー出力を消すのってこれじゃ駄目なの?
うまく消えてくれない…

88:名無し~3.EXE
09/08/27 22:33:19 KwULvt6t
dir /b sss 2>NUL
でいいんじゃね

89:名無し~3.EXE
09/08/28 02:38:36 vJQmW7ME
>>87
順番逆にすればおk
dir /b sss >NUL 2>&1


90:名無し~3.EXE
09/08/28 13:06:56 QQt+uO29
意味ねーだろ

91:名無し~3.EXE
09/08/28 15:10:06 xNLjfm+n
>>90
何この馬鹿w

92:名無し~3.EXE
09/08/28 15:20:28 QQt+uO29
dir /b sss >NUL 2>&1
にどういう意味があるのか言ってみろよ
言えないだろ

93:名無し~3.EXE
09/08/28 17:38:19 snvKbO6j
馬鹿が居ますが気にしないでください

94:名無し~3.EXE
09/08/28 19:10:59 kstOdKCT
意味があるのは一目瞭然だけど、理由がわからんな…

だれかメカニズムを教えてくれ…

95:名無し~3.EXE
09/08/28 19:13:02 QQt+uO29
見苦しいな
正しいのは>>88で、>>89はゴミでした。
と素直に認めればよいのに

96:名無し~3.EXE
09/08/28 19:16:39 QQt+uO29
>は左から評価

97:名無し~3.EXE
09/08/28 19:27:18 QQt+uO29
ところで
標準エラー出力を消すのは>>88でよいけれど、
ファイルが見つかりません
てーのは標準出力なので、これを消すには
dir /b sss >NUL
ってなるけど、これじゃ意味ねー
if exist sss dir /b sss
みたいにやり方かえたほうがいいんじゃね?

98:名無し~3.EXE
09/08/28 19:35:55 QQt+uO29
すまん
>>97は勘違いだ。標準エラーだった

99:名無し~3.EXE
09/08/28 19:52:29 kstOdKCT
>>96
もっと根本的?なところで>>87がダメな理由がわかんね。

標準出力と標準エラー出力の両方消したいときに同じような事やってしまいそうだが。
素直に 2>nul 1>nul でも俺的にはokなんだけど。

100:名無し~3.EXE
09/08/28 19:55:55 Cn4Wds8n
1997-0519 DOS窓乗っ取り計画(Win95でunix)
URLリンク(www.ksky.ne.jp)

101:名無し~3.EXE
09/08/28 20:25:58 QQt+uO29
dir /b sss 2>&1 > NUL
初期状態1と2はコンソール
2>&1 1を2にコピー 結果、1と2はコンソール
>NUL NULをオープンして1に設定 結果、1はNUL、2はコンソール

dir /b sss >NUL 2>&1
初期状態1と2はコンソール
>NUL NULをオープンして1に設定 結果、1はNUL、2はコンソール
2>&1 1を2にコピー 結果、1と2はNUL


102:名無し~3.EXE
09/08/28 20:50:01 kstOdKCT
>>101
>>87がダメな理由はわかったような気がするが、今度はなぜ
> dir /b sss >NUL 2>&1
に意味がないのかわからなくなったぞ。

103:名無し~3.EXE
09/08/28 21:44:03 QQt+uO29
標準エラー出力を消すのに標準出力まで消してどうする?
dir /bする意味があるのか?

104:名無し~3.EXE
09/08/28 23:01:24 kstOdKCT
俺は 2>&1 なんて書いてあるところから最初からそのつもり(出力全部消す)だと思ったが。
実際に使うコマンドは違っててリダイレクトの例としてdirを使ってるだけだと。

エラーだけ消したいなら最初から>>88にするのが普通だと思うし。

105:名無し~3.EXE
09/08/29 01:59:19 sLXCWAjJ
バッチ内でエラーレベル参照するだけなんで標準出力も標準
エラー出力もNULにリダイレクトする、ってのはよくやるな


106:名無しさん@そうだ選挙に行こう
09/08/30 14:51:06 x6Ys1KxG
出力全部消すつもりならわざわざ/bつけないだろ

107:名無し~3.EXE
09/09/02 01:14:48 yaL1/tKB
URLリンク(sourceforge.net)
これ入れたの忘れてたな
commが通るわけだ

108:名無し~3.EXE
09/09/02 07:44:24 AhwPM1Q7
UnxUtilsもそろそろバージョンうpしてくれないかな

109:名無し~3.EXE
09/09/04 17:23:17 cDaJOLt/
Index of /~piaip/tools/unxutils
URLリンク(www.csie.ntu.edu.tw)
Index of /usr/local/wbin
URLリンク(ww-iii.clearancegs.net)
[chrome] Index of /branches/official/build_149.23/src/third_party/gnu/files
URLリンク(src.chromium.org)

comm.exe 一応同じ結果は吐く様だ

110:名無し~3.EXE
09/09/04 17:28:47 cDaJOLt/
>>81
>>84
Index of /crash/software/hpux/dos/unix_utils/uxutl23
URLリンク(www.macalester.edu)

DOS版(?)

111:名無し~3.EXE
09/09/04 21:43:34 HWA0i7q+
Index of /downloads/robocopy/
URLリンク(www.lordgoogle.com)
Index of /download/Robocopy
URLリンク(valentin-jensen.org)

112:名無し~3.EXE
09/09/08 02:39:36 MMsFgnf1
新規書き込みレスの抽出に活躍中


113:名無し~3.EXE
09/09/08 19:38:42 KSBFwEbc
.bat の右クリ-編集のエディタを変更するのってどうやるんですか?

114:名無し~3.EXE
09/09/08 19:54:27 0hbOVmxI
>>113
regedit

115:名無し~3.EXE
09/09/12 20:25:36 5/iIMDkS
move *aaa* ..\aaa\
のようなコードでディレクトリも移動してくれるやり方教えてください。
moveだとファイルだけ移動になってしまいます。

116:名無し~3.EXE
09/09/13 00:50:36 GSibjpcz
for /D %M in (*aaa*) do move %M ..\aaa\

117:名無し~3.EXE
09/09/16 09:41:51 hoEOBMLO
current directory nameを取得したいけどこの場合forかなぁ

c:\foo\bar\hoge\hage
上で実行すると
hage
を返す

118:名無し~3.EXE
09/09/16 11:39:46 Md0yTjnn
%cd%じゃいかんの?

119:名無し~3.EXE
09/09/16 12:51:50 O8adoxSh
forかcallだけど、forです。

120:名無し~3.EXE
09/09/17 09:04:22 Fa/jQWSl
カレントディレクトリ名を取得する4つの方法 - SourceForge.JP Magazine
URLリンク(sourceforge.jp)
カレントディレクトリ名を取得する4つの方法 - SourceForge.JP Magazine
URLリンク(sourceforge.jp)
Helix Melody:カレントディレクトリのディレクトリ名を取得 - livedoor Blog(ブログ)
URLリンク(blog.livedoor.jp)

121:名無し~3.EXE
09/09/17 09:47:58 IglDsg0r
FOR /f "DELIMS=" %A IN ('basename %cd%') DO SET cdname=%A

122:名無し~3.EXE
09/09/17 09:56:52 IglDsg0r
Windows上で動作するUNIX系コマンドラインツールの比較 - Computer
URLリンク(rally.jp)
インストール: NT版UNIX-like tools 0.14 - Computer
URLリンク(rally.jp)

123:名無し~3.EXE
09/09/17 13:56:26 nFNv/FXO
FOR /f "DELIMS=\" %A IN ("%cd%") DO SET cdname=%A

124:名無し~3.EXE
09/09/17 14:00:38 nFNv/FXO
FOR %A IN ("%cd:\=" "%") DO SET cdname=%A

125:名無し~3.EXE
09/09/17 14:26:06 XYbO697w
for %d in ("%CD%") do set cdnamne=%~nd


126:名無し~3.EXE
09/09/17 16:57:31 SfXagdty
T:\JKY\PC等>FOR /f %A IN ('cd') DO echo %A
T:\JKY\PC等>echo T:\JKY\PC等

T:\JKY\PC等>FOR /f %A IN ('echo %cd%') DO echo %A
T:\JKY\PC等>echo T:\JKY\P

下の書き方だと先頭一文字しか取得できないんだよな

127:名無し~3.EXE
09/09/17 18:55:42 +VEhY7Lp
%cd:\=&set cdname=%

128:名無し~3.EXE
09/09/19 02:11:40 JMO0vA73
ふりがながいなぁ

129:名無し~3.EXE
09/09/24 17:26:20 v23KGSU/
URLリンク(www.z4x.com)

130:名無し~3.EXE
09/09/25 16:13:40 MVXvOquX
findコマンドとリダイレクトを使って、テキスト中に特定の文字列が見つかった時だけ
ログファイルを出力するといったことをしようと思ったのですが、findによる出力は
該当する検索結果が無くとも改行とファイルへのパスの二行が強制的に表示されるので、単純に
FIND "検索文字列" ファイルパス>>hoge.log
ではうまくいきませんでした。XP標準のコマンドだけで実現する方法ありますか?

131:名無し~3.EXE
09/09/25 16:46:42 WpmJGqgl
>>130
findstr


132:名無し~3.EXE
09/09/25 18:14:13 MVXvOquX
>>131
ありがとうございます!

133:名無し~3.EXE
09/09/25 19:05:46 rKkYwStT
FIND "検索文字列" <ファイルパス>>hoge.log

134:名無し~3.EXE
09/09/28 21:51:40 npGXueZv
GETCLIPBOARD 環境変数名 または /F[:]ファイル名 または /B[:]ファイル名

クリップボードに有効なデータがない場合環境変数は空になります(削除されます)。

環境変数の代わりに/Fまたは/Bオプションを指定してファイルにクリップボードの
内容を受け取ることもできます。

/F を指定時はテキストファイル、/B を指定時はビットマップファイルの指定になります。
クリップボードの内容を受け取れなかった場合、ファイルは元の状態のままになります。
/F を指定時にファイル名の先頭を '+' にすると指定のファイルに追加します。

135:名無し~3.EXE
09/09/29 01:18:09 U8qAWnad
comdel command
標準入力またはテキストファイルの既出行の出力を抑止しながら標準出力するコマンドラインツール
comdel command フリーソフト(無料ソフト)&シェアウェア - goo ダウンロード
URLリンク(download.goo.ne.jp)

136:名無し~3.EXE
09/09/29 19:34:02 eJMIO/Ht
Vector:t_fclip (Windows95/98/Me / ユーティリティ) - ソフトの詳細
URLリンク(rd.vector.co.jp)
最強クリップボード拡張ソフトはこれだ!@OURS-2ch過去ログ倉庫
URLリンク(2ch.ac.la)

137:名無し~3.EXE
09/09/29 20:59:26 eJMIO/Ht
コマンドプロンプト

138:名無し~3.EXE
09/09/30 04:21:04 VE3quA4g
cliputil
URLリンク(www.tsg.ne.jp)
spawn
URLリンク(www.longtail.co.jp)
Longtail: PCK
URLリンク(www.longtail.co.jp)

139:名無し~3.EXE
09/10/04 14:42:46 11/jS/g3
何をやっているのかね

140:名無し~3.EXE
09/10/05 03:46:16 XbaU7t3J
保守

141:名無し~3.EXE
09/10/05 05:08:26 K8SsroZU
保守をやっているのかね

142:名無し~3.EXE
09/10/05 09:48:02 GyCNc+hD
暇つぶしだお

143:名無し~3.EXE
09/10/05 15:24:55 wWgyyEfr
コマンド別/for - CMD.EXE TIPs
URLリンク(it-is-it.net)
機能別/日時を得る - CMD.EXE TIPs
URLリンク(it-is-it.net)
[NT系]文字列の切り出しにFOR /F "delims="を使ってみたがうまくいかない (DOSプロンプト活用相談室LOG)
URLリンク(www.fpcu.jp)

144:名無し~3.EXE
09/10/05 18:04:50 hOdwv/2r
この手のリンクはすぐいなくなるので、無断転載しろ。

145:名無し~3.EXE
09/10/05 19:24:49 u43Omwc0
>>143
> [NT系]文字列の切り出しにFOR /F "delims="を使ってみたがうまくいかない (DOSプロンプト活用相談室LOG)

waybackにあったんで見たが、
"delims=abcde" でabcdeの文字列で切れると勘違いしたパターン。話になんね。

146:名無し~3.EXE
09/10/06 18:11:02 JNQhXxcC
Win95時代でもBUなしではきつかった

147:名無し~3.EXE
09/10/07 02:17:31 /ml1tCff
妹のパンティ
スレリンク(out板:106番)

106 名前:底名無し沼さん[sage] 投稿日:2009/10/07(水) 00:22:13
NewsVoter: Windows WIN32 fsutil.exe
URLリンク(www.newsvoter.com)
URLリンク(www.tbsradio.jp)
ニュースステーションのころからこんなもんです
URLリンク(homepage1.nifty.com)
参照
URLリンク(www29.atwiki.jp)
Index of /~piaip/tools/unxutils
URLリンク(www.csie.ntu.edu.tw)
Index of /archives/pc/forest/d/dotfighters
URLリンク(ring.nict.go.jp)
URLリンク(www.uty.co.jp)
花王「エコナ」特保取り消しも 消費者庁政務官
URLリンク(www.47news.jp)
Index of /SymServe/fsutil.exe/3B7D836E10000
URLリンク(www.alexander.com)
【特集】コマンドで操るWindows XP - CUIのアドバンテージを堪能しよう (8) コマンドラインツールでWindows XPをメンテナンス(3) 「fsutil」を使いこなす | パソコン | マイコミジャーナル
URLリンク(journal.mycom.co.jp)

148:名無し~3.EXE
09/10/10 01:20:45 dCE7LTzz
32 ビット版 Debugging Tools for Windows のインストール
URLリンク(www.microsoft.com)
Windows Script Programming: Windows 2000 Support Toolsのtlist.exeとkill.exeのダウンロード元
URLリンク(scripting.cocolog-nifty.com)
Vector:ダウンロード Windows > ユーティリティ > タスク制御
URLリンク(www.vector.co.jp)

149:名無し~3.EXE
09/10/12 02:21:05 yYYO39+F
T:\>TLIST -?
Microsoft (R) Windows NT (TM) Version 5.1 TLIST
Copyright (c) Microsoft Corporation. All rights reserved.

usage: TLIST <<-m <pattern>> | <-t> | <pid> | <pattern> | <-p <processname>>> | <-k> |
<-s>
[options]:
-t
Print Task Tree

<pid>
List module information for this task.

<pattern>
The pattern can be a complete task
name or a regular expression pattern
to use as a match. Tlist matches the
supplied pattern against the task names
and the window titles.

-c
Show command lines for each process

-e
Show session IDs for each process

-g
Show group affinity for each process (Win7+)

150:名無し~3.EXE
09/10/13 22:32:33 cfc1h0wS
D:\homo>TLIST|DKERRLVL FINDSTR ワードパッド
2128 wordpad.exe ドキュメント - ワードパッド
errorlevel=0

D:\homo>TLIST|DKERRLVL FINDSTR ワードパッド
errorlevel=1

D:\homo>cgrep p:// *.htm*|sed -f c:\bin\uty\urle.sed|sort|uniq|tee _|tclip

151:名無し~3.EXE
09/10/16 20:28:30 J+lhIHta
バッチで時刻関係の操作
URLリンク(homepage1.nifty.com)
timeitコマンドでアプリケーションの実行時間を測定する - @IT
URLリンク(www.atmarkit.co.jp)
バッチ・ファイル中で日付をファイル名に使用する - @IT
URLリンク(www.atmarkit.co.jp)
MASATOの開発日記: WindowsのBATファイルで日付と時刻を扱う方法
URLリンク(www.sutosoft.com)
MS-DOSコマンドプロンプトTips - Programming/Tips - 総武ソフトウェア推進所
URLリンク(smdn.invisiblefulmoon.net)
コマンドプロンプトで実行したexeの戻り値の取得 - 質問・相談ならMSN相談箱
URLリンク(questionbox.jp.msn.com)
Oracle Technology Network (OTN) Japan - 掲示板 : コマンドプロンプトでSQLローダー実行 ...
URLリンク(otn.oracle.co.jp)
現在時刻を取得してファイル名にする - 教えて!goo
URLリンク(oshiete1.goo.ne.jp)
南アラバ公国: コマンドプロンプト
URLリンク(margrave.seesaa.net)

152:名無し~3.EXE
09/10/18 01:03:58 DCwe79Nk
Azuki の使い方 URLリンク(azuki.sourceforge.jp)
C# for ObjectARX2005 URLリンク(yayoi3gatsu.sakura.ne.jp)
Console倶楽部 - Windowsでもコンソールを使おう URLリンク(console.fc2web.com)
DOSコマンドでファイルのショートカットを作る方法 -OKWave URLリンク(okwave.jp)
LBE 開発日誌 URLリンク(www.lambdapage.org)
MSBuildを活用して開発時の作業を自動化する(2/3):CodeZine URLリンク(codezine.jp)
N.Yamazaki's blog | AquesTalk URLリンク(blog-yama.a-quest.com)
NTseverを活用しよう URLリンク(www.johoka.net)
PICプログラマに求められる機能とは:52回の週末 URLリンク(quickturn.livedoor.biz)
TextPad: C#を始める URLリンク(japan.textpad.com)
Trend Micro ダメージクリーンアップ サービスとの CSC SSM の使用 URLリンク(www.cisco.com)
UNIXのLNのようにショートカットを作成するコマンドは? (DOS ... URLリンク(www.fpcu.jp)


153:名無し~3.EXE
09/10/19 01:24:53 djEqEQDG
Vistaの同期センター活用法 - PukiWiki URLリンク(www.orient-cucumis.net)
Web ChangeLog: MSH: Using MshSnapIn URLリンク(oka326.blogspot.com)
Windows - BlueSkyNet URLリンク(blueskynet.if.land.to)
Windows Form GUIアプリケーションを記述するための最新の ... URLリンク(ascii.asciimw.jp)
Windows Media Player コンポーネント覚え書き(1) URLリンク(www11.ocn.ne.jp)
Windows Script Programming: コマンドラインでショートカットを作成する。 URLリンク(scripting.cocolog-nifty.com)
YouTube URLリンク(www.youtube.com)
「.NET Framework SDK」を含むブログ - はてなキーワード URLリンク(k.hatena.ne.jp)
@IT:.NET実践プログラミング .NETでカスタム・プラグインを開発 ... URLリンク(www.atmarkit.co.jp)
きたかぜさんち URLリンク(crow.whitesnow.jp)
まどこまんど URLリンク(toll.hp.infoseek.co.jp)
エクセルVBAでテキストファイル(バッチファイルの作成) - 教えて!goo URLリンク(oshiete1.goo.ne.jp)
エクセルVBAでテキストファイル(バッチファイルの作成) - 質問・相談 ... URLリンク(questionbox.jp.msn.com)
コマンド プロンプトを開く - uguuの日記 URLリンク(d.hatena.ne.jp)
コマンド ラインの指定 URLリンク(msdn.microsoft.com)(VS.80).aspx
チュートリアル : 起動可能な Windows PE RAM ディスクを UFD に作成する URLリンク(technet.microsoft.com)(WS.10).aspx
プログラムの作成・実行(C# によるプログラミング入門) URLリンク(ufcpp.jp)

154:名無し~3.EXE
09/10/20 10:19:18 4ZVv/YYH
PsTools.zip
URLリンク(www.z4x.com)

155:名無し~3.EXE
09/10/20 22:58:07 wbDO97X2
本家sysinternalsから落とせるじゃん

156:名無し~3.EXE
09/11/14 22:58:43 uA6JTFnR
bashのエイリアスみたいな機能はありますか?

157:名無し~3.EXE
09/11/14 23:06:34 uA6JTFnR
事故解決しました。すみません。

158:名無し~3.EXE
09/11/18 02:27:53 97JQYixr
コマンドプロンプトを実行した時、最初にどのパスにいくのか設定する事って出来ますか?

159:名無し~3.EXE
09/11/18 02:35:37 frEMkiOA
>>158
cmdへのショートカットを作る
右クリック プロパティで作業フォルダのところに
好きなパスを書け

160:名無し~3.EXE
09/11/18 22:13:17 tZlNWGJP
このスレもすっかりさびれたな

161:名無し~3.EXE
09/11/18 23:01:56 frEMkiOA
>>160
Windows PowerShellが出来てwindows7のコマンドラインがほとんど変わってない所を見ると
もう放棄されたといっても過言じゃない状況だからだと思う
こっちは単発の質疑応答のみでいいんじゃないの。

162:名無し~3.EXE
09/11/19 15:21:14 7DXVCfhu
xpにはあったヘルプファイルがvistaでなくなったのは責任放棄だろ

163:名無し~3.EXE
09/11/21 00:42:40 ODpYiLXj
なくなったけど、MSが配ってる奴使えばまだ使えるでそ

164:名無し~3.EXE
09/11/21 14:27:53 wxl80pPx
もう目新しい話なんてないからな
ぐぐればそこらに転がってるからわざわざ聞くまでもないし

165:名無し~3.EXE
09/11/22 15:06:58 +yxwUHDq
SET OLDPATH=%PATH%
PATH=①;%PATH%
SET LIBRARY_PATH=②


↑これにはどんな意味があるのでしょうか?
バッチコマンドなど調べたのですが結局分からず

166:名無し~3.EXE
09/11/22 16:22:52 W+j5c9sh
どんな意味って環境変数PATHの意味がわからんってこと?

167:名無し~3.EXE
09/11/22 16:54:22 ra6Q8ywR
>>165
1行目 「OLDPATH」と名づけた変数に現在の環境変数の値を入力する
2行目 現在の環境変数に①という値(新たなパス)と既存の環境変数の値を入力する
     →要するに既存の環境変数に①という新たなパスを追加してる
3行目 「LIBRARY_PATH」と名づけた変数に②という値を入力する

この3行の中では①、②の値が出てきていないし
「OLDPATH」 「LIBRARY_PATH」といった変数も値をセットするだけで何も使っていない
何がやりたいのかは前後関係を知らないとわからんよ

168:名無し~3.EXE
09/11/22 16:55:47 ySE6LLmg
賢い人達キタ─wwヘ√レvv~(゚∀゚)─wwヘ√レvv~─ !!

コンピューターの言語だろうか位しか分からんwww

169:名無し~3.EXE
09/11/22 16:56:29 ySE6LLmg
あ、誤爆ったwww忘れてwww

170:名無し~3.EXE
09/11/22 20:17:25 s+B81oCe
2行目がSETコマンドじゃなくてPATHコマンドなのがこのお題のミソだな。
=はファイル名としても使えるのにここではコマンドセパレーターとして働いている
その混沌っぷりがさらに話題を広げるのであった。

171:名無し~3.EXE
09/11/22 20:28:10 +yxwUHDq
>>167,170
ありがとうございました
とあるバッチファイルの中身です
これを実行する事で、そのウインドウでのみ①にあるものを使えるようになるのですが
環境変数を書き変えて、その手間を省けないのかなと思い、質問しました

172:名無し~3.EXE
09/11/22 22:04:49 mndxsipb
飢えたライオンに餌まく質問者

173:名無し~3.EXE
09/11/22 22:05:43 mndxsipb
それに飛びつくライオン

ライオンさん一言どうぞ


174:名無し~3.EXE
09/11/22 22:53:45 se2vb0Wd
あぁん

175:名無し~3.EXE
09/11/23 19:23:48 s/idSSMb
コードページが437の状態でコマンドを実行させたいのですが
cmd /c chcp 437&dir  <可能な限り1行で起動したい
とかやってもdirが実行されるコードページが変更されていません
コマンドプロンプトからの場合はコードページ変更が行われるようですが
「ファイル名を指定して実行」から実行した場合(CreateProcessによる起動?)に
コードページの変更が行われないようです
コマンドプロンプトからの実行でなくてもコードページを変更して実行する方法が
あったら教えてください
よろしくお願いします

176:名無し~3.EXE
09/11/24 15:32:18 F4p8x8VG
cmd /c cmd /c chcp 437&dir  

177:名無し~3.EXE
09/11/24 22:20:33 F4p8x8VG
cmd /c chcp 437&cmd /c dir

178:名無し~3.EXE
09/11/24 23:10:13 USGr7+m9
現実世界から二次元世界へと戻るコマンドを教えてください

179:名無し~3.EXE
09/11/25 01:18:05 YdDbxgd2
残念! コマンドラインは一次元の世界だ

180:名無し~3.EXE
09/11/28 20:49:03 fHqQVsd/
ヘルプファイル見るより検索した方が早い気が
ここで知ったか振るという手もあるけどw

コマンドラインごみ箱ツール「GB」1.0.1




181:名無し~3.EXE
09/12/02 09:52:53 RwfNPXz0
DOSっていうかバッチファイルすごいね。
レジストリ設定ファイルを作るバッチで小技が効いてる。
ブラウザで開く代わりにインターネットショートカットを作成するというものなんだけど。
出来立てほやほや置いときますね

-- MakeDefaultBrowserSetReg.bat --
rem host\MakeInternetShortcut.batをデフォルトのブラウザに設定するレジストリファイルを作成します。

rem パス名の\を\\に置換
set VMWInterAppPath=%~dp0host\MakeInternetShortcut.bat
set VMWInterAppPath=%VMWInterAppPath:\=\\%

rem レジストリファイル
echo Windows Registry Editor Version 5.00 > SetDefaultB.reg
echo. >> SetDefaultB.reg
echo [HKEY_CLASSES_ROOT\ftp\shell\open\command] >> SetDefaultB.reg
echo @="\"%VMWInterAppPath%\" \"%%1\"" >> SetDefaultB.reg
echo. >> SetDefaultB.reg
echo [HKEY_CLASSES_ROOT\HTTP\shell\open\command] >> SetDefaultB.reg
echo @="\"%VMWInterAppPath%\" \"%%1\"" >> SetDefaultB.reg
echo. >> SetDefaultB.reg
echo [HKEY_CLASSES_ROOT\https\shell\open\command] >> SetDefaultB.reg
echo @="\"%VMWInterAppPath%\" \"%%1\"" >> SetDefaultB.reg

set VMWInterAppPath=

-- host\MakeInternetShortcut.bat --
rem ショートカットの作成
echo [DEFAULT] > ..\OpenURL.lnk
echo BASEURL=%1 >> ..\OpenURL.lnk
echo [InternetShortcut] >> ..\OpenURL.lnk
echo URL=%1 >> ..\OpenURL.lnk

182:名無し~3.EXE
09/12/02 12:29:50 6qx8dZPq
拡張子はurlだろが。死ねよ。

183:名無し~3.EXE
09/12/02 12:46:35 RwfNPXz0
そうそう。
URLでした。
あと、カレントディレクトリをファイルのあるディレクトリを基準に考えてましたが間違っていました。
ファイルパスにはすべて%~dp0をつけて「%~dp0..\Open.url」とかにしないと駄目でした。

普通の実行ファイルだとたいてい実行ファイルのある場所がカレントディレクトリになってるからそのつもりで作っちゃった。
テストで実行するときはエクスプローラーで実行したけど、そんときはその場所がカレントになるから気がつかなかった。


184:名無し~3.EXE
09/12/03 23:27:07 PE65EMUZ
>reg query "HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware Tools" /v InstallPath | for /f %P in ('find "InstallPath"') do set VMW-IPTEMP=%P

Toolsがインストールされたパスをレジストリから取得し、環境変数に入れたかったんだけど、無理なのかな。
FINDの結果を一旦ファイルに出力して set /p path=<ファイル名 で実現はできたんだけど、
最初に書いたコマンドの結果は set VMW-IPTEMP=InstallPath となり、スペースで区切られたところまでしか取得できない。

確か標準入力は開業もスペース区切りも同一に扱われた気がするけど・・そのせいかな?


185:名無し~3.EXE
09/12/03 23:35:43 8MhzhBSk
"delims="

186:名無し~3.EXE
09/12/04 00:26:11 /KEnbVNi
>>185
ありがとう。1行取れました。
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware Tools" /v InstallPath | for /f "delims=" %%P in ('find "InstallPath"') do echo %%P

でも、echo %%P はうまくいくけど、 set VMW_IPTEMP="%%P" でやっても、環境変数には代入されませんでした。
コマンドラインでもバッチファイルでも同じでした。
一応コマンドは実行されるんだけど。

他にこんなのも試したんですが、だめでした。
find "InstallPath" | set /p VMW_IPTEMP=
find "InstallPath" | set /p VMW_IPTEMP=<con


187:名無し~3.EXE
09/12/04 01:49:26 d9wXhpuD
代入はされてる。ただし、子プロセスの環境変数は親に逆遺伝しない。

for /f %%P in ('echo AAA') do set XXX=%%P
echo %XXX%

echo BBB | for /f %%P in ('echo AAA') do set XXX=%%P
echo %XXX%

echo BBB|for /f %%P in ('echo AAA') do set XXX=%%P & call echo %%XXX%%

188:名無し~3.EXE
09/12/04 13:39:21 d9wXhpuD
echo BBB | set XXX=AAA
echo %XXX%

echo BBB | (set XXX=AAA
call echo %%XXX%%
)

189:名無し~3.EXE
09/12/04 15:14:22 /KEnbVNi
なるほど。
パイプ使った先で環境変数に入れるなら、そこで処理してしまわないと駄目なんですね。
結局ファイルを経由して set /p オプションでリダイレクトするのが正しかったか。


190:名無し~3.EXE
09/12/04 15:50:40 d9wXhpuD
for /f %P in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware Tools" /v InstallPath ^| find "InstallPath"') do set VMW-IPTEMP=%P
echo %VMW-IPTEMP%

191:名無し~3.EXE
09/12/04 18:20:02 /KEnbVNi
>>190
パイプ処理まで中に含めるとは思いつきませんでした。
ありがとうございました。


192:名無し~3.EXE
09/12/04 18:37:12 d9wXhpuD
echo BBB | (set /p XXX=
call echo %%XXX%%
)

193:名無し~3.EXE
09/12/07 14:04:39 Cyo0Qdc6
cp, mvコマンドとcopy, moveコマンドの微妙な違い:実例とまとめ - 檜山正幸のキマイラ飼育記
URLリンク(d.hatena.ne.jp)

194:名無し~3.EXE
09/12/22 22:39:16 Wwn6YkO/
>>5
これのダウンロード方法が分かりません

195:名無し~3.EXE
10/01/03 09:23:06 yQMN8uyY
おはようございます、ちょっとコマンドについて質問させてください
IEで、インターネット一時ファイル"のみ"を削除するには、
どのようなコマンドを打ったらよいのでしょうか?
rd /s "tempor~1" だと、クッキーやフォームなども一緒に削除されてしまいます


196:名無し~3.EXE
10/01/03 13:55:05 xnZ8ujnt
無いから作れ。

197:名無し~3.EXE
10/01/03 14:53:13 NDYQ1zyW
>>195
cleanmgr

198:名無し~3.EXE
10/01/03 15:49:26 yQMN8uyY
>>197
おお、できましたサンクスです

ただ、cのクリーンアップのチェックは全て外し、
cleanmgr /d z: /sageset:1
でセットしておいても、

cleanmgr /d z: /sagerun:1
をbatにして実行すると、目的のzドライブだけではなく、cドライブも毎回空きを計算してしまいます。。
いい方法ありますか?

199:名無し~3.EXE
10/01/08 15:13:18 wdm81tzo
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8

200:名無し~3.EXE
10/01/11 12:56:50 g2GiCuw7
Index of /~piaip/tools/unxutils
URLリンク(www.csie.ntu.edu.tw)

201:名無し~3.EXE
10/01/11 15:41:27 V3sq9Wpe
>>200
残念ながら、中身は古いのばかりだな

202:名無し~3.EXE
10/01/26 12:40:48 Aw94STdP
FOR /f "skip=4 tokens=3" %%A IN ('reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop') DO SET desktop=%%A



203:名無し~3.EXE
10/01/26 13:56:10 QnBbXJza
空白があると駄目だろ?

204:名無し~3.EXE
10/01/26 14:25:18 ZPqGt4/y
tokens=1,2,*
do set desktop=%%C
って所かな。

205:名無し~3.EXE
10/01/26 18:53:17 9uq8tqJG
syslogをbat処理する時に困っています。

↓で始まる行を直前の行と繋げたいのですが、どうしたら良いでしょうか?
,0,LAN -

sed-1.18+mb1.03で色々試しているのですが、うまくいきません。
キーワードがあった行と次の行をつなげることは出来たのですが・・・。

よろしくお願いします。

206:名無し~3.EXE
10/01/26 20:05:57 UyCrvOTu
空白・2バイト文字があるとアウトだね

207:名無し~3.EXE
10/01/26 21:59:36 QnBbXJza
>>205
各行を改行なしで書く。
なんとかで始まらないときだけ行頭に改行を書く。
最後に改行を書く。

208:名無し~3.EXE
10/01/27 12:29:11 aPOmdlOD
質問お願いします。

URLリンク(www.lifehacker.jp)
↑このソフトを使いたいのですがステップ3まで行き
URLリンク(securityxploded.com)
↑の配布ページを参考に、サンプルコマンドをコピーして
 
  FireMaster.exe -d -f c:\dictfile.txt Firefox_Profile_Path
などを打ち込んだりするのですが、エラーが出て先に進めません。

C:\User\****\Links\FireMaster_bin>FireMaster.exe -d -f c:\dictfile.txt Firefox_Profile_Path
↑このコマンドの打ち方に間違いはないでしょうか?


209:名無し~3.EXE
10/01/27 14:40:18 nXBbHpe6
>>205
URLリンク(oshiete1.goo.ne.jp)

210:名無し~3.EXE
10/01/27 17:09:55 nXBbHpe6
C:\bin>type t.sed
/.*$/N
s/\n//

C:\bin>type log.txt
A
,0,LAN -
B
,0,LAN -
C
,0,LAN -

C:\bin>sed -f t.sed log.txt
A,0,LAN -
B,0,LAN -
C,0,LAN -

適当に書いてみた

211:名無し~3.EXE
10/01/27 19:05:35 YbV7ZS5I
forでできる

212:名無し~3.EXE
10/01/27 21:17:47 RwVGimom
おまいら! sed の使い方教えて下さいm(_ _)m
スレリンク(linux板)
sed
スレリンク(unix板)

213:名無し~3.EXE
10/02/04 03:04:07 bMU9o4Cj
set sec=%now:~6,2%
if %sec% lss 14 set m=14&&goto st
if %sec% lss 29 set m=29&&goto st
if %sec% lss 44 set m=44&&goto st
if %sec% lss 59 set m=59&&goto st
:st

214:名無し~3.EXE
10/02/04 20:16:27 1NhVEJJl
now ?

215:名無し~3.EXE
10/02/05 10:42:44 mIxXapaZ
Console Registry Tool for Windows - version 3.0
Copyright (C) Microsoft Corp. 1981-2001. All rights reserved

regコマンドは2000じゃ使えないんか...

216:名無し~3.EXE
10/02/05 12:58:42 FDIFTu0B
持ってけよ

217:名無し~3.EXE
10/02/06 11:42:38 uEMTgQVR
Reg.exeコマンドはNT4の頃からあるよ。
NT4の頃はResource Kit Toolsで提供されてた。(忘れたけどSupplement 3か4か以降)
Windows 2000ではSupport Toolsに入ってた。
↓でダウンロードできるよ。
URLリンク(www.microsoft.com)

ちなみに引数の文法が結構違ってるから要確認な。

218:名無し~3.EXE
10/02/06 16:51:32 N6DMGysY
>>204 >>206
個別に調整するしかないのか? 汎用的に指定できないのかね

219:名無し~3.EXE
10/03/19 19:45:23 j/kRmZ+3
スレ立てるまでもない質問はここで 105匹目より誘導されてきました。

WindowsXPで、タスクの登録を管理者権限を持っている人間が行うとして、タスクをユーザーアカウントを見て実行させるか、どうかを判定したいと考えています。
・atコマンドで登録 →コマンドプロンプト上で実行
at 15:00 cmd /c if "Guest" equ ^"%USERNAME^%" ( echo hoge )
で実行するも、登録はされるのですが、
1、ダブルコーテーションがはずされてしまうという問題があります。
2、これを今度はバッチファイル上で実行しようとすると、ダブルコーテーションがはずされた上に、^"%USERNAME^%"の部分が^だけになってしまいます。
なにか、解決に向けてヒントなりをいただけないでしょうか、、、

220:名無し~3.EXE
10/03/19 20:28:55 BHu+ZFPB
at 15:00 "cmd /v:on /c if \"Guest\" equ \"!USERNAME!\" ( echo hoge )"


221:名無し~3.EXE
10/03/20 02:07:13 2svRwq1H
>>220 レスありがとうございます。エスケープシーケンス\と、!について教えていただき、前進することができました。
レスもらってから、うまくできなかったため、今も試行錯誤しています。
(cmd.exeをダブルコーテーションで囲むか、最初と最後のダブルコーテションをはずすとうまくいきました)
「ファイル名を指定して実行」
cmd.exe /v:on /c if \"Guest\" equ \"!USERNAME!\" ( echo hoge ) はうまく動作しました(ありがとうございます)。
しかし at 15:00 cmd.exe /v:on /c if \"Guest\" equ \"!USERNAME!\" ( echo hoge ) はうまく動作しません。
原因を探ったところ、 at 15:00 cmd.exe /v:on /c echo \"!USERNAME!\" ^> C:\test.txt で確認すると、実行結果は
"!USERNAME!\" がそのまま書き込まれていました。
上記をうまく解決するため、atに登録した時点で環境変数(?)を開くうまい方法などあれば、ご教授いただければと思います。

222:名無し~3.EXE
10/03/20 22:21:55 lyhs8zMC
at 15:00 cmd.exe /c echo \"%USERNAME%\" ^> C:\test.txt 

223:名無し~3.EXE
10/03/21 03:07:07 F1k/W7Mk
>>222 レスありがとうございます(なんどもありがとうございます)。
at 15:00 cmd.exe /c echo \"%USERNAME%\" ^> C:\test.txt 
自分の環境だと上記コマンドは at 数字 で確認すると、すでに登録した段階でユーザー名が展開されてしまいます。
(コントロールパネル→タスク at数字のプロパティで確認すると、タスクを登録した段階で環境変数が展開されております、、、)
at 15:00 cmd.exe /c echo \"%%USERNAME%%\" ^> C:\test.txt 
などもいろいろためしてみたのですが、、、上記の場合は、C:\test.txtの中身が "%USERNAME%"になってしまいました、、、。(/v:on のあるなしに関わらず、、、)

なにか、良い方法があると、、、いいのですが、、、。

224:名無し~3.EXE
10/03/21 04:24:52 IG7xyVml
at 15:00 cmd.exe /c set ^> C:\test.txt

225:名無し~3.EXE
10/03/21 04:29:42 83CPJkNx
>>223
事前にbatを作っておいてそれを実行するんじゃダメなんですか?

[test.cmdの中身]
if "%USERNAME%" equ "Guest" echo "%USERNAME%" > C:\test.txt
で、at 15:00 c:\test.cmd
を実行とか。

ところで目的は何ですか?
15:00ぴったりに使用していないと、その実行は明日に持ち越しになっちゃいますが
それでも良いんですか?15:00以降に最初に使ったユーザーとかじゃなくて?
また一回こっきり実行でいいんですか?毎日とかじゃなくて?
もしユーザーの管理に使いたいなら、ログオンスクリプトとして登録しておいて
ユーザーのログオン時を捕まえるのが良いと思うんですが?
@echo off
if "%username%"=="xxx" (
挨拶メッセージを表示
コマンド1
コマンド2
) else if "%username%"=="yyy" (
コマンド3
) else if "%username%"=="zzz" (
コマンド4
)

226:名無し~3.EXE
10/03/21 15:20:12 IG7xyVml
at 15:00 cmd.exe /c whoami ^> C:\test.txt

227:名無し~3.EXE
10/03/22 04:11:36 49Z3p/7o
atのタスクがユーザアカウントでなく、システムアカウントで実行されることを分ってない?

228:名無し~3.EXE
10/03/22 12:14:38 vRxWzlrp
皆様コメントありがとうございます。
>>224 レスありがとうございます。
setの中身を確認して、ようやく自分がアホなことをやっていることがわかりました。
(素で実行したのと、atで実行したのを比較して、%USERNAME%を確認しました)

>>225 レスありがとうございます。
>>225 の言うとおり)目的はある時間にAさんなら実行するけど、Bさんは実行しないスクリプトを組みたいと考えています。
at 15:00っていうのは特に意味はなく、質問するにしても可能な限りスクリプトを短くしたかったためです。
自分の環境では、教えていただいたbat処理は、ユーザーが "" になりましたので、違う手を考えてみます。

>>226 レスありがとうございます。
WindowsXP SP2 Support Tool入れてみて実験してみたいと思います。

>>227 レスありがとうございます。
システムアカウントが実行するということはなんとなく知っていたのですが、 >>224 のsetでようやく理解できました。
whoamiでログインユーザーがとれるかちょっと実験してみたいと思いますが、、、atコマンドで実行すれば、システムアカウントになるのを確認しようと思います。


229:名無し~3.EXE
10/03/22 21:28:49 49Z3p/7o
at 15:00 cmd /c wmic computersystem get username ^>C:\test.txt

230:名無し~3.EXE
10/03/23 00:57:02 aU5aUsH5
特定ユーザーでのみタスク実行したいのならatコマンドでなく実行アカウントを指定できるschtasksコマンドを使えば?
元々atコマンドはNTの互換のために残されている過去の遺物なので。

231:名無し~3.EXE
10/03/23 02:59:35 eS66TQH1
だめだろきっとパスワードがいるから

232:名無し~3.EXE
10/03/23 20:19:25 lQF/ybn7
皆様コメントありがとうございます。

>>229 レスありがとうございます。
atでログインユーザー名を確認できました。
ありがとうございます。

>>230 レスありがとうございます。
>>231 が言うように、パスワードが必要なため楽な方法を探しておりました、、、。
(結果的にみなさまの貴重なお時間を割いていただいておりますが、、、)

>>231 レスありがとうございます。
おっしゃるとおりです、、、orz

wmicからのパイプ処理?について現在勉強しております。
少し時間がかかるかもしれませんが、うまく行きましたら報告いたします。

233:名無し~3.EXE
10/03/23 23:57:08 lDYBG9RV
タスクは無差別にバッチを実行するだけにして、バッチの中でIF文使って
%USERNAME%が条件に合った場合だけやりたい処理をする、
みたいな構成じゃダメなの?

234:名無し~3.EXE
10/03/24 00:45:12 U3N/7+3H
ごくろうさん

235:名無し~3.EXE
10/03/25 03:27:06 09J8YNxF
なんかイタズラの臭いがするなあ
教えたのは失敗なんじゃないかな

236:名無し~3.EXE
10/03/25 17:54:32 16a0LSCJ
できましたので、報告します。

for /F "usebackq skip=1" %%x in (`wmic computersystem get username`) do if /i "%%x" equ "%COMPUTERNAME%\%1" ( echo "hoge" )

>>223 レスありがとうございます
先に試しましたが、自分の環境ですとatで実行すると %USERNAME" にはなにも入っておりませんでした。

>>234 レスありがとうございます
すべてのレスをくれたかた、ご苦労さまでした。

>>235 レスありがとうございます
イタズラにも使えるでしょうし、有用なことにも使えるかと思います。



237:名無し~3.EXE
10/03/26 01:21:45 /JmVMDcj
OSのバージョンを区別するスマートな方法ってないよな
MS手抜くなよ

238:名無し~3.EXE
10/03/26 19:07:54 7vut8Xv7
ver /?

239:名無し~3.EXE
10/03/26 20:41:17 n80jNEuM
SET UsrOS1=(不明)
VER|FIND "Windows">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(WinNT系?:不明)
VER|FIND "Windows 95">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(Win9x系:95)
VER|FIND "Windows 95. [Version 4.00.1111]">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(Win9x系:95_OSR2)
VER|FIND "Windows 98">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(Win9x系:98)
VER|FIND "Windows 98 [Version 4.10.2222]">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(Win9x系:98_SE)
VER|FIND "Windows Millennium">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(Win9x系:Me)
VER|FIND "Windows NT">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(WinNT系:NT)
VER|FIND "Windows NT Version 4.0">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(WinNT系:NT_4.0)
VER|FIND "Windows 2000">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(WinNT系:2000)
VER|FIND "Windows XP">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(WinNT系:XP)
VER|FIND "Windows [Version 5.2.">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(WinNT系:Server2003)
VER|FIND "Windows [Version 6.0.">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(WinNT系:Vista)
VER|FIND "MS-DOS">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(非Win系:MS-DOS)
VER|FIND "MS-DOS バージョン 5.00">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(非Win系:MS-DOS_5.0(EPSON製98互換機用で確認))
VER|FIND "MS-DOS Version 6.2">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(非Win系:MS-DOS_6.2(EPSON製98互換機用で確認))

240:名無し~3.EXE
10/03/27 11:06:38 D6Ht2NWP
>>239
煽りじゃなくてマジで疑問なんだが x64 と x86 の見分けは?
ついで言えば IA64 は?

241:名無し~3.EXE
10/03/27 13:00:23 EVIDvLoZ
jt.exeに関して質問です。

win7のタスク(windows/system32/tasks)を制御しようとしてますが、

jt /lj %systemroot%\system32\tasks\(タスク名) /sj SystemRequired = 1
[TRACE] Loading Job C:\Windows\system32\(タスク名)
[PERF ] Load took 0 ms
[FAIL ] IPersistFile::Load hr=0x80041313

となり、うまく制御できません。

根本的にやり方まちがってますかね?



242:名無し~3.EXE
10/03/27 15:00:49 4iD/8n0I
根本的にやり方まちがってるんじゃない?
タスクスケジューラはVistaで変わったからjtは使えないんじゃないか
なんでos標準のschtasksを使わないの?

243:名無し~3.EXE
10/03/27 16:10:46 EVIDvLoZ
>>242
ありがとうございます。
いや、それがschtasksだと、そこまで(スリープからの復帰)制御出来ないんですよ。

244:名無し~3.EXE
10/03/27 16:27:12 4iD/8n0I
createobject("schedule.service")はどうだろ?


245:名無し~3.EXE
10/03/27 16:37:47 4iD/8n0I
TaskSettings.WakeToRun Propertyがあるね

246:名無し~3.EXE
10/03/27 18:03:50 EVIDvLoZ
スターターの私には難しそうですがいろいろやってみます。

247:名無し~3.EXE
10/03/27 20:43:44 lwojKVA6
>>240
PROCESSOR_ARCHITECTURE見ればいいんでない?


248:名無し~3.EXE
10/03/27 23:44:04 KVlY6lKz
>>247
なるほど!
さんくす!!

249:名無し~3.EXE
10/04/11 14:11:54 y90kcftT
コマンドライン中で純粋に特別な意味を持つキャラクタとしては、
< > |
の3つだけでしょうか。
つまり、
ECHO ほにゃらら~~~ふにゃらら
というように数十文字のテキストを表示するとして、
~~~の中に入れてはいけない文字が知りたいのです。

250:名無し~3.EXE
10/04/11 14:31:00 6Yi1arZm
^

251:名無し~3.EXE
10/04/11 15:58:54 y90kcftT
>>250
ヒントをいただいてかなり分かりました。
まとめると以下のようで正しいでしょうか?


■コマンドラインで通常の文字と扱われない特殊キャラクタ、およびエスケープ方法

◆MS-DOSプロンプト(全4種)

<
>
|
※以上の3種は " (ダブルクオート)で括られた状態なら通常の文字として扱われる

% → %%


◆コマンドプロンプト(全9種)

< → ^<
> → ^>
| → ^|
& → ^&
( → ^(
) → ^)
^ → ^^
※以上の7種は " (ダブルクオート)で括られた状態なら通常の文字として扱われる

% → %%
" → ""

252:名無し~3.EXE
10/04/11 16:00:36 mGw8jiZC
C:\>echo %%
%%

253:名無し~3.EXE
10/04/11 16:42:14 O2CSi6Ub
C:\> echo (
(

254:名無し~3.EXE
10/04/11 16:48:23 y90kcftT
なんて早さの即答…迷い無しですね。ありがとうございます。
なるほど、コマンドプロンプトでは%%でエスケープ、というのは
ウソ情報をつかんできてしまったようです。
ただし、DOSではこれで正しい。
すると…
%windir%と表示したい場合は、

COMMAND.COM
echo %%windir%%

CMD.EXE
echo ^%windir^%

ということですね。
あと、
" → ""
というのもエスケープされてるのかされてないのか分からないですね。
常識的にはエスケープされてるとは言えないと思いますので、除外します
この考え、正しいのかな??

他に何か見落としがありますでしょうか?

255:名無し~3.EXE
10/04/11 16:58:21 y90kcftT
>>253
そもそも () の使い方が分からない…。
ECHOで単体なら大丈夫と言うことですね。
しかし、使用できない文字、エスケープすべき文字の確認が目的ですので、
これは前述の通り普通に ^( ^) で良いかと。
エスケープしなくても大丈夫なパターンを探してるわけじゃないんです。

256:名無し~3.EXE
10/04/11 16:58:30 O2CSi6Ub
set windir^^=aaa
echo ^%windir^%


257:名無し~3.EXE
10/04/11 17:01:21 O2CSi6Ub
echo ^" ^"
echo " ^"

258:名無し~3.EXE
10/04/11 17:06:11 O2CSi6Ub
cmd/?|find "特殊文字"

259:名無し~3.EXE
10/04/11 17:10:26 y90kcftT
>>256
>>258
う、難しい。勉強してみます。
>>257
ありがとうございます。
今ちょうど、
echo " | "
echo ^" | "
なんてやって確認してたとこでした。

結論は、
" → ^"
ですね!

260:名無し~3.EXE
10/04/11 18:11:16 y90kcftT
>>256
これは分かりません??
結果は%windir^%にaaaが入ってますよ、と。
先頭の ^ はどこへ消えたのか?
%のエスケープが^%でないとしたら、どういうルールなのでしょうか。
これは自分では答えを出せそうに無いです。

>>258
ややこしいですねぇ。
cmd/?|find "^"
とか、
set test=ファイル
cmd/?|find "%test%"
とかやってました。

シェルとコマンドの仕事の範囲が明確で無いから分かりにくいんですかね。
もしくはリテラルの定義が明確で無いからか。

自分が必要としているのはechoだけなんですが、
>>256の結果は影響がありそうです。
ぜひ解説していただけないでしょうか。

261:名無し~3.EXE
10/04/11 19:40:55 O2CSi6Ub
set windir^^=aaa
echo %windir^%


262:名無し~3.EXE
10/04/11 19:42:41 O2CSi6Ub
c:\> cmd/?|find "特殊文字"

263:名無し~3.EXE
10/04/11 19:43:49 O2CSi6Ub
set windir^^=aaa
set windir

264:名無し~3.EXE
10/04/11 20:00:38 O2CSi6Ub
URLリンク(otn.blogtribe.org)

265:名無し~3.EXE
10/04/11 20:05:46 O2CSi6Ub
URLリンク(otnx.jp)

266:名無し~3.EXE
10/04/14 19:28:19 Lfksvlek
XP及び7でコマンドライン or WSHから関連づけの登録を行うのにどのような方法がありますか?
標準でインストールされているソフトウェアの影響を受けにくい方法を探しています

よろしくお願いします

267:名無し~3.EXE
10/04/14 19:55:11 zsXaS8Mw
レジストリ書き換えしかないだろ

268:名無し~3.EXE
10/04/14 23:42:57 Nbmdm37R
assoc
ftype

269:名無し~3.EXE
10/04/16 22:23:00 +WenbQ+F
英字大文字を小文字に変換するコマンドがないよね

270:名無し~3.EXE
10/04/16 22:27:45 ATLdufCB
setがあるだろが なんとかとsetは使いよう

271:名無し~3.EXE
10/04/16 23:22:09 IINeE4gJ
どういうことでござるか?

272:名無し~3.EXE
10/04/17 00:17:11 iUltzkHe
set x=%x:A=a%

273:名無し~3.EXE
10/04/20 06:21:04 lAJ6JeLK
コマンドプロンプト初心者です><

"xxx".拡張子 というファイルをD&Dして、以下のようなテキストファイルを吐き出すバッチ作りたいのですが

↓テキストファイルの中身↓

video = MPEG2Source("xxx".d2v)
audio = WavSource("xxx".wav)
AudioDub(video, audio)


"xxx"の部分にD&Dしたファイルの名前だけを代入して吐き出させるようにするにはどうしたらよいでしょうか><


274:名無し~3.EXE
10/04/20 07:46:44 l+u3QXef
こりゃー釣りだな

275:名無し~3.EXE
10/04/20 14:04:59 xb1+R6Ig
釣りか真性かというと後者の方じゃないかと思うんだが

276:名無し~3.EXE
10/04/21 00:15:09 tjgMJh/A
ちょっと調べりゃわかるけど、
1) バッチパラメータとして、%0~%9ってのがある
2) パラメータには修飾子が使える。 %~1, %~n1など
3) 表示コマンド echoで出力先を標準出力からファイルにリダイレクト > or >> できる

277:名無し~3.EXE
10/04/21 03:23:28 vhJZPvun
>276さん
なんとか作成することができました。
にありがとうございました~

278:名無し~3.EXE
10/04/21 04:09:15 tjgMJh/A
>>269
@if(0)==(0) echo off
if "%~1"=="" echo パラメタ1に入力ファイル名(変換元)を指定してください& goto :eof
if not exist "%~1" echo 指定ファイル"%~f1"が存在しません& goto :eof
cscript //nologo //e:jscript "%~f0" <"%~1" >output.txt
goto :eof
@end
WScript.Echo(WScript.StdIn.ReadAll().toLowerCase());

279:名無し~3.EXE
10/04/22 17:06:43 KT+yi7rA
スゲー昔のことで悪いけど
>>127
これの動作を誰か解説してくださいな

280:名無し~3.EXE
10/04/22 18:14:18 pj2f+ePb
>>279
URLリンク(otnx.jp)

281:名無し~3.EXE
10/04/22 18:43:13 HvRXw+eF
>>279
文字の置換
%cd% 中の「\」を「&set cdname=」で置換するとどうなるか

c:\aaa\bbb\ccc → c:&set cdname=aaa&set cdname=bbb&set cdname=ccc
即ち
c:
set cdname=aaa
set cdname=bbb
set cdname=ccc

個人的にはdos窓を沢山開いてる時の識別用に
%CD:\=&title % をよく使う

282:名無し~3.EXE
10/04/22 18:56:57 KT+yi7rA
ありがとさん
俺が混乱してた理由
&で一旦切れると思ってた。
そのまま置換されてさらに再度評価されるんだね。

283:名無し~3.EXE
10/04/22 22:52:39 pj2f+ePb
再度評価じゃなくて評価の順序でしょ

284:名無し~3.EXE
10/04/24 22:30:32 oAoL4N0L
cmd.exe だと title でウィンドウのタイトルを設定できるけど
powershell.exe ではどうすればいい?

285:名無し~3.EXE
10/04/24 22:39:33 OvOv+w/S
$Host.UI.RawUI.WindowTitle = "title"
とかそんな感じ

286:名無し~3.EXE
10/04/24 22:46:57 oAoL4N0L
あんがと
とりあえず
function title {$Host.UI.RawUI.WindowTitle = $args[0]}
としといた

287:名無し~3.EXE
10/05/11 22:24:59 vyuPZUfc
powershell.exe だと $Host.UI.RawUI.WindowTitle でウィンドウのタイトルを取得できるけど
cmd.exe ではどうすればいい?

288:名無し~3.EXE
10/05/11 23:52:00 d+T9MEpE
ウィンドウの概念が無いんじゃ…

289:名無し~3.EXE
10/05/12 14:17:51 R0Dj2vpX
できました

290:名無し~3.EXE
10/05/21 22:11:25 AhJIB9Qh
制限ユーザでログオンしてて、無線LANと有線LANの有効/無効を手軽に切り替えたいです。
管理者のパスワードは手入力で。

devcon.exeを入れて↓のショートカットを作って実行してもうまくいきません。
%windir%\system32\runas.exe /user:USERNAME "c:\bin\devcon enable 'PCI\VEN_HOGEHOGE'"
runasのパスワード入力してもそのまま終了(エラーが出てるだろうけどすぐ消えちゃって確認できない)。

devcon enable "PCI\VEN_HOGEHOGE"とすべきところをダブルクォートの入れ子がダメだったのでシングルクォートを使ってみたのが原因だと思う。
どうすればいいの?

MakeMeAdmin.cmd(制限ユーザで一時的に管理者権限のコマンドプロンプトが起動できます)でdevcon enable "PCI\VEN_HOGEHOGE"としたら期待通りに変更できました。
なので"PCI\VEN_HOGEHOGE"のハードウエアIDが間違ってるとかではないと思う。

あと、ショートカットを実行後に(表示だけでも)一時停止みたいに出来ない?
バッチファイルのpauseみたいなの。
キーを押さないとウィンドウが閉じないようにしたい。

XP PRO SP3です。

291:名無し~3.EXE
10/05/21 23:33:43 WdVH3pFc
runas/?

292:名無し~3.EXE
10/05/21 23:36:05 WdVH3pFc
あと、cmd/k

293:名無し~3.EXE
10/05/22 01:34:05 iN+rPVH/
ありがとん。

runas /? の例のところに
> runas /env /user:user@domain.microsoft.com "notepad \"my file.txt\""
て書いてあったのでダブルクォートの入れ子は使えるってことなのかな?

でも↓のをショートカットにしてみたけどやっぱエラーになる。
cmd.exe /k "%windir%\system32\runas.exe /user:USERNAME "C:\bin\devcon.exe enable "PCI\VEN_HOGEHOGE"""

USERNAME のパスワードを入力してください:
C:\bin\devcon.exe enable PCI\VEN_14E4 をユーザー "DOMAIN\USER" として開始しています...
'DEV_HOGE' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
'HOGE2' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
'HOGE3""' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

294:名無し~3.EXE
10/05/22 04:25:45 XfHQXv+A
\"

295:名無し~3.EXE
10/05/22 16:43:25 iN+rPVH/
ありがと。節穴だった。
\でエスケープするのか。
もう一段深くするのは\\"じゃないの?↓うまくいかないよ。
cmd.exe /k "%windir%\system32\runas.exe /user:USERNAME \"C:\bin\devcon.exe enable \\"PCI\VEN_HOGEHOGE\\"\""

296:名無し~3.EXE
10/05/22 18:59:02 XSrApt/u
何も試してないしヘルプすら見てないんだが、
\がエスケープ文字だというんなら、
PCI\VEN_HOGEHOGEの中の\とかもエスケープがいりそうな気がする。


297:名無し~3.EXE
10/05/22 19:28:05 iN+rPVH/
あ、そうか。
じゃパスのデリミタの\もエスケープしなきゃダメだな。
もう訳わからんくなってきた。(´・ω・`)

298:名無し~3.EXE
10/05/22 22:28:42 XfHQXv+A
CommandLineToArgvW has a special interpretation of backslash characters when they are followed by a quotation mark character ("), as follows:

•2n backslashes followed by a quotation mark produce n backslashes followed by a quotation mark.
•(2n) + 1 backslashes followed by a quotation mark again produce n backslashes followed by a quotation mark.
•n backslashes not followed by a quotation mark simply produce n backslashes.


299:名無し~3.EXE
10/05/22 23:44:12 iN+rPVH/
㌧。また少し賢くなった。

cmd.exe /k "%windir%\system32\runas.exe /user:USERNAME \"C:\bin\devcon.exe enable \\\"PCI\VEN_HOGEHOGE\\\"\""
でも失敗。
が、エラー(?)の種類が変わった。

RUNAS 使用法:

RUNAS [ [/noprofile | /profile] [/env] [/netonly] ]
/user:<ユーザー名> プログラム
...略...

"PCI\VEN_HOGEHOGE"のところに&が入ってた。"PCI\VEN_HOGE&hage"みたいに。
これ関係あるのかな?
ダブルクォート中の&は特殊文字として扱われなくてそのままだと思い込んでた。
後出しでホントに申し訳ない。

300:名無し~3.EXE
10/05/22 23:51:12 RrzNIgQ+
^

301:名無し~3.EXE
10/05/22 23:53:45 iN+rPVH/
cmd.exe /k 外すとうまく行く。
%windir%\system32\runas.exe /user:USERNAME \"C:\bin\devcon.exe enable \"PCI\VEN_HOGE&hage\""

取りあえず一番目の目的は達成できた。
けど、もうちょっとがんばってみる。
runas.exeが引数の解釈が独自だったりするのかな??

日記に付き合ってくれてありがと。

302:名無し~3.EXE
10/05/23 14:17:02 W2D4uAW/
runas.exeがMS標準シンタクス
cmd.exeが独自解釈

303:名無し~3.EXE
10/05/24 20:17:20 W/5tifrW
直前に飛んだラベル名とかサブルーチン名を取得する方法って無いですかね?
call :sub
:sub
echo %~0
goto :eof

みたいにやって :sub とか出れば嬉しいんですけど…

304:名無し~3.EXE
10/05/24 20:37:22 U25k7xKb
%0で出るだろ?


305:名無し~3.EXE
10/05/24 21:02:19 U25k7xKb
と思ったら出ないね 昔、出たような気がするが

306:名無し~3.EXE
10/05/24 21:33:28 U25k7xKb
こうすれば出てるのが確認できる
call :sub
:sub
echo %~0
pause
goto :eof


307:名無し~3.EXE
10/05/25 00:53:32 cYyyrQH+
>>306
あれ?

何度やっても出なかった…と思っていたら
echo %~n0
とやってて本体バッチ名取得してました
%~0 ならサブルーチン入るんですねorz


しょうもない質問ですみません

308:名無し~3.EXE
10/05/28 17:02:23 nj08k/yL
誘導されてきました
以下に該当svchost.exeの再起動を組み込みたいです
どう記述すればよいかご教示ください
URLリンク(www.dotup.org)

309:名無し~3.EXE
10/05/28 21:38:05 u9g/OIqa
shutdown /r

310:名無し~3.EXE
10/06/12 00:47:37 Dlxn8xTR
ちょいと質問ですが、startコマンドの正体って何ですか?
batch?exe?探したけど見つからない

311:名無し~3.EXE
10/06/12 01:41:46 Dip7ylrc
シェルつーかCMD.EXEの内部コマンド。
dirとかechoとかと一緒。

312:名無し~3.EXE
10/06/12 10:01:00 3fATMNp4
9x/Me では start.exe だったぞ

313:名無し~3.EXE
10/06/13 01:37:52 Czl7gJkW
生き字引だね

314:名無し~3.EXE
10/06/13 04:23:54 XhOpRdWv
老害って言うなぁ ><

315:名無し~3.EXE
10/06/13 05:26:28 Rhlj2NIa
労咳乙

316:名無し~3.EXE
10/06/16 06:58:54 Oy6d8rq0
M/B温度、CPU温度、HDD温度を
コマンドラインで取得したいです。
ご存知な方、ご教授ください。

317:名無し~3.EXE
10/06/16 22:38:27 39eX3Vg4
net send /domain:hogehoge "誰かCPU温度見てきてくんない?"

318:名無し~3.EXE
10/06/17 13:17:59 2Xq5jmQP
>>317 役立たず
このコマンドの構文は次のとおりです:

NET
[ ACCOUNTS | COMPUTER | CONFIG | CONTINUE | FILE | GROUP | HELP |
HELPMSG | LOCALGROUP | PAUSE | PRINT | SESSION | SHARE | START |
STATISTICS | STOP | TIME | USE | USER | VIEW ]

319:名無し~3.EXE
10/06/17 13:45:18 rA4YN+jF
>>318
vista以降はnet send無くなったみたいだな…

320:名無し~3.EXE
10/06/17 13:46:41 rA4YN+jF
参考
URLリンク(blogs.technet.com)

321:名無し~3.EXE
10/06/18 00:16:20 Lkx8YBO5
>>318
そうか?
有能なパシリを確保すれば無限の可能性を秘めている最強コマンドじゃないかw
Vista以降は >>319 の言うように msg にしないとイカンようではあるけど

322:名無し~3.EXE
10/06/18 00:29:04 eKBxx8ep
>>321
いきなりケース開けられて温度計当てられるのが最強だと思えるってステキだな

323:名無し~3.EXE
10/06/18 00:35:34 IBhIxhLK
いや、さすがにパシリにそんなことさせないだろw

「俺がいない間に H/Wモニターと温度計付けとけ、PC壊したらゆるさん。
 そして定時計測と俺が尋ねた任意の時の情報を即座に知らせろ。
 ついでに茶ぁもってこい」

パシリなんだからこんな感じだろ

324:名無し~3.EXE
10/06/18 01:02:58 FRoXhJso
プログラマの進化を思い出した

325:名無し~3.EXE
10/06/18 09:45:16 BZUKhFUO
>>321 ホント役立たず
'msg' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

326:316
10/06/18 14:56:24 Czg/EYoB
やはり無理なのでしょうか?
wmicコマンドで可能でしょうか?
wmicコマンドに熟知しているかた、
よろしくお願い致します。

327:名無し~3.EXE
10/06/18 22:28:50 eKBxx8ep
snmpって温度とか取れるんじゃないっけ?

328:名無し~3.EXE
10/06/18 23:10:23 WMDQ5xj1
っけ?という語尾をつけたら2chぽいと評価された時代は
5年前に終わりました。まだ気づきませんか?


329:名無し~3.EXE
10/06/18 23:14:33 eKBxx8ep
そんな時代があったんだ。
2chにすごく詳しいんですね。2ch歴何年ですか?

330:名無し~3.EXE
10/06/18 23:23:42 E9Xtjaoh
しあわせってなんだっけなんだっけ

331:名無し~3.EXE
10/06/19 00:18:58 f++uISdW
キッコーマンの醤油は不味くはないが美味いと言う程でもない

332:名無し~3.EXE
10/06/19 01:20:25 uwOhPTQr
ソースは2ch。

333:316
10/06/19 08:03:52 Oyfqtbw0
>>327
MotherBoard Monitorを使用してsnmpで取れます。
しかし、MotherBoard Monitorはログインしていなければ取れないのです。

334:名無し~3.EXE
10/06/19 09:38:53 t2I57B/C
for と dir を組み合わせて空き容量を取得するところまではできたけれど,
それをMB/GB表示するとこでつまずいた。
XPなら

335:名無し~3.EXE
10/06/19 10:00:35 J6JYfJEW
du.exe 拾ってこい

336:名無し~3.EXE
10/06/19 12:28:10 t2I57B/C
for /F "tokens=3" %%s in ('fsutil volume diskfree C:\実況') do echo %%s
まともに動かなかったのはこのディレクトリ名のせいでした。
ごめんなさい。

337:名無し~3.EXE
10/06/19 13:43:02 uwOhPTQr
forのカッコ内の全角文字の解釈、いつになったら直るんだろうなぁ。
DOS時代のforから生まれ変わって機能拡張したNT4.0SP3の頃からずーっと不調のまま。
昔より多少は改善してるけど、未だに手放しで信用できるレベルじゃないから、わざわさ
一時ファイルにいったん吐いてからfor /fで読ませるような段取りしてやってる。

338:名無し~3.EXE
10/06/19 13:58:54 Lx2nza/O
HDDもTB超のこの時代にint32bitまでしか扱えないってのはなかなか辛い。
外部コマンド無しでHDDの空きをMiB・GiBに計算する方法は無いもんだか。

俺じゃ%freespace:~0,-6%みたいな次善策しか浮かばん…

339:名無し~3.EXE
10/06/19 14:36:25 DAoYqnz1
一桁ずつ計算すればいいんじゃねえの?

340:名無し~3.EXE
10/06/19 15:22:20 YGapzfgn
>>338
上位桁と下位桁に分けて計算すりゃええじゃないか 小学生の算数だろ
>>337
ご苦労なこって 使い方が下手なだけだろ

341:名無し~3.EXE
10/06/19 20:03:50 YGapzfgn
>一桁ずつ計算すればいいんじゃねえの?
わかったようなこと言ってわかってねーんじゃねえの?

342:名無し~3.EXE
10/06/19 20:43:34 xbB9YwGi
ねえの?という語尾をつけたらVIPぽいと思われた時代は
5年前に終わりました。まだ気づきませんか?


343:名無し~3.EXE
10/06/20 17:49:41 kQIbsBAe
>>339
1桁ずつどうやるんだろう

344:名無し~3.EXE
10/06/20 18:22:06 kQIbsBAe
せめて4桁ずつでないと難しいんじゃないか

345:名無し~3.EXE
10/06/20 22:22:56 kOOEfEcy
質問
forの中でgoto使ったらだめとかそういうのは無いですよね?
gotoのあとで終わっちゃうんです

346:345
10/06/20 22:23:45 kOOEfEcy
もちろんforの()内にラベルはあります

347:名無し~3.EXE
10/06/20 22:53:37 BRn0hbsF
他の言語でもgotoは帰ってこないような?
ご希望はcallの拡張機能ではなくて?

348:名無し~3.EXE
10/06/21 00:43:21 8Cfs2MxU
(
goto :aaa
echo aaa
goto :bbb
)
:bbb
echo bbb
ってやってみな

349:名無し~3.EXE
10/06/21 00:44:40 8Cfs2MxU
ごめ
(
goto :aaa
goto :bbb
:aaa
echo aaa
)
:bbb
echo bbb
ってやってみな

350:名無し~3.EXE
10/06/21 01:34:24 +M8NFq+o
C:\Documents and Settings\azusa>set z=j,k,l
C:\Documents and Settings\azusa>set z=%z:,=%
C:\Documents and Settings\azusa>echo %z%
jkl


351:345
10/06/21 02:20:35 yphIa24T
>>347
callでラベルに飛べるんですね~
ところで、現在末尾に@pause > nulと書いて表示を見てるんですが、
多分このせい?でキーを押さないと繰り返しを続けてくれないんですよね
@pause > nulのほかにウィンドウを閉じない方法は無いですか?

>>349
よくわからない;

352:名無し~3.EXE
10/06/21 06:30:42 Bf7wY82x
そりゃバッチをダブルクリックで実行してるからだろ。
コマンドプロンプト開いてCUIで実行したら処理終了してもそのまま。

353:名無し~3.EXE
10/06/21 10:49:23 nkKTN5RL
>>351
「末尾」がcallされたブロックの一部になっちゃっててるからだろ。

@echo off
for %%v in (a b c d e f g) do (call :ex %%v)
call :ex2
@pause > nul
goto :hell

:ex
echo %1
goto :hell

:ex2
echo オワタ
REM goto :hell ; これはなくても結果は同じ

:hell

354:名無し~3.EXE
10/06/21 15:12:26 Bf7wY82x
ファイル末尾にpause入れるなら サブルーチン抜けたいところでgoto :eof
eofはラベル不要。
自分の作ったラベルに飛んだら末尾のpauseに引っかかる。

355:名無し~3.EXE
10/06/21 21:23:31 +M8NFq+o
for /F "tokens=3" %%s in ('dir %tmp%') do set size=%%s
set size=%size:,=%
set /a size=%size%/1024/1024
echo %size% MiB


356:345
10/06/21 22:30:59 yphIa24T
>>353
ああーできました
callはどこでもドア~でforの外と繋がってるんですね
:exは:ex2の3行を除く末尾までがブロックてことですか
助かりましたありがとう!

357:名無し~3.EXE
10/06/21 22:56:33 Bf7wY82x
>>355
%size%が2G超えてなければ文字列としても数値としても動くけど…

set size=2147483647
set /a size=%size%/1024/1024
echo %size% MiB

2047 MiB

set size=2147483648
set /a size=%size%/1024/1024
echo %size% MiB

-2048 MiB

358:名無し~3.EXE
10/06/22 01:07:06 eOY9ss6I
一桁ずつ計算すればいいんじゃねえの?

359:名無し~3.EXE
10/06/22 04:28:52 wV9BOjvz
>>333
ああ、そうなんだ。
じゃあ、プチサービスを作って、そのアプリをサービス化しちゃえばログインしていない状態でも取れるかもよ、
と書いてここがム板じゃないことに気付いた。

なんかそういうフリーソフトがあったような気がしなくもないよ>サービス化

360:名無し~3.EXE
10/06/24 20:03:30 jotKt44m
>>358
できるものならやってみろよ

361:名無し~3.EXE
10/06/25 10:48:42 LxrszcVG
MiB
MLB

362:名無し~3.EXE
10/06/25 19:30:46 UanEBa4x
>>360
できるだろ やってみろよ 簡単だよ

363:名無し~3.EXE
10/06/25 20:22:18 1v/RbT1q
出来たっぽい

@echo off
set A=214748742140
set B=1024
set ans=
set r=
:div
set r=%r%%A:~0,1%
set A=%A:~1%
set /a s=r/%B%
set /a r=r%%%B%
set ans=%ans%%s%
if %r%%A% GEQ %B% goto :div
echo %ans%%A%
echo %r%

364:名無し~3.EXE
10/06/25 20:25:30 blfI5Op2
wmicのツワモノ、いらっしゃいますか?

365:名無し~3.EXE
10/06/25 22:51:12 H19ZoAX4
>>363
r<1024の時
r/1024=0
r%1024=r

366:名無し~3.EXE
10/06/26 01:24:49 ZJyYx8uG
これで大丈夫…か?
@echo on
set A=1023
set B=1024
set ans=$
set r=
:div
set r=%r%%A:~0,1%
set A=%A:~1%
set /a s=r/%B%
set /a r=r%%%B%
set ans=%ans%%s%
set ans=%ans:$0=$%
if defined A goto :div
if $%ans% == $$ (echo 0) else echo %ans:~1%
echo %r%

367:名無し~3.EXE
10/06/26 01:40:36 PZ7p49es
数値の先頭が0の時8進数と解釈されてバグる。

368:名無し~3.EXE
10/06/26 02:01:46 ZJyYx8uG
うおぉ
set r=0
:div
set /a r=%r%*10+%A:~0,1%

369:名無し~3.EXE
10/06/26 23:23:35 8YnLP4Rl
ちょっと質問があります。
Win7でシステム情報(msinfo32)のコンボーネントの"CD-ROM"や"USB"の内容をコマンドラインで
outputしてファイルに書き出したいのですが分かりません。(敢えてGUIではなくCUIで)
どういうコマンドを実行すればいいのか教授してくれれば幸いです。

370:名無し~3.EXE
10/06/26 23:29:16 3iiN+0H6
msinfo32 /?

371:名無し~3.EXE
10/06/26 23:38:36 8YnLP4Rl
>>370
回答ありがとうございます。
しかしそのコマンドを実行するとGUIが出てくるのです・・たしかXPなら確認出来た気がしますが。

372:名無し~3.EXE
10/06/27 02:00:15 eWryKo38
>>371
msinfo32 /categories +ComponentsUSB /report c:\usb.txt
と「ファイル名を指定して実行」でやってみて、
特にウインドウは出てこなかったけど、Win7だと出てくるの?

373:369
10/06/27 03:36:24 N7jjxMwC
>>372
ありがとうございます。
ログ出力はされたのですが特定のカテゴリじゃなく全ての情報が書き出されます。
Win7(Vista)だと特定のカテゴリを出力させるのは無理なんですかね・・。

>ウィンドウの件
msinfo32 /?
のコマンドなら出てきます。
教えていただいたコマンドならシステム情報を取得してログ出力ってなりました。
(ただし上記にも書いてある通り全ての情報が書き出されます)
ちょっと調べた所Vistaからそうだったみたいです。

374:名無し~3.EXE
10/06/27 20:50:36 9xWXQ4dR
>>373
あー確かにWin7だとうまく動作しないっぽいね
じゃあPowerShellとか使ってWMIのクラスを叩くくらい?丁度Win7から標準搭載だし

ComponentsMultiMediaCDROMの場合なら
gwmi Win32_CDROMDrive
で済むと思うけど

ComponentsUSBと同じものを拾うとしたら、Win32_PnPEntityから
それっぽい文字列になってるものを選りすぐるとか
そういう泥臭いのしかないんじゃないかなぁ
gwmi Win32_PnPEntity | ? { $_.Description -match "HID|USB|マウス" }

しかしなんでmsinfo32の機能縮小したんだろね


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