_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/


初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
http://pc8.2ch.net/test/read.cgi/win/1152544955/l50
http://pc10.2ch.net/test/read.cgi/win/1152544955/l50
http://pc11.2ch.net/test/read.cgi/win/1152544955/l50
2ちゃんねる *掲示板に戻る* 全部 1- 最新50
レス数が1000を超えています. 残念ながら全部は表示しません.
初心者〜管理者まで必読!コマンドライン(DOS Pt.5)

  1 :名無し~3.EXE:2006/07/11(火) 00:22:35 ID:HxtG+321
  適材適所で GUI と CUI を組み合わせて, ウマー.
  前スレ.
  1 http://pc.2ch.net/win/kako/1002/10023/1002392089.html
  2 http://pc5.2ch.net/win/kako/1013/10138/1013833995.html
  3 http://pc8.2ch.net/test/read.cgi/win/1062775949/
  4 http://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 http://pc8.2ch.net/test/read.cgi/win/1062775949/
  ---
  > 4 http://pc8.2ch.net/test/read.cgi/win/1116131036/

  3 :名無し~3.EXE:2006/07/11(火) 01:22:52 ID:Jt4CDqIy
  意気揚々と埋めてるから何かネタでもあるのかと思ったのに・・・.

  4 :名無し~3.EXE:2006/07/11(火) 01:37:39 ID:oqrI561G
  for /?

  5 :名無し~3.EXE:2006/07/13(木) 01:06:15 ID:CMHslxMB
  だれもいない.

  6 :WindowsXP:2006/07/13(木) 15:46:40 ID:HlT6NdOe
  誘導されて来ました.
  クリックでTempフォルダの中身を消去するアイコン (.bat ファイル) を作りたいのですが,
    rmdir /s "Tempフォルダのパス"
  だとTempフォルダ自体も消えてしまいます.
  この場合に限らず, ディレクトリの中身だけを削除する場合どのように命令すればよいのでしょか.

  7 :名無し~3.EXE:2006/07/13(木) 15:56:13 ID:QTEtV8XE
  消した後に作る.

  8 :名無し~3.EXE:2006/07/13(木) 15:59:22 ID:f3nQB2M5
  Tempフォルダにcdしてrmdir /s .
  なんてな.

  9 :名無し~3.EXE:2006/07/13(木) 17:58:16 ID:ooElHgFf
  http://www.atmarkit.co.jp/fsecurity/rensai/securitytips/017hotfix.html
  これのバッチファイルの書き方教えて.

  10 :名無し~3.EXE: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:2006/07/13(木) 21:51:09 ID:/VQW/QIJ
  >>7だと, アクセス権とか監査とかが復元できない場合があるので>>8のほうが賢いと思う.
  ただ, /sだけでは「よろしいですか (Y/N)?」と聞いてきてしまうので, /qも付けたほうがいいかも.

  13 :名無し~3.EXE: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:2006/07/13(木) 22:21:46 ID:1rMuZnzq
  dir /b /o:d > out.txt
  こうしておけば更新日時が古い順に並ぶお.
  ダウンローダでファイルの日時を取得してるならこうやって並べると気持ちいいかも.

  17 :名無し~3.EXE:2006/07/20(木) 01:17:00 ID:w2h+z3Fq
  話の途中ですみません.
  XPProで回復コンソールをWINDOW配下にインストールしたいのですが,
  何かいい方法ないでしょうか? デフォだと%SYSTEMDRIVE%に強制的に.
  作られるんですが, ルートってのは目障りなんです. 手動でWINDOWS
  配下に移し, BOOT.INIのパス表記も合わせても, 回復コンソール起動中に.
  TXTSETUP.SIFが見つからない云々・・・のエラーが出てしまいます.
  よろしくおねがいします.

  18 :名無し~3.EXE:2006/07/20(木) 09:44:57 ID:DOSQ1KF2
  どう見てもスレ違いです.
  下記スレッドで再度質問してください.
  WindowsXP質問スレ 152ページ目.
  http://pc8.2ch.net/test/read.cgi/win/1152982564/
  本当にありがとうございました.

  19 :名無し~3.EXE:2006/07/20(木) 09:45:28 ID:DOSQ1KF2
  うほっ, IDがDOS

  20 :名無し~3.EXE:2006/07/20(木) 13:29:50 ID:/kQGoaOV
  神キタ------------------------ !!!!!

  21 :名無し~3.EXE:2006/07/20(木) 14:00:03 ID:bWg0PLeg
  質問です.
  batでwavを呼び出して一度だけ再生して.
  終了させる方法はありませんか?
  環境はXPproです.

  22 :21:2006/07/20(木) 14:28:35 ID:bWg0PLeg
  自己解決しました.

  23 :名無し~3.EXE:2006/07/20(木) 23:07:55 ID:KmtrP+Qh
  ・・・どう解決したか書いとけよ.

  24 :名無し~3.EXE:2006/07/21(金) 18:13:50 ID:QFAk7q3Q
  そんな情報イラン.

  25 :21:2006/07/22(土) 05:25:08 ID:WFo5cAzv
  >>23
  自分としては.
  一応別の言語でそれっぽいもの作って対応.
  sleepとかもいつの間にか消えてたんでついでに作りました.
  なんでバッチに拘ってるか分からなくなってきた. orz.
  というかコマンドプロンプトで解決できてないや・・・.

  26 :名無し~3.EXE: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:2006/07/23(日) 21:00:56 ID:kD5ysoEu
  なんでこういう実験してみればわかるようなことを質問するかなぁ・・・.

  29 :名無し~3.EXE:2006/07/24(月) 04:00:54 ID:Pj4INBC0
  とりあえず置いときますよ.
  http://www.seshop.com/book/preview/200309/4798104426-dos.pdf
  http://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
  "http://www.google.com/search?hl=ja&lr=lang_ja&inlang=ja&ie=Shift_JIS&q=%82%D9%82%B0"
  この例はうまくいくのですが, 運悪く %CD% が含まれてしまうと,
  そこの部分がカレントディレクトリ名に展開されてしまって期待通りになりません.
  例えば以下はうまくいかない例です.
  > iexplore
  "http://www.google.com/search?hl=ja&lr=lang_ja&inlang=ja&ie=Shift_JIS&q=%82%CD%82%CD"
  環境変数の展開を抑制する方法はないものでしょうか.
  ダブルクオートの代わりにシングルクオートは試してみましたが駄目でした.

  31 :名無し~3.EXE:2006/07/26(水) 01:11:48 ID:xPsBkOpx
  >>30
  検証したわけではないが, %を^%に変更したらどうだべ?

  32 :30:2006/07/26(水) 01:17:40 ID:7KnQnoV2
  >>31
  駄目でした・・・.
  Google側に, 「^」を含んだまま渡ってしまいます.

  33 :名無し~3.EXE:2006/07/26(水) 04:55:47 ID:bvsfqXHv
  set CD=^%CD^%
  しておくとか.

  34 :名無し~3.EXE:2006/07/26(水) 05:23:01 ID:9XtTVqad
  >>30
  Shift_JIS以外のコードを使ってみるとか.

  35 :名無し~3.EXE:2006/07/26(水) 05:28:41 ID:Fcd8s0ZU
  エスケープが必要な文字(%と&)を^でエスケープしてダブルクウォートで囲まないで渡す.

  36 :30:2006/07/26(水) 06:30:30 ID:7KnQnoV2
  >>35氏の方法でできました!
  >>33
  なるほどこれもいけますね.
  汎用性がちょっと低いのが難点でしょうか.
  >>34
  実はこのコマンドラインを最終的には Perl のスクリプトの中に.
  含めたいのですが, その関係上でできれば Shift_JIS で.
  いきたかったのです.
  >>31氏も含め皆様どうもありがとうございました!

  37 :名無し~3.EXE:2006/07/26(水) 13:17:43 ID:Uf4XzLbe
  なんか気分がいい.

  38 :名無し~3.EXE:2006/07/27(木) 13:34:20 ID:AYHBeKOk

  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: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:2006/07/27(木) 17:48:09 ID:ejfXxMCP
  for /?

  43 :名無し~3.EXE:2006/07/27(木) 18:42:23 ID:ZyGLQChd
  four のレスは見事だな.

  44 :名無し~3.EXE:2006/07/27(木) 19:16:31 ID:3HWIL+gJ
  忘れたんなら for /? みれば思い出せるだろ.
  DOS時代のforの機能で十分だし.

  45 :名無し~3.EXE: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:2006/07/27(木) 19:53:31 ID:FVkrqnx/
  forが使えんやつはgotoとshiftでも使ってろや.

  47 :45: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:2006/07/27(木) 21:35:39 ID:3HWIL+gJ
  >>45, 47
  copy /?

  49 :45: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:2006/07/27(木) 22:24:06 ID:HBIHjoKe
  move?

  51 :名無し~3.EXE:2006/07/28(金) 03:06:39 ID:1XL80h13
  バッチファイルのコマンドラインの途中で改行を入れたいんですが.
  どうしたらいいですかね?
  それと.
  dir hogehoge.txt /s /b
  で取れたフルパスをそのまま実行させたいのですがどうしたらいいのでしょう?
  お願いします.

  52 :名無し~3.EXE:2006/07/28(金) 03:20:05 ID:DKUy5lzO
  改行無理.
  お前も例にもれず, for /?

  53 :51:2006/07/28(金) 03:22:10 ID:1XL80h13
  補足です.
  hogehoge.txtはファイル名は判っていますがサブフォルダに深く潜り込んでいて.
  その為dir検索しています.

  54 :51:2006/07/28(金) 03:27:53 ID:1XL80h13
  仕方なく現在は検索結果を別のバッチファイルにリダイレクトして実行させてます.
  で.
  start(改行文字)
  hogehoge.txtのフルパス.
  ってやりたかったんですが・・・.

  55 :名無し~3.EXE:2006/07/28(金) 03:48:25 ID:DKUy5lzO
  >>54
  forを使うのはループのためじゃなくってコマンド結果を環境変数に格納するためだ.

  56 :51:2006/07/28(金) 03:53:20 ID:1XL80h13
  >>55
  トークン切り出してとか?

  57 :51: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: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: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:2006/07/30(日) 18:17:51 ID:URlOCn8N
  久々に言おう・・・.
  必死だな. w.

  65 :名無し~3.EXE:2006/07/30(日) 18:42:16 ID:MIqSJOjQ
  >>63
  ping.batの中身の方だ.
  つーか, そんな紛らわしい名前付けるな.

  66 :名無し~3.EXE: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: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:2006/08/02(水) 14:12:40 ID:5OwJeRGW
  ネタ?
  スレタイ読める?

  71 :69:2006/08/02(水) 14:23:26 ID:wsgBoBsR
  すみません. 初心者スレと見間違いました.
  申し訳ありませんでした. w.
  気にせずに質疑, 議論を進めてください.

  72 :名無し~3.EXE:2006/08/02(水) 14:38:30 ID:BwFBApMu
  質疑, 議論とかそんな大そうなスレじゃないし.

  73 :名無し~3.EXE:2006/08/03(木) 00:20:18 ID:6j4+y6+n
  こんばんは, 最近コマンドラインの勉強を始めた者ですが質問があります.
  コマンド実行結果によるERRORLEBELの値で分岐処理をしようと思っているのですが,
  ERRORLEVELの値についてコマンド/?を調べてもどこにも書かれていません.
  自分でざっと調べた結果, 正常処理なら「0」, 異常処理なら「それ以外」のように.
  思うのですが, 具体的な値はどのように調べればよろしいでしょうか.
  ご教授願います.

  74 :名無し~3.EXE:2006/08/03(木) 00:28:02 ID:L7kyqlc5
  確かに未だにまともなリファレンスがないのはアレだよなぁ.

  75 :名無し~3.EXE:2006/08/03(木) 00:55:21 ID:CapLiwm3
  >73
  これと言った統一ルールは無いよ.
  ただ特に説明が無ければ, 正常だろうがエラーだろうが.
  大抵は「0」が返ってくると思う.
  何が変えるかはコマンドやexe次第.
  C言語分かるなら, mainの戻り値 =about= ERRORLEVEL と思えばよろし.

  76 :名無し~3.EXE:2006/08/03(木) 01:58:48 ID:JXRq3dhJ
  0か1以外返すやつなら大抵readmeやヘルプとかに書いてる.

  77 :名無し~3.EXE:2006/08/03(木) 03:47:48 ID:CnXcCkLB
  コマンドで説明がないものは基本的に戻り値に意味が無いものだと思え.
  統一した値など全くない.

  78 :名無し~3.EXE:2006/08/03(木) 03:54:37 ID:BA6wBAJp
  それでも0は想定の範囲内くらいの意味は残ってるだろ.

  79 :名無し~3.EXE:2006/08/03(木) 06:08:52 ID:CnXcCkLB
  >>78
  0にもまったく意味なし.
  正常でも異常でも0を返すコマンドはいっぱいある.

  80 :名無し~3.EXE:2006/08/03(木) 06:13:20 ID:4ppbqAX6
  EXIT_SUCCESS は 0 じゃね?

  81 :名無し~3.EXE:2006/08/03(木) 16:09:37 ID:ki5O0+Zn
  >>77, 79
  知ったかもほどほどに.

  82 :名無し~3.EXE:2006/08/03(木) 19:25:12 ID:YhlYC0Ja
  2ちゃんねるの90パーセントは知ったかで構成されている.

  83 :名無し~3.EXE:2006/08/03(木) 19:58:48 ID:b//5CN2i
  0が帰ってきたときは正常ということは全く言えないので0も無意味.
  >>81はもっと勉強しる.

  84 :名無し~3.EXE:2006/08/03(木) 20:07:13 ID:EDvrYDRp
  正常に終了したわけじゃなくても, 想定の範囲内で終了したなら.
  0を返すと思うが・・・.

  85 :名無し~3.EXE:2006/08/03(木) 20:51:35 ID:b//5CN2i
  想定の範囲内とかわけわからん言い方よせ.
  もしダンマリとか落ちるとか以外の終了の場合ならそりゃその通りかもしれんが.
  普通それは想定内とか言う意味じゃない.
  (そういうコマンドなら, unknownエラーでも0を返すよ)

  86 :名無し~3.EXE:2006/08/03(木) 22:13:36 ID:L7kyqlc5
  >>79
  なんのコマンドかに因らず「0なら正常終了」と考えられるかといえばそうじゃないのは確か.
  でも, コマンドごとにどういうケースで0返すか考えて使うなら非常に有用だよ.

  87 :名無し~3.EXE: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:2006/08/04(金) 00:30:32 ID:3SMtX8D3
  >75で既に十分語られていると思うのだが.

  90 :名無し~3.EXE:2006/08/04(金) 01:08:39 ID:0qOdq+cq
  まあ標準コマンドだと殆どは戻り値に意味が無いね.

  91 :名無し~3.EXE:2006/08/04(金) 07:31:44 ID:kPylik4/
  正常終了=0, 何らかのエラー=0以外の値,
  となってない標準コマンドってあります?
  ほとんど上記パターンに則ってると思うんだけど.

  92 :名無し~3.EXE:2006/08/05(土) 02:53:21 ID:inmltxCg
  >91
  CHOICEコマンド.

  93 :名無し~3.EXE:2006/08/08(火) 10:05:21 ID:iso+Sl68
  >>91
  ping

  94 :名無し~3.EXE:2006/08/13(日) 08:36:26 ID:GfGxOKgQ
  コマンドラインで, 引数を元にテキストファイルを作成する事って出来ますでしょうか?
  何がしたいかといいますと, beckyというメールソフトを使ってるのですが,
  フィルタリングマネージャなどで条件により, プログラムの起動.
  そのプログラムに引数として, メール本文を投げ, 処理を行ったあと,
  結果をテキストファイルとして出力したいんです.
  どなたか詳しい方いらっしゃいますでしょうか?

  95 :名無し~3.EXE: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:2006/08/15(火) 19:25:23 ID:UN+U0IeJ
  タスクに登録するとか.
  スタートアップで起動してBATの最後にリンクを削除するようにするとか.
  レジストリの runonce に登録するとか.
  試した?

  98 :96:2006/08/15(火) 19:46:01 ID:tB2dtgI0
  >>97
  自動実行って, そういうコマンドがあるんじゃなくって,
  タスクに登録するなりして実現するものなんですね.
  恥ずかしながら, コマンド一つで出来るものかと思っておりました.
  ありがとうございました.

  99 :名無し~3.EXE: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:2006/08/15(火) 22:48:55 ID:tPpDxHgb
  robocopyでいくつかのスイッチ組み合わせれば近いこと出来るかも.
  ハッシュ比較は無理だけど.

  102 :名無し~3.EXE:2006/08/15(火) 22:54:14 ID:rx3Cek+f
  >>101
  スタートフォルダは普通に英数なんですけど.
  下層フォルダとファイル名がハングルなのですが.
  その場合でも出来そうですか?
  サイズ比較くらいでも無理ですかね?

  103 :名無し~3.EXE:2006/08/15(火) 23:02:27 ID:UN+U0IeJ
  取り合えず, そうあたりで,
  ファイルサイス一致するかどうか, 次にバイナリ一致するかどうか.
  で試してみれば?
  コンペアさせる順序をファイルサイズでソートすれば.
  ファイル数がそれほど多くなければ十分実用になると思う.

  104 :名無し~3.EXE:2006/08/15(火) 23:04:52 ID:rx3Cek+f
  >>103
  ファイル数が少なくて数十.
  多くて数千・・・危険?

  105 :名無し~3.EXE:2006/08/15(火) 23:15:37 ID:5SvS0Mip
  >>100
  スクリプト(このスレ的にはコンソールスクリプトかな)でやる方がいいね.
  それとハッシュでの比較ってのは, 既にどちらかのハッシュが算出してある場合以外は無意味.
  何故かというと, 通常のバイナリ比較だと.
    Aのバイナリを読み込み->Bのバイナリを読み込み->バイナリ比較.
  という流れだが, ハッシュ比較だと, ハッシュというのはバイナリ全体から算出するものなので.
    Aのバイナリを読み込み->Aのハッシュを算出->Bのバイナリを読み込み->Bのハッシュを算出->ハッシュ比較.
  と手間が増える上に, ハッシュというのは別バイナリで同一ハッシュになる可能性もあるから.
  信頼性は下がるという悪いこと尽くめの方法.
  >>104
  数千くらいなら全然問題ないでしょ.
  20億越えると危険だけど.
  まあ, 数が多けりゃそれだけ時間は掛かるが.
  処理時間はファイル数よりファイルサイズ一致数に影響される.

  106 :名無し~3.EXE: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:2006/08/16(水) 00:55:02 ID:TUJADtxE
  ありがとう御座いますですよー.
  初心者なりに頑張ってみます.

  108 :名無し~3.EXE:2006/08/16(水) 15:17:04 ID:z35aAI0X
  今HDDが死に掛けであわててバックアップとってるところですが.
  xcopyのコマンドでコピー先に既にあるファイルはコピーしない  とするにはどうしたらいいでしょうか?

  109 :名無し~3.EXE:2006/08/16(水) 15:18:59 ID:9Oj2H2Nx
  >>108
  /I

  110 :名無し~3.EXE:2006/08/16(水) 15:21:11 ID:9Oj2H2Nx
  >>109
  !あ, うそ.
  /Uの反対だな.

  111 :名無し~3.EXE:2006/08/16(水) 17:57:50 ID:q2ajl0ca
  robocopyは便利だよ.

  112 :名無し~3.EXE:2006/08/16(水) 21:39:21 ID:9gYsTFoa
  Windowsのバッチファイル(.bat)で, 単に第1引数, 第2引数・・・ のようなかたちではなく,
  「-x」や「-x <パラメータ値>」のような形でパラメータを.
  渡して利用者が使いやすいような仕組みにしてあげたいとおもうのですが,
  それをサポートしてくれる便利なツールなどはありますでしょうか?
  (UNIXでいうgetoptsないしgetoptみたいなもの)

  113 :名無し~3.EXE:2006/08/16(水) 23:40:15 ID:WP4Sa4y5
  外部ツール使うぐらいなら自分でなんとか解析するのじゃ.
  shift とか for (%*) とか使えば何とかなるのじゃ.

  114 :名無し~3.EXE:2006/08/16(水) 23:43:13 ID:FN2GT4dW
  >>108
  /dかな.
  指が覚えてるフォルダ丸ごと差分コピー. 漏れが一番よく使う使い方.
  xcopy /deciqhrkoxy コピー元フォルダ コピー先フォルダ.

  115 :名無し~3.EXE: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:2006/08/17(木) 00:54:14 ID:W+Pk0QLm
  >>114
  ありがとうございます!上手くいきました!

  117 :名無し~3.EXE:2006/08/17(木) 12:52:33 ID:ukr3w+FO
  >>115
  ありがとうございます!findと暗黙的ループ変数を組み合わせて使うことはおもいつきませんでした.
  大変たすかりました.

  118 :名無し~3.EXE: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:2006/08/19(土) 20:26:04 ID:XQgYyCo4
  斜め横からすみません.
  この前から見てますが[上矢印]これと>>115はどうやって使うんですか?
  BATファイルにして動かしても, , , , 何ですが, , , ,

  120 :名無し~3.EXE:2006/08/19(土) 20:57:14 ID:A+Jwn71h
  >>119
  >>112

  121 :名無し~3.EXE:2006/08/19(土) 20:58:14 ID:KhGo//4y
  %%jを%%iにしてみたら?

  122 :名無し~3.EXE: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:2006/08/19(土) 21:24:53 ID:g4LMndok
  他人が使ってるのを見たら使いたくなるだろうが.
  使いたくなる人が増えたら作者も作ったかいがあるというものだ.
  だれか親切な人使い方教えてくれ.

  125 :名無し~3.EXE: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:2006/08/19(土) 21:39:14 ID:5KecWynB
  あ5がふたつだ. orz.

  127 :名無し~3.EXE:2006/08/23(水) 21:21:56 ID:ObYRfIur
  exeファイルをログインしているユーザとは.
  別のユーザで実行したいんですけどできます?
  OSはxpです.
  start コマンドでexeファイルは起動できるのですが,
  別ユーザ権限で実行したいのです.
  exeファイルを右クリックしてメニューに出てくる「別のユーザで実行する」のを.
  コマンドでできますでしょうか?

  128 :名無し~3.EXE:2006/08/23(水) 21:31:04 ID:7V6omiO2
  るなs

  129 :名無し~3.EXE:2006/08/23(水) 22:01:29 ID:ZGTuPVlE
  >>127
  runas /?

  130 :名無し~3.EXE:2006/08/26(土) 09:41:20 ID:U3mxe7Fy
  バッチファイルの実行中に指定秒数一時停止させる方法は有りますでしょうか?
  pauseだと人が押さないとアレなんで・・・.

  131 :名無し~3.EXE:2006/08/26(土) 09:56:58 ID:WC4q3ZS6
  sleep.exeをどこかから入手するか(例: http://www.vector.co.jp/soft/win95/util/se282254.html
)
  作る(例 http://pc8.2ch.net/test/read.cgi/tech/1123842575/39 )

  132 :名無し~3.EXE: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: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:2006/08/26(土) 10:34:49 ID:U3mxe7Fy
  >>131, 132
  出来ました!
  ありがとうございますm(_ _)m

  135 :名無し~3.EXE: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:2006/08/26(土) 10:36:18 ID:FeFrpd2p
  似たようなのが>>133にあったか.

  137 :名無し~3.EXE:2006/08/26(土) 10:45:38 ID:U3mxe7Fy
  >> 134, 135
  ありがとうございます, そちらも試してみます.

  138 :名無し~3.EXE:2006/08/26(土) 12:57:25 ID:LVNArOwt
  ping 127.0.0.1 -n 10>nul

  139 :名無し~3.EXE:2006/08/26(土) 13:11:55 ID:9gQtyg25
  >>138に一票.

  140 :名無し~3.EXE:2006/08/26(土) 21:13:02 ID:wQZ6u8Br
  細かいことだが>>138だと「約9秒間待つ」処理になる.
  まあ, バッチファイルにそれほど細かい精度を要求する人はいないと思うが・・・.

  141 :名無し~3.EXE:2006/08/26(土) 21:29:02 ID:WC4q3ZS6
  じゃあ.
  ping 0 -n 11 > nul
  で.

  142 :名無し~3.EXE:2006/08/26(土) 22:35:39 ID:QOJ05dBw
  ワロタ.
  なごんだ.
  感心した.

  143 :名無し~3.EXE:2006/08/27(日) 15:35:30 ID:T5Kq+UaQ
  テキストファイルの最初の数行を抜き取って上書きしようとして.
  more +!nl! hoge.txt>hoge.txt
  とするとテキストが空になってしまうのですが, 一度別のファイルに書き出してからじゃないと上書きは無理ですか?

  144 :名無し~3.EXE:2006/08/27(日) 15:37:54 ID:T5Kq+UaQ
  すいません>>143の行の前に.
  setlocal enabledelayedexpansion
  set /p n=
  です.

  145 :名無し~3.EXE:2006/08/27(日) 19:42:41 ID:UeDkqXpA
  入出力のファイルオープンを同じファイルにするのは無理だって.
  これはどのソフトでも同じ.
  他ソフトを見習って, 一旦作業ファイルに出力した後,
  入力ファイル削除, 出力ファイルをリネームしろ.

  146 :143:2006/08/27(日) 23:10:18 ID:DuGHZ1Jx
  >>145
  やはりそうですか, ありがとうございました.

  147 :名無し~3.EXE:2006/08/28(月) 02:44:43 ID:tGN/v/7N
  テキストエディタなんか一見対象ファイルを編集してるようだが.
  実際は作業ファイルを別に作成したりしてるわけで保存時に.
  そのファイルを移動したりしてる.
  元のファイルはその前に削除したりバックアック名にリネームしたりしてて.

  148 :名無し~3.EXE:2006/08/29(火) 12:00:53 ID:meFFkd6M
  バッチファイルでコンピュータ名を変更したいのですが可能でしょうか?
  OSはWindows XP Proです.

  149 :名無し~3.EXE:2006/09/05(火) 01:30:08 ID:J1YU4f6y
  http://hp.vector.co.jp/authors/VA015850/software/wisteria.html
  [上矢印]このソフトに関するバッチファイルの記述をどなたか解説していただけないでしょうか.
  お願いします.

  150 :名無し~3.EXE: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:2006/09/05(火) 02:17:29 ID:J1YU4f6y
  >>150
  すいません.
  その通り記述して作ったんですがショートカットをSendToに入れて使えないんです.

  152 :名無し~3.EXE:2006/09/05(火) 02:18:00 ID:fKR1uigz
  嫁じゃなく読めだった.

  153 :名無し~3.EXE:2006/09/05(火) 02:37:33 ID:f0JURZ4F
  注意.
  実行ファイル(及びショートカット)ではなく, 起動したウインドウへ D&D してください.
  って書いてあるじゃん.

  154 :名無し~3.EXE:2006/09/05(火) 02:39:32 ID:J1YU4f6y
  >>153
  いえそれがバッチファイルでのバックグラウンド動作ができるらしいんですが・・・.

  155 :名無し~3.EXE:2006/09/05(火) 02:51:07 ID:J1YU4f6y
  すいませんバッチファイルのショートカットをSendToに入れると実行できました.
  ViXからのSendTo内バッチファイル実行が不可能なようですお騒がせしましたすいません.

  156 :名無し~3.EXE:2006/09/05(火) 02:56:37 ID:lhq1jDgQ
  Win95なら別だが, ショートカットだけでbatいらないんじゃね?

  157 :名無し~3.EXE:2006/09/05(火) 03:24:58 ID:J1YU4f6y
  >>156
  ショートカットだと>>153の方が言っておられますように.
  ウィンドウへD&Dが必要なんです.
  バッチファイルを使用するとそのD&Dの手間が省けるので楽です.

  158 :名無し~3.EXE:2006/09/05(火) 03:37:42 ID:lhq1jDgQ
  >>157
  なぜできないのか理解できないので実際に試してみたが, 普通にできたぞ.
  ViXは知らんが.

  159 :名無し~3.EXE:2006/09/05(火) 03:56:26 ID:J1YU4f6y
  >>158
  エクスプローラーの送るメニューからは可能なようです.
  ViXのバグか何かだと思いますお手数おかけしてすいません.

  160 :名無し~3.EXE:2006/09/06(水) 20:21:28 ID:37Qi347M
  [下矢印]の意味がよく輪からないんですけどどうすればいいんですか?
  msdosで起動するソフトなんですが????です.
  % mecab ファイルパス -o 別のファイルパス      って入力すればいいんじゃないんですか?
  http://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:2006/09/08(金) 10:02:24 ID:QU5REhu+
  >160
  誤爆なのか. 確かにスレ違いだが.
  完全に外してるワケでもない微妙な誤爆だな. w.
  例えば解析したいファイルの名前が「aaaaaaa」で.
  その結果を「bbbbbbbb」に保存したいなら.
  コマンドプロンプト開いて.
  mecab aaaaaaaa -o bbbbbbbb
  って打ってエンター, な.

  163 :名無し~3.EXE:2006/09/09(土) 02:02:28 ID:l7Z6gnOX
  >>157
  作者です. (w.
  ショートカットでいけますよ.
  ショートカットのプロパティのリンク先をこんな感じにします.
  "D:\release\resizer\wisteria.exe" "D:\release\resizer\pattern01.ini"

  164 :名無し~3.EXE:2006/09/09(土) 02:09:44 ID:mRjJ9uKf
  作者は来るなよバカ.

  165 :名無し~3.EXE:2006/09/09(土) 02:29:17 ID:9IbISJaR

  166 :名無し~3.EXE:2006/09/09(土) 03:45:44 ID:B/z4vq7U
  >>163
  起動するだけで終わり.
  その後D&Dしないといけない.

  167 :名無し~3.EXE:2006/09/09(土) 04:59:48 ID:b6RM+FdO
  XP にて, bat ファイルを使って, 環境変数をシステムに通知する.
  方法ってありますでしょうか.
  たとえば,
  reg add HKEY_CURRENT_USER\Environment /v ENVNAME /d ENVVALUE
  で環境変数に値を追加した後に, この変更をOS再起動なしに有効にしたい.
  場合, どのようにしたらよいでしょうか.
  ここを読むと,
  http://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: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"
  とすると,
  http://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
  すみません.
  [上矢印]の画像, うまく見えないみたいなので, 他の箇所にアップロードしました.
  宜しくお願い致します.
  http://upload.fam.cx/cgi-bin/img-box/du760909120451.jpg

  171 :名無し~3.EXE:2006/09/09(土) 13:30:16 ID:A+UCQsHR
  [タスク]の[詳細設定] メニューの [AT サービスのアカウント]

  172 :名無し~3.EXE:2006/09/09(土) 13:50:11 ID:C5Wo58dx
  >>171
  レスありがとうございます!
  タスクとはどこから開けますか?

  173 :172:2006/09/09(土) 14:00:51 ID:C5Wo58dx
  >>171
  わかりました. ありがとうございます.

  174 :名無し~3.EXE:2006/09/09(土) 14:01:01 ID:9IbISJaR
  control

  175 :167:2006/09/09(土) 16:38:46 ID:b6RM+FdO
  >168
  ためしに,
  rundll32 user32.dll, SendMessageA 65535 26 0 0
  とやってみましたが反映させませんでした. rundll32 では呼び出せないのかな.
  うーん, なんとかならんですかねえ.

  176 :名無し~3.EXE: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: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:2006/09/09(土) 21:00:31 ID:lO4MfV+7
  >>179
  最初のstartには /WAIT オプションが必要でしょう.
  あとは.
  >>131-141
  を参照.

  181 :180:2006/09/09(土) 21:04:03 ID:lO4MfV+7
  a.exeが完了してから5秒待つわけでなければ.
  「/WAIT オプションが必要」は撤回します.

  182 :名無し~3.EXE: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の調整が必要なため, 未だ試していません. ところで.
  http://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: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:2006/09/09(土) 22:03:05 ID:C5Wo58dx
  >>187
  やってみます!ありがとうございます.

  189 :名無し~3.EXE: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:2006/09/14(木) 08:24:56 ID:SDPKJdUF
  >>190
  x "CommandA && CommandB"
  o "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: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:2006/09/18(月) 13:06:40 ID:5c+M8uRH
  コントロールパネル > 地域と言語のオプション > 詳細設定.
  > Unicode 対応でないプログラムの言語.
  を英語(米国)に一発変換するコマンドを教えてください. 賢い人お願い.

  195 :名無し~3.EXE:2006/09/19(火) 02:50:37 ID:xYqALZ2K
  ローカルネットワークで使うファイル共有機器を使っているのですが.
  恐らく破損が原因で一部のファイルが削除できなくなってしまいました.
  UNCを使ってChkdskをかけようとすると, できませんでした.
  その外部機器は共有専用の物でそれ自体にログインすることはできません.
  操作元のPCはWindowsXPです.
  何か良いファイルの削除方法はありませんか?

  196 :名無し~3.EXE:2006/09/19(火) 02:53:40 ID:PvS6FX5U
  フォーマットぐらいできるんじゃね?

  197 :名無し~3.EXE:2006/09/19(火) 12:59:10 ID:JsGdWB5o
  アフォウ.

  198 :名無し~3.EXE:2006/09/19(火) 23:28:59 ID:2GQBIaKq
  chkdskもformatもローカルのドライブしかやってくれないよ.

  199 :名無し~3.EXE:2006/09/20(水) 02:28:12 ID:WXXCtHSF
  3年半前の誰かに「ありがとう」.
  ----------------------------------------------------------
  初心者必読!最低限知っておくべきDOSコマンド 2
  http://pc5.2ch.net/test/read.cgi/win/1013833995/660
  660 :名無し~3.EXE[sage]:2003/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: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: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
  でhttp://hogehoge.com ヘッダーの情報を得たのですが,
  http://hogehoge.com/saitama/saitama.html
  のように階層とファイルを指定する場合, どのように打てばよいのでしょうか?

  205 :名無し~3.EXE:2006/09/21(木) 18:37:34 ID:U4TS2RPc
  cmd と関係ないじゃん.
  HEAD /saitama/saitama.html HTTP/1.0
  Host: hogehoge.com

  206 :名無し~3.EXE:2006/09/21(木) 21:36:02 ID:v01n1OiK
  >>205
  トンクス.

  207 :名無し~3.EXE:2006/09/25(月) 03:56:34 ID:zcUKP0FD
  WEB上にあるファイルと, ローカルにあるファイルのMD5とかを参照比較して, 違ってたら何かメッセージ出したり, 起動したりDLしたりって事,
  出来ませんか?

  208 :名無し~3.EXE:2006/09/25(月) 18:30:42 ID:3OvFGSR9
  「コマンドライン」ってほとんどのWindowsアプリを起動できるから.
  「出来ません」とは答えられないよね.

  209 :名無し~3.EXE:2006/09/25(月) 18:33:33 ID:PAABQqCC
  ダウンロードする前にmd5の計算が出来ればね.

  210 :名無し~3.EXE:2006/09/27(水) 00:52:25 ID:sv2UodKP
  ascii文字列の比較をしたいです. UNIXの "comm"コマンドのような.
  ものを探しているのですが, compやfcではいまひとつです.

  211 :名無し~3.EXE:2006/09/27(水) 00:56:39 ID:sv2UodKP
  連投すみません. イメージとしてはこれです[下矢印]
  http://www.atmarkit.co.jp/flinux/rensai/linuxtips/565comp2file.html

  212 :名無し~3.EXE:2006/09/27(水) 01:23:02 ID:9XHxAPx1
  http://www.ossh.com/gnu-win32/comm.exe

  213 :名無し~3.EXE:2006/09/27(水) 01:32:17 ID:sv2UodKP
  >>212
  お〜, ありがとうございます. ついでにsortとuniqももらってやりたいこと.
  ができましたー.

  214 :名無し~3.EXE:2006/10/03(火) 02:29:36 ID:NfBnO3Xp
  wmeのinputsourceのところをbatファイルで書き換えて.
  自動エンコード開始をしたいのですが書き換えコマンド教えてください.
  最初はチョコアで書き換えてbat起動させて自動エンコード開始させようと思ったのですが.
  チョコアでwmeのファイルを書き換えることができないのを知ってbatで書き換えて自動起動をしようと考えています.

  215 :名無し~3.EXE: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:2006/10/03(火) 16:09:35 ID:1+YRdBks
  自分で読んでも, わかりにくい文になった. すまそ.
  送り側で削除されたファイルを, 受け側に残したくないっていう意味です.
  さらに, 受け側の容量がデカイので, rd  xcopy でやると時間が掛かりすぎて困るっていう意味です.

  217 :名無し~3.EXE:2006/10/03(火) 17:21:43 ID:bakKShfe
  そういうのはもうそういった同期ソフトを使うべきでは.

  218 :名無し~3.EXE:2006/10/03(火) 20:16:14 ID:MLlCxdLB
  xcopyじゃできません.
  robocopyなら/PURGEスイッチ使えば尾k

  219 :名無し~3.EXE:2006/10/04(水) 22:12:37 ID:oVbBf3W/
  一瞬/PUGERAスイッチに見えた.

  220 :名無し~3.EXE:2006/10/05(木) 00:23:32 ID:qgLmfY2v
  同期ならFileFileCopyを使えばいい.
  それか>>218

  221 :名無し~3.EXE:2006/10/05(木) 00:30:39 ID:MCb5nvF1
  漏れも昔はファイルファイルコピーと空目してたからあまり大きなことは言えないが.
  ファイアファイルコピーだぞ.

  222 :名無し~3.EXE:2006/10/05(木) 19:45:16 ID:tjGrDL9G
  ファイルファイルコピー吹いた. w.

  223 :名無し~3.EXE:2006/10/05(木) 21:19:10 ID:saVGMH9k
  本当だ! w.
  紹介元に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: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: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:2006/10/09(月) 14:15:11 ID:ZgyN8vMw
  cd c:/ じゃね?

  229 :名無し~3.EXE: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:2006/10/09(月) 18:37:36 ID:oNSZ8baq
  ntfs utils

  232 :名無し~3.EXE:2006/10/10(火) 23:00:37 ID:aZsZyqrX
  俺用メモ.
  http://www.microsoft.com/technet/prodtechnol/windowsserver2003/ja/library/ServerHelp/9660fea1-65c7-48cf-b466-204ba159381e.mspx

  233 :名無し~3.EXE:2006/10/11(水) 00:27:46 ID:YmyvbGZx
  すいません, ものすごく既出な質問だと思うのですが,
  プログラムA実行完了後, プログラムBを実行する場合,
  programA.exe && programB.exe
  でいいんですか?それとも何か良い方法があるんでしょうか?

  234 :名無し~3.EXE:2006/10/11(水) 00:39:04 ID:b7WovQg3
  >>233
  programA && programB
  programAが正常に終了した場合のみprogramBを実行する.
  programA & programB
  programAが実行された後, programBを実行する.

  235 :名無し~3.EXE:2006/10/11(水) 00:42:23 ID:YmyvbGZx
  >>234
  即効の回答ありがとうございました.

  236 :名無し~3.EXE: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:2006/10/11(水) 20:18:46 ID:Pq9of3Uw
  BATに間違いないなら, メモリーリークとかあるのかもね.
  一応環境変数のワークサイズはXPの場合8192バイトだったかな. (2000だと2048バイト)
  あとはsetlocalとかcmdとかで操作してみるとか.

  239 :名無し~3.EXE:2006/10/11(水) 22:54:54 ID:OyhdnErx
  バッチの内容に問題あるんじゃね?
  エラーが出ると, エラーが出た瞬間に窓閉じるからな.
  だから見た目には途中で勝手に終わったように見える.

  240 :名無し~3.EXE:2006/10/11(水) 23:00:55 ID:Sa6qyVds
  >2次バッチは100個ほどで, 3次はそれぞれ15個.
  1500個も同時にプロセス動かすのって・・・すげー嫌な感じ.
  漏れは絶対やりたくない.

  241 :名無し~3.EXE:2006/10/13(金) 11:18:06 ID:VOTIVxE/
  特定のファイルの属性を隠しファイルにしたいんですがどのようなコマンドを書けばいいですか?
  よろしくお願いします.

  242 :名無し~3.EXE:2006/10/13(金) 11:23:51 ID:L4CHgkjE
  attrib

  243 :名無し~3.EXE:2006/10/13(金) 11:29:51 ID:VOTIVxE/
  >>242
  すいません今思い出してできました本当にすみません.
  ついでなのですが特定のファイルが他のプロセスに使用されている場合.
  そのプロセスがそのファイル使用していない状態にしてそのファイルを削除するようなコマンドはどうすればいいでしょうか.
  よろしくお願いします.

  244 :名無し~3.EXE:2006/10/13(金) 12:11:11 ID:C46/3tBp
  >>243
  標準コマンドには無いから, そういう事が出来るコマンドラインツールを探すか作るかして利用する.

  245 :名無し~3.EXE:2006/10/13(金) 12:29:46 ID:/BVrTyQW
  ファイルからオープンしてるプロセスを特定する方法ってあるんか?
  Win32APIでも構わんので知ってたら教えてくれ.

  246 :名無し~3.EXE:2006/10/13(金) 12:33:34 ID:VOTIVxE/
  >>244
  やはりファイルをUnlocker等のソフトに飛ばしてその後に削除するコマンドを使うしかないのですね.
  ありがとうございました試行錯誤してみます.

  247 :名無し~3.EXE:2006/10/13(金) 13:58:39 ID:C46/3tBp
  >>245
  逆.
  ファイルからオープンしてるプロセスを特定するんじゃなくて.
  既存プロセス群が掴んでるファイル群の中から, 対象に一致する物を探す.
  つーか, 検索ってのは普通そういうものだし.
  これ以上の話は板違いなので, APIスレなり使用言語スレなりでどうぞ.

  248 :名無し~3.EXE:2006/10/13(金) 18:54:57 ID:AB8vVd7f
  >236
  > if not errorlevel 1 programB
  errorlevel はゼロか否かで判定する方が良くない?
  っていうかソフトによって微妙に違うとは思うんだけど.

  249 :名無し~3.EXE:2006/10/13(金) 19:04:48 ID:xVRY4L91
  >>248
  if の昔ながらの書式をもう一度確認した方が良いぞ.
  if errorlevel 1 で 1以上の場合だ.

  250 :名無し~3.EXE:2006/10/13(金) 19:32:22 ID:AB8vVd7f
  >249
  あらら・・・確かにhelpにも書いてあるわ.
  俺普段 %errorlevel% しか使わんから気付かんかった. スマソ.

  251 :名無し~3.EXE:2006/10/14(土) 01:36:11 ID:T/OFuaaU
  すいません.
  ファイル名を指定して実行で,
  cmd /k cd e:\temp
  としても cd せずに, 無指定と同じc:\dqnment〜のまま窓が出ます.
  出てきた窓で e: とすると e:\temp に直接移動します.
  カレント指定で起動するにはどうすればいいのでしょうか.

  252 :名無し~3.EXE:2006/10/14(土) 01:56:20 ID:VspRUX5O
  cd /?

  253 :名無し~3.EXE: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:2006/10/14(土) 14:34:14 ID:QB654mo8
  if /?

  256 :名無し~3.EXE: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: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: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:2006/10/14(土) 22:09:24 ID:pw30TYg5
  ごめん. 訂正.
  IF "%DT%"=="10" NOTEPAD.EXE
  IF "%DT%"=="0" CMD.EXE /C コマンドライン.

  261 :256: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:2006/10/14(土) 23:41:47 ID:xvO2JB2X
  >>259
  > (Win95/98/Meの場合はCMD.EXEの代わりにCOMMAND.COM)
  %COMSPEC% /C

  264 :名無し~3.EXE:2006/10/14(土) 23:47:10 ID:rbbe3sPd
  runasコマンドで.
  ノートパッドを別ユーザーとして起動したいのですが.
  下記のようにするとユーザ(hogehoge)のパスワードが求められます.
  runas /user:hogehoge notepad
  引数か何かでパスワードは指定できないのでしょうか?

  265 :256: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: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:2006/10/15(日) 02:08:15 ID:bYSqBt4L
  なるほどなぁ・・・俺は自宅でWinXP, 職場でWin2000とWinNT4.0を使ってるが,
  "Request timed out"の場合は3つともERRORLEVEL=1と思い込んでたよ.
  それと今まで肝心な>>254の目的をすっかり失念していた.
  なんだか色々混同して勘違いしてたよ. かえって混乱させちまったようで, ごめんな.

  272 :名無し~3.EXE: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:2006/10/17(火) 02:10:26 ID:N9oYajNV
  質問です.
  ショートカット(.lnk)を作るコマンドはありますか?

  275 :名無し~3.EXE:2006/10/17(火) 02:31:34 ID:lckIqFv9
  >>274
  cscript.exe

  276 :名無し~3.EXE:2006/10/17(火) 13:24:27 ID:z7Jjl5bf
  ショートカットの作成コマンドは, 8文字のソース パス フォルダ名を切り捨てます.
  http://support.microsoft.com/default.aspx?scid=kb;ja;263324
  ショートカットの作成の 使用Windows Script Host にパラメータでの方法.
  http://support.microsoft.com/default.aspx?scid=kb%3Bja%3B242297
  クイック起動トレイにショートカットを追加する方法はありますか.
  http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/sept05/hey0901.mspx
  既存ショートカットのアイコンを変更する方法はありますか.
  http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/aug05/hey0812.mspx
  マイ ネットワークにショートカットを作成する方法はありますか.
  http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/may05/hey0509.mspx
  [スタート] メニュー内にフォルダを作成する方法はありますか.
  http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/mar05/hey0302.mspx
  デスクトップ ショートカットのリンク先を変更する方法はありますか.
  http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/feb05/hey0209.mspx
  [マイ コンピュータ] アイコンのキャプションを変更する方法はありますか.
  http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/jan05/hey0119.mspx
  特定のショートカットに対応している実行可能ファイルを調べるにはどうすればよいでしょうか.
  http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/dec04/hey1208.mspx
  スクリプトを使用して [スタート] メニューに特定のファイルを常に表示することはできますか.
  http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/nov04/hey1111.mspx
  他.
  ・リソースキットの中のshortcut.exe
  ・mkshc_at ショートカット作成 (コマンド実行専用)  http://www.tsubak.com/tools/mkshc_at.html

  277 :名無し~3.EXE:2006/10/17(火) 19:30:39 ID:io+8bl7Q
  >>199
  亀レスですまんが, ありがとう.
  同じようなことしようと思って苦労してた.

  278 :名無し~3.EXE:2006/10/17(火) 21:46:20 ID:N9oYajNV
  >>275, 276
  サンクス.

  279 :名無し~3.EXE:2006/10/17(火) 23:11:12 ID:kpUzoa/s
  >>245
  XP Proなら.
  c:\windows\system32\openfiles.exe
  なければ, oh.exeやhandle.exeを入手.

  280 :名無し~3.EXE:2006/10/17(火) 23:13:00 ID:kpUzoa/s
  >>264
  runas.vbsの世界へ.

  281 :名無し~3.EXE:2006/10/18(水) 02:04:31 ID:u9ZZOnu7
  >>227
  zip.vbsの世界へ?

  282 :名無し~3.EXE:2006/10/18(水) 13:33:17 ID:lsVuuXuV
  特定のEXEファイルに複数のファイルを一つずつ投げたいんですがどう書けばいいですか?
  ループとかそのあたりを使えばいいのは大体わかるのですが・・・.

  283 :名無し~3.EXE:2006/10/18(水) 13:39:52 ID:V8rOGUBu
  >>282
  >>4

  284 :名無し~3.EXE: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:2006/10/19(木) 11:53:25 ID:FKzXfjJ7
  >>285
  出来るよ. WSHを使うのが定番.
  普通に引数でパスを取って, IEの機能を使ってクリップボードに格納する.
  腐るほどサンプルが転がってるから, あとは自分で拾ってこい.

  287 :名無し~3.EXE:2006/10/19(木) 13:43:58 ID:xPYMe9IZ
  んーと, それは素じゃない. どんなファイルもつくらずに,
  Windows標準のみのファイルやアプリで実現できませんか?

  288 :名無し~3.EXE:2006/10/19(木) 14:00:38 ID:5JEXY7pR
  >>287
  WSHは大概Winなら入ってると思うがWinの何を使ってるの.

  289 :名無し~3.EXE:2006/10/19(木) 14:02:32 ID:W81ZluKJ
  ファイルを作らないなら,
  「ファイル名を指定して実行」にファイルをドロップして, そこからコピー.
  コマンドプロンプトにドロップしても出来るけど.
  ファイルを作るなら,
  START IExplore.exe about:
  というバッチファイルか,
  フルパス\IExplore.exe about:
  というショートカットを作って, ファイルをドロップして, そこからコピー.

  290 :名無し~3.EXE:2006/10/19(木) 14:03:38 ID:FKzXfjJ7
  >>287
  出来るよ.
  コマンドプロンプト開いて対象ファイルを窓にD&Dすると, パスが表示されるので.
  それを範囲選択してコピー.
  先に言っておくが, 面倒だとか言うなよ. 自分でわざわざ面倒になるような条件出してるんだから.
  因みに, 「素のWindows」と言った場合は, 一般的に外部ソフトを入れない事を差し.
  ファイルを一切作らないことは差さないので覚えておくように.
  >>288
  .vbs, .js, .wsfなどのファイルを作成するのが嫌なんだと思われ. どうしてなのかは知らないが.

  291 :名無し~3.EXE: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:2006/10/19(木) 17:07:36 ID:W81ZluKJ
  >http://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: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:2006/10/19(木) 21:15:58 ID:ls1OF9sj
  懐かしのシラネーヨ.batだな.
  ^Cとか^Zとかに対応できないのが玉に瑕.

  296 :名無し~3.EXE: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:2006/10/19(木) 22:21:02 ID:W81ZluKJ
  済みません.
  本家のfindでサポートしてないシンタクスでした.
  便利だったんですけど. . .

  299 :名無し~3.EXE:2006/10/19(木) 23:52:52 ID:Fqa1lY+E
  あえて言おう, >>297
  マルチするなと.

  300 :名無し~3.EXE:2006/10/20(金) 19:37:49 ID:xavmQ34J
  >>292
  んーと, それは素じゃない. どんなファイルもいじらずに,
  Windows標準のみのレジストリやアプリで.
  フォルダ右クリックにプロンプトを開くっていうのは,
  実現できませんか?
  レジストリもいじらないで.
  機能を実現できればなって思ったんですが,
  簡単にやろうとすると難しいみたいですね.
  なんていう考え方もありますわな.

  301 :名無し~3.EXE:2006/10/20(金) 20:45:27 ID:ZW0sFp6N
  >>300
  矛盾しすぎだな・・・簡単に〜というのも曖昧な表現過ぎて・・・やっぱいいや.

  302 :名無し~3.EXE:2006/10/20(金) 21:19:23 ID:l1bcIv1g
  ちなみにVistaの少なくともRC1ではShift+右クリックでコマンドプロンプトを開く.
  メニューが表示されてたけど最近のビルドだとなくなってるような.

  303 :名無し~3.EXE:2006/10/20(金) 21:20:40 ID:l1bcIv1g
  >>301
  もともとのコメントが矛盾してるのを逆説的に示してるだけでしょ.

  304 :名無し~3.EXE:2006/10/20(金) 21:26:22 ID:ZW0sFp6N
  >>303
  うんそうだね・・・で?

  305 :名無し~3.EXE:2006/10/20(金) 21:46:17 ID:3EPLvaDr
  >>304
  無理な注文言うなってことだろ?
  そんなことも分からんの?

  306 :名無し~3.EXE:2006/10/20(金) 21:53:38 ID:3EPLvaDr
  正確には, 無理な注文にマジレスするだけ無駄, ってことか.

  307 :名無し~3.EXE:2006/10/20(金) 22:06:40 ID:ZW0sFp6N
  >>305
  だからそれがどうかしたの?

  308 :名無し~3.EXE:2006/10/20(金) 22:40:38 ID:3EPLvaDr
  まさに, バカにマジレスするのは疲れる. . . ってのが分かったよ.

  309 :名無し~3.EXE:2006/10/20(金) 22:42:43 ID:3EPLvaDr
  >>300
  「マジレスするトンマ野朗」に俺もなってしまった.

  310 :300:2006/10/20(金) 22:55:44 ID:xavmQ34J
  コメントを差し控えさせて頂きます. (常套句)

  311 :名無し~3.EXE:2006/10/20(金) 23:36:55 ID:xavmQ34J
  素のWindowsが好きなのは, 人それぞれの勝手ですが,
  それならそれで, 素のWindowsに入ってるヘルプでも見て,
  その範囲で使ってればよいものを,
  素のWindowsにない情報をネットに求めれば,
  得られる回答が素のウィンドウでないのは当たり前だろ.
  という寓話です.

  312 :名無し~3.EXE:2006/10/21(土) 00:29:09 ID:mfwax+i1
  ID:ZW0sFp6Nよ.
  トンチンカンなこと言ったのを指摘されて恥ずかしかったからといって, そうどくれるなよ, な.

  313 :名無し~3.EXE: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:2006/10/21(土) 14:14:54 ID:XLNlcWtB
  コマンドプロンプトでFOR /F "delims=にタブを入れたいが,
  タブが補完キーに解釈されて, 入力できない場合は, 一時的に, 補完を無効にすればよい.
  cmd /f:off
  FOR /F "delims=タブ.
  exit

  315 :名無し~3.EXE: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で失礼します.
  http://pc8.2ch.net/test/read.cgi/tech/1148485555/l50#tag49
  上記スレの>>45にて質問したのですが, こちらで聞いたほうがよいということで.
  こちらに来ました.
  質問内容は, FOR /F 〜にて, DELIMSにTABを指定する際に,
  見た目のスペースを別の文字に置き換えられるかどうか?なのですが.
  できないというレスを頂き, またエディタであれば対応可能ということを伺いました.
  エディタにて対応するとはどういうことなのでしょうか?
  ご教示下さい.

  317 :名無し~3.EXE: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:2006/10/23(月) 00:00:57 ID:wssoUMQ0
  >>317さん.
  なるほど. .
  環境変数でTabをセットしてあげれば確かに別文字にできますね.
  まだ試してないですけど.
  それで試してみます. ありがとうございました.

  319 :名無し~3.EXE: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:2006/10/23(月) 05:24:04 ID:CBFP8CuU
  > for文などを使って上手くループ処理に出来ないですかね?
  出来ますよ.

  321 :名無し~3.EXE:2006/10/23(月) 05:27:18 ID:9teFeWA2
  >>320
  本当ですか!具体的にはどのようにすればよいのでしょうか.

  322 :名無し~3.EXE: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:2006/10/25(水) 09:14:51 ID:fdOJ++H8
  ファイル名に時間を含めるために.
  set DATESTR1=%time:~0, 2%%time:~3, 2%
  みたいな感じで時間を取得してそれをリネームに使ってるんですが,
  これだと10〜24時までしかうまく動きません.
  0〜9時台だと取得がずれてしまってリネームに失敗するんですが, 何かうまい方法あるでしょうか?

  324 :名無し~3.EXE: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:2006/10/25(水) 14:28:43 ID:fdOJ++H8
  >>324
  XPで無事できました!
  ありがとうございます.
  このスレで出る質問は大抵for文で解決してますけど, ほんと何でもできるんですね・・・・・・.

  326 :名無し~3.EXE: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:2006/10/25(水) 15:34:03 ID:pmLqT4o8
  FOR /F %%0 IN ("〜")
  で, トークンの数を調べようと思ったら, どうすりゃいいでしょう?
  不定個数のトークンの処理ってむずかしいような.
  "tokens=1*"で1個ずつ取り出して残りを再帰呼び出しするのでしょうか.

  328 :名無し~3.EXE:2006/10/25(水) 23:58:09 ID:eEi2UFaY
  for /? を見る限りでは, eolを活用すりゃ良い気がする.
  区切り文字が複数ある場合, 更に一ひねり必要だけど.

  329 :名無し~3.EXE:2006/10/26(木) 16:36:30 ID:/s+J/qsz
  FOR /Fのeol=はline separatorでなく, start of commentなのよ.

  330 :名無し~3.EXE:2006/10/26(木) 19:41:42 ID:/s+J/qsz
  %%*とかshiftforとかあれば楽かも.

  331 :名無し~3.EXE:2006/10/26(木) 22:02:21 ID:SVXaZk3q
  ちょっと話脱線するけど, 慣れちゃって疑問感じないけど冷静に考えると,
  アルファベット順に自動で変数割り当てるって, やっぱ変な仕様だよなぁ.
  そのせいで[下矢印]みたいな変な制約もあるわけだし.
  >    %i は for 文で明示的に宣言され, %j と %k は tokens= オプションで暗黙的に.
  >    宣言されています. tokens= 行を使って 26 個までのトークンを指定できますが,
  >    文字 'z' または 'Z' よりも高い変数を宣言することはできません. FOR 変数名は.
  >    単一の文字で, 大文字と小文字を区別し, グローバルなものであり, 一度にアクティ.
  >    ブにできるのは合計 52 個までです.

  332 :名無し~3.EXE: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:2006/10/26(木) 22:32:23 ID:/s+J/qsz
  >>331
  なので, 私は数字の0, 1, 2, ...を使うことを勝手に推奨しています.

  334 :名無し~3.EXE:2006/10/27(金) 00:00:52 ID:/s+J/qsz
  %0から始めると1-31 %Oまで使えます. 途中%:とかも.

  335 :名無し~3.EXE:2006/10/27(金) 00:19:27 ID:zn7U0YhT
  試してみたら「%31」だと「%3」と「1」になっちゃうんだけど, どうやるの?

  336 :名無し~3.EXE:2006/10/27(金) 00:49:10 ID:J3SJtBgW
  call でサブルーチン呼んでshiftすりゃいいべ.

  337 :名無し~3.EXE:2006/10/27(金) 12:06:07 ID:zfuA9cK1
  >>335
  tokens=1-31*で%0から%Oまで.

  338 :名無し~3.EXE: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: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:2006/10/30(月) 15:23:22 ID:oK1Aiu/J
  >>336
  callは, delims=空白タブ=;, の扱いになるので, delims=, などのときに使えない.

  341 :名無し~3.EXE:2006/10/30(月) 19:14:57 ID:oK1Aiu/J
  XPでは.exeのショートカットにドロップしても引数が消えませんが,
  .vbsのショートカットでは消えます.
  ところが, lnkfileのドロップハンドラをwshのものに変えると,
  .vbsのショートカットでも消えなくなります.
  なので, 2000や98などでも, lnkfileのドロップハンドラをwshのものに変えると,
  ショートカットにドロップしても引数が消えなくなるかも知れません.

  342 :名無し~3.EXE: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:2006/11/02(木) 19:06:22 ID:n1Q/MJZA
  goto使っててどうして分からないのか不思議だ?
  もっとも手直しが少ない方法は,
  :alivedラベルを@echo offとset dt=0の間に移動する.
  っていうか環境変数dtは要るのか?
  無駄に設定してるだけに見える.

  347 :名無し~3.EXE:2006/11/03(金) 15:17:50 ID:DnIKy2oO
  そうでもないか.

  348 :名無し~3.EXE: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)」の形になりました.
  http://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:2006/11/04(土) 13:04:24 ID:Rj1Lj+SZ
  書き忘れましたが「ファイル名」はそのままです.
  フォルダ名だけです<(_ _)>

  351 :名無し~3.EXE: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:2006/11/04(土) 13:54:38 ID:4Dsu/0i6
  別に何も作らなくてもFlexibleRenamerとかのリネームツールで.
  フォルダのみを対象に「(2)」->「」の置換をすれば良いだけだけどね.
  正規表現すら必要ないし, サブフォルダ内も全て一発でリネームできる.

  353 :名無し~3.EXE:2006/11/04(土) 14:15:59 ID:Rj1Lj+SZ
  >>351-352
  ありがとうございます.
  やってみたら「みつかりません」が多数出るのでどうなったかと思いましたが.
  実際に見たら書き換えられていたようです感謝<(_ _)>

  354 :名無し~3.EXE:2006/11/04(土) 23:02:49 ID:USOpz/32
  以下ようなバッチファイルを作成したいのです.
  1.インターネットエクスプローラーを開く.
  この時にホームページをhttp://www.yahoo.co.jp/
  に設定しておいたとすると, このページが立ち上がったところで,
  「ENTERキー」を叩くとhttp://search.yahoo.co.jp/
  に辿り着きます.
  今回は, この「ENTERキー」を叩く, 部分をファイルに入れてしまって,
  バッチファイルを開くだけで, http://search.yahoo.co.jp/
  に辿り着くものを作成したいのですが, ホームページは.
  http://www.yahoo.co.jp/のままで変えないとすると,
  どのように書いたらよろしいでしょうか?
  @echo off
  "C:\Program Files\Internet Explorer\IEXPLORE.EXE"
  このあとにはなんと付け加えたらよいのでしょうか?
  よろしくお願い致します.

  355 :名無し~3.EXE:2006/11/04(土) 23:20:00 ID:8yxluHxk
  バッチファイルでは無理.

  356 :名無し~3.EXE:2006/11/04(土) 23:21:46 ID:ZY+1jLO8
  通常使用するブラウザがIEなら.
  start http://search.yahoo.co.jp/
  でいいのではないでしょうか.

  357 :名無し~3.EXE:2006/11/04(土) 23:33:07 ID:3R+cY6NI
  IEが通常使用するブラウザで無かったら,
  "C:\Program Files\Internet Explorer\IEXPLORE.EXE" "http://search.yahoo.co.jp/"

  358 :354:2006/11/04(土) 23:41:33 ID:USOpz/32
  皆様, ありがとうございます.
  『「ENTERキー」を叩く』という動作自体をbatファイルの中に書き込む.
  ことは不可能でしょうか?
  もしこれが不可能だとすると, 他にどんな方法が考えられますか?
  お願いします.

  359 :名無し~3.EXE:2006/11/04(土) 23:42:49 ID:NCf7BNdE
  まぁ, 中を取って,
  start IEXPLORE.EXE "http://search.yahoo.co.jp/"
  がよいかと. . .

  360 :名無し~3.EXE:2006/11/04(土) 23:44:14 ID:h4oF94Gt
  >>358
  JavaScript/Bookmarklet

  361 :名無し~3.EXE:2006/11/04(土) 23:45:03 ID:h4oF94Gt
  URLに " " は要らんよ.

  362 :名無し~3.EXE:2006/11/04(土) 23:51:08 ID:NCf7BNdE
  試してないけど, こんなのでどう?
  MSHTA.EXE vbscript:Execute("CreateObject(""WScript.Shell"").SendKeys
  ""{ENTER}"":close:")

  363 :名無し~3.EXE: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:2006/11/05(日) 01:35:01 ID:7WDpcn0x
  最初から http://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: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: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
  x hogehoge.logはbatファイル起動後生成されるが中身は空です.
  o hogehoge2.logはbatファイル起動後生成されるが中身は空です.

  374 :368: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: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: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: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: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:2006/11/10(金) 14:35:23 ID:V9Frw57W
  すいません.
  RDコマンドで, あるフォルダを一括削除したいんですが.
  もの凄い深い階層にあるファイルが原因なのか.
  「XXXXXXが見つかりません」と, システムがメッセージ出してしまって.
  フォルダの削除ができません.
  こういった長〜いファイル名をコマンドプロンプトで扱う場合.
  どういう手がありますか?

  382 :名無し~3.EXE:2006/11/10(金) 18:36:16 ID:R3LkmhaO
  >381
  つhttp://www.ipmsg.org/tools/fast_rm.html

  383 :名無し~3.EXE:2006/11/11(土) 00:07:08 ID:XfOiSAiT
  >>382
  感謝します.

  384 :名無し~3.EXE:2006/11/11(土) 00:38:31 ID:9aLw4sXI
  標準コマンドで片付ける場合はsubstで見た目のパス短くしてやれば桶.

  385 :名無し~3.EXE:2006/11/11(土) 08:44:50 ID:zKILve99
  subst って, そのフォルダ直下にごみ箱できちゃうよね.

  386 :名無し~3.EXE:2006/11/11(土) 08:48:37 ID:2hOthbB6
  >>381
  半角スペース込みだったら"でくくらんとそうなるな.

  387 :名無し~3.EXE:2006/11/12(日) 15:00:04 ID:Utpk1ks7
  コマンドプロンプトでファイルの存在確認してから削除する方法おしえて.

  388 :名無し~3.EXE:2006/11/12(日) 15:07:34 ID:N5UKeW4Z
  if exist

  389 :387:2006/11/12(日) 15:41:59 ID:Utpk1ks7
  >>388
  thx

  390 :名無し~3.EXE:2006/11/12(日) 16:06:03 ID:e0M/p8ad
  橋本内科医院市立  芦別病院北海道立本岐診療所永野医院新潟手の外科研究所たかの耳鼻咽喉科高月整形外科内山クリニック長谷川内科南輪内診療所.

  391 :名無し~3.EXE:2006/11/12(日) 17:00:07 ID:sb3WUvfr
  よく,
  IF "%1"=="" 〜.
  のように書きますが, %1に"が奇数個含まれていると, エラーになります.
  %1に何が含まれていてもエラーにならない方法はないものでしょうか?

  392 :名無し~3.EXE:2006/11/12(日) 17:04:25 ID:WfLPkAgG
  set HOGE=%1
  set HOGE=%HOGE:"=%
  IF "%HOGE%"=="" 〜.

  393 :名無し~3.EXE:2006/11/12(日) 17:16:49 ID:nVQtwHBh
  IF @%1==@ 〜.

  394 :名無し~3.EXE:2006/11/12(日) 19:33:18 ID:sb3WUvfr
  >>392
  call :sub "<"
  コマンドの構文が誤っています.
  >>393
  call :sub """
  コマンドの構文が誤っています.

  395 :名無し~3.EXE:2006/11/12(日) 20:03:35 ID:nVQtwHBh
  setlocal
  set aaa=
  set aaa=%1
  if ERRORLEVEL 1 〜.

  396 :名無し~3.EXE:2006/11/12(日) 20:41:19 ID:tyVMa3TA
  >391
  素直にWSH(WindowsScriptingHost)を利用するほうが無難だと思う.

  397 :名無し~3.EXE:2006/11/13(月) 01:48:44 ID:LbA/01Ah
  >>392+>>393+alpha
  これでよさそうです.
  call :sub "<"
  call :sub """
  call :sub
  goto :eof
  :sub
  set HOGE=@%1
  set HOGE="%HOGE:"=""%"
  ECHo %HOGE%
  IF %HOGE%=="@" ECHO

  398 :名無し~3.EXE:2006/11/13(月) 01:56:32 ID:GVejNCmK
  callって他のバッチファイルだけじゃなくてラベルを呼べたのか.

  399 :名無し~3.EXE:2006/11/13(月) 02:00:30 ID:jwTRhDMH
  呼べるってラベルじゃねぇよ!

  400 :名無し~3.EXE:2006/11/13(月) 02:08:38 ID:3qtCRh81
  関係ねぇよ. 種類なんかよぉ!

  401 :名無し~3.EXE:2006/11/13(月) 05:50:30 ID:wGkOGKoK
  目的がわからんので使えないかも知れないけど.
  if "%~1"==""
  とかを普通は使う.

  402 :名無し~3.EXE:2006/11/14(火) 07:58:08 ID:kigYWptw
  起動時に実行するコマンドラインで.
  "ファイルのパス"
  と しているのですが確認ダイアログが出てしまいます.
  確認ダイアログを無しに実行できるコマンドラインオプションを教えて下さい.

  403 :名無し~3.EXE:2006/11/14(火) 09:32:33 ID:OpzRD6HB
  確認ダイアログ?

  404 :名無し~3.EXE:2006/11/14(火) 09:57:02 ID:4kOLK/EZ

  405 :名無し~3.EXE: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:2006/11/15(水) 14:29:35 ID:JDOcLJ4E
  >>406
  rsh.exe
  rexec.exe

  408 :名無し~3.EXE: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 の単独スレ立てる場合のテンプレ案: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
  http://www.microsoft.com/technet/scriptcenter/topics/msh/download.mspx
  Scripting with Windows PowerShell
  http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx
  PowerShell - PukiWiki
  http://www.globe.to/~oka326/?PowerShell
  FrontPage - PowerShell Wiki (fullmoon)
  http://www.canalian.com/wiki/wiki.cgi
  PowerShell Scripting - インストールから実行まで.
  http://www.roy.hi-ho.ne.jp/mutaguchi/powershell/how_to_install.html
  次世代Windowsシェル「Windows PowerShell」を試す(前編) - @IT
  http://www.atmarkit.co.jp/fdotnet/special/powershell01/powershell01_01.html
  Windows PowerShellのパワーの源は.NETオブジェクト - @IT
  http://www.atmarkit.co.jp/fdotnet/special/powershell02/powershell02_01.html
  Windows PowerShell徹底解説:ITpro
  http://itpro.nikkeibp.co.jp/article/COLUMN/20061106/252598/
  ITmedia エンタープライズ:コマンドラインが復活, MSアプリ管理はPowerShellが主軸に (1/2)
  http://www.itmedia.co.jp/enterprise/articles/0606/06/news008.html

  411 :名無し~3.EXE:2006/11/16(木) 15:43:37 ID:STc16HEm
  次世代Windowsシェル「Windows PowerShell」を試す(前編)
  http://www.atmarkit.co.jp/fdotnet/special/powershell01/powershell01_01.html

  412 :名無し~3.EXE:2006/11/16(木) 18:47:19 ID:0L6hutsz
  PowerShell スレってどこかに立ってる?

  413 :名無し~3.EXE:2006/11/16(木) 20:00:36 ID:pGzDDil1
  立ってないよ.

  414 :名無し~3.EXE:2006/11/17(金) 04:31:12 ID:kuNnXI5u
  >>410
  スレ立てるなら, スレタイ候補.
  [CMD] Windows PowerShell Vol.1 [Script]

  415 :名無し~3.EXE:2006/11/17(金) 19:38:42 ID:E0PYc13y
  Windows Server 2003 Service Pack 1 および Windows XP Service Pack 2 用の.
  Windows PowerShell 1.0 ローカライズ版インストール パッケージ.
  http://support.microsoft.com/?kbid=926140
  日本語版のサイト重すぎない?

  416 :名無し~3.EXE:2006/11/17(金) 20:08:07 ID:yatk+sKz
  >414
  じゃあ俺も対抗してスレタイ案.
  [Monad]Windows PowerShell[MSH]

  417 :PowerShell の単独スレ立てる場合のテンプレ案: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 ローカライズ版インストール パッケージ.
  http://support.microsoft.com/?kbid=926140
  How to get Windows PowerShell 1.0
  http://www.microsoft.com/technet/scriptcenter/topics/msh/download.mspx
  Scripting with Windows PowerShell
  http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx
  PowerShell - PukiWiki
  http://www.globe.to/~oka326/?PowerShell
  FrontPage - PowerShell Wiki (fullmoon)
  http://www.canalian.com/wiki/wiki.cgi
  PowerShell Scripting - インストールから実行まで.
  http://www.roy.hi-ho.ne.jp/mutaguchi/powershell/how_to_install.html

  418 :PowerShell の単独スレ立てる場合のテンプレ案:2006/11/17(金) 20:17:15 ID:kuNnXI5u
  次世代Windowsシェル「Windows PowerShell」を試す(前編) - @IT
  http://www.atmarkit.co.jp/fdotnet/special/powershell01/powershell01_01.html
  Windows PowerShellのパワーの源は.NETオブジェクト - @IT
  http://www.atmarkit.co.jp/fdotnet/special/powershell02/powershell02_01.html
  Windows PowerShell徹底解説:ITpro
  http://itpro.nikkeibp.co.jp/article/COLUMN/20061106/252598/
  ITmedia エンタープライズ:コマンドラインが復活, MSアプリ管理はPowerShellが主軸に (1/2)
  http://www.itmedia.co.jp/enterprise/articles/0606/06/news008.html

  419 :名無し~3.EXE:2006/11/17(金) 21:52:27 ID:E0PYc13y
  Windows PowerShell (正式版リリース)1.0
  http://pc8.2ch.net/test/read.cgi/win/1163764836/

  420 :名無し~3.EXE:2006/11/18(土) 12:58:41 ID:qHED6v8J
  コマンドラインからsleepする方法が一つ増えたな.
  powershell -command sleep 1
  ・・・・・・激しく使わない気がするが.

  421 :名無し~3.EXE:2006/11/18(土) 13:32:56 ID:i0XzREmd
  中身.NETだからなぁ.
  家のPCじゃ, 起動させるまでにsleepしそうだ.

  422 :名無し~3.EXE:2006/11/18(土) 14:30:53 ID:PCAmjjXu
  試してないけど, 実際にはpowershellの起動時間がsleep時間にプラスされるんだろうな.

  423 :名無し~3.EXE:2006/11/18(土) 15:25:28 ID:fh/HkAQx
  >>406
    at

  424 :名無し~3.EXE: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:2006/11/18(土) 17:52:10 ID:qHED6v8J
  0.6秒は既にpowershellがキャッシュに乗ってるときで,
  powershellの初回起動時は6秒かかった.
  やっぱり激しく役にたたない.

  426 :名無し~3.EXE:2006/11/18(土) 17:58:40 ID:oWKlvi+6
  >>424
  0.6秒はいくらなんでも早すぎだろ, と思っちゃった.
  うちなんか12, 13秒掛かるんですが.

  427 :名無し~3.EXE:2006/11/18(土) 18:07:37 ID:AqvXN/YM
  初回でも1〜2秒だけど, .NetFrameworkなプログラム常用してるからかな.

  428 :名無し~3.EXE:2006/11/18(土) 22:04:34 ID:fLgAfV6T
  CLIをネイティブに事前にコンパイル済みしたのをキャッシュしておくことによって.
  時間短縮するソフトが確かあったよ.

  429 :名無し~3.EXE:2006/11/18(土) 22:06:48 ID:gg7xm9LM
  ngen のフロントエンドなだけだよ.

  430 :名無し~3.EXE:2006/11/19(日) 00:03:35 ID:rcCuERX8
  sleepのためにPowerShellを入れる気はしない.
  他に便利なことはないの?

  431 :名無し~3.EXE:2006/11/19(日) 02:28:29 ID:YW38jIhe
  .NET Frameworkのライブラリの機能は全部コマンドラインやスクリプトから呼べるらしい.

  432 :名無し~3.EXE:2006/11/19(日) 02:33:42 ID:0K1oPrA4
  いままでだって JScript .NET でできたわけだし.

  433 :名無し~3.EXE:2006/11/19(日) 02:46:55 ID:YW38jIhe
  (今のところ)ノートン先生に怒られない.

  434 :名無し~3.EXE:2006/11/19(日) 03:21:26 ID:eI82aUEj
  .NETなんかじゃなくて, ちゃんとしたCシェルとかbashとかをMSから提供して欲しかったね.

  435 :名無し~3.EXE:2006/11/19(日) 03:35:09 ID:LSrB1aeN
  >>434
  つ Services for UNIX

  436 :名無し~3.EXE:2006/11/19(日) 03:42:11 ID:YW38jIhe
  つ Subsystem for UNIX-based Applications

  437 :名無し~3.EXE:2006/11/19(日) 04:04:00 ID:rcCuERX8
  jscg(compile&go)よりは速いんでしょうか?

  438 :名無し~3.EXE:2006/11/21(火) 21:49:13 ID:q38yIqA/
  9x系で, n秒後に再起動ってやりたいんだけど, どうやったらいい?

  439 :名無し~3.EXE:2006/11/21(火) 22:02:50 ID:6uxJHtyX
  >>438
  http://www.vector.co.jp/soft/win95/util/se343283.html

  440 :名無し~3.EXE:2006/11/21(火) 22:06:30 ID:q38yIqA/
  >>439
  そういうツールを使わないとダメ?

  441 :名無し~3.EXE:2006/11/22(水) 00:56:48 ID:WEV/FgtF
  ping

  442 :名無し~3.EXE:2006/11/22(水) 09:05:54 ID:h7jy8vLv
  >>441
  すまん, それを使えばいいのは分かるが, もう少し詳しく頼む.

  443 :名無し~3.EXE:2006/11/22(水) 09:17:20 ID:rF8PITK3
  スレ内検索くらいすればいいのに.

  444 :名無し~3.EXE:2006/11/22(水) 09:36:32 ID:h7jy8vLv
  あ, 検索するのすっかり忘れてた. orz.
  どもですたノシ.

  445 :名無し~3.EXE:2006/11/23(木) 20:24:42 ID:VSzDaGy1
  WInMeでは再起動を自動でやるにはツールを使わないとダメ?
  それともWSHでできる? WSHでできるなら方法を教えてもらえると助かる.
  スレ違いだったらスマソ.

  446 :名無し~3.EXE:2006/11/24(金) 00:52:45 ID:2KLVL2Zf
  ログファイルの自動整理をたくらんでいるのですが, 質問です.
  決められたファイルのファイルサイズを調べ,
  10キロバイト以下では処理1を,
  20キロバイト以下では処理2を,
  30キロバイト以下では処理3を,
  というIF文を作りたいのですが,
  具体的にどう記述すればよいのかわかりません.
  どのように書けばできますか?
  外部ツールを使ってもかまいません.

  447 :名無し~3.EXE:2006/11/24(金) 01:07:09 ID:0zfJPv+U
  >>446
  call /?
  if /?

  448 :名無し~3.EXE:2006/11/24(金) 10:16:36 ID:K2He8JIZ
  NT系だったら.
  for /f %%A in ('dir 〜') do if 〜 call 〜.
  とかでどうだべ?

  449 :名無し~3.EXE:2006/11/24(金) 14:54:29 ID:bcXVPvCT
  for /?
  %%~zI

  450 :446: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: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:2006/11/24(金) 18:31:44 ID:bcXVPvCT
  おバカ?
  for (
  if A
  if B
  if C
  )

  453 :名無し~3.EXE:2006/11/24(金) 18:33:02 ID:VGuwVTc1
  とりあえず.
  うんこのサイズ20000で吹いた.

  454 :名無し~3.EXE: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:2006/11/24(金) 18:49:34 ID:6m7E/X5o
  >>451
  トン. これはわかりやすい!
  大馬鹿な俺でも, 不等号の方向が頭に即座に浮かぶ.
  >>452
  うーん・・ごめん. もうついていけない.
  ABCが10000, 20000, 30000だとすると,
  どんなコマンドを書けば実現できますか?
  >>451の単純比較法よりも優位な点はなんでしょう?
  >>453
  ニヤリ.

  456 :名無し~3.EXE:2006/11/24(金) 18:51:40 ID:K2He8JIZ
  >>451が一番わかりやすいかも.
  複雑な処理には>>454が向いてるっぽい.

  457 :名無し~3.EXE:2006/11/24(金) 18:55:05 ID:6m7E/X5o
  >>454
  なるほど.
  すげー, ラベルのgotoの先で変数を使うのか.
  これなら各分岐先で, 複数のコマンドの羅列群を.
  複数行に渡ってカンタンに入れられますね.

  458 :名無し~3.EXE: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:2006/11/24(金) 20:34:34 ID:6m7E/X5o
  >>458
  なるほど, カッコで囲えばいいのか.
  それにしても, このウンコ講座, まじで役に立ちました.
  おかげさまで, うんこ摘み分け  もとい, ログファイル選別バッチが.
  完成しました. みなさん, くだらない質問につきあってくれてありがとう.
  俺は, AとかBとか1, 2, 3, とか甲乙とかのサンプル名詞よりも,
  うんこちんこと書いたほうが理解力が早いことが判明. ンモー.

  460 :名無し~3.EXE:2006/11/24(金) 21:24:55 ID:WzW0xK9i
  しかしこのスレにはかなりのスキルを持った人が常駐しているようですね.
  どんな問題でもポンと的確な答えが返ってくる.
  2chの片隅にひっそりと存在するささやかなスレですが, すばらしいスレです.
  いつも答えてくれている人に感謝.

  461 :名無し~3.EXE:2006/11/25(土) 09:56:27 ID:/CZ055s/
  質問する方もある程度は心得た人だからさ. まともな人に対する答えはどこでもこんなもん.
  いつもDQN質問が多数を占めるスレばかり見てるんじゃないのかね.

  462 :名無し~3.EXE:2006/11/25(土) 11:16:06 ID:8LWk1c8J
  バッチファイルで計算型GOTO文みたいなことができたのか・・・.

  463 :名無し~3.EXE: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:2006/11/25(土) 19:01:46 ID:ebCEPaSv
  へー,
  set /a v=sz/1000*10
  これでも良いんだ.

  465 :名無し~3.EXE: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:2006/11/28(火) 15:26:09 ID:A2PCXcn1
  バッチファイルの中でプログラムを起動する時, それを終了しなくてもプロンプトの方は終了させるようにするにはどうすればいい?

  468 :名無し~3.EXE:2006/11/28(火) 15:37:44 ID:A2PCXcn1
  すまん自己解決した, ショートカット使えばいいのね.

  469 :名無し~3.EXE:2006/11/28(火) 15:45:10 ID:PA/2uyOE
  start /?

  470 :名無し~3.EXE:2006/11/28(火) 15:53:43 ID:A2PCXcn1
  >>469
  ・・・・・・なんでコロッと忘れちまってるんだろう俺. orz.
  ありがとう.

  471 :名無し~3.EXE:2006/11/28(火) 16:44:01 ID:eQt+KJMG
  startとショートカットの違い.
  unixで非同期実行の&があるが, ショートカットはその感じ.
  コンソールアプリやバッチファイルのショートカットを作って,
  hoge.lnk
  とやると, 標準入出力が共有されたまま, 非同期実行できますよ.
  startはコンソールが別になります.

  472 :名無し~3.EXE:2006/11/28(火) 16:49:25 ID:eQt+KJMG
  コンソールからWindowアプリを起こすと, 待たないで復帰します.
  待つときは, Startを使いますが, 他に,
  cmd/c hoge.exe
  とか,
  hoge.exe|more
  などでも待ち合わせできます.
  メリットは特にないけど.

  473 :名無し~3.EXE: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:2006/11/28(火) 23:17:25 ID:eQt+KJMG
  >>435
  >つ Services for UNIX
  なんて言われても, home editionなので, インストール不可.
  SFUには便利そうなコマンドがあるので, 一部だけでも抜き出して使いたいのですが,
  いい方法はないもんでしょうか.
  VirtualPCでPROの環境を作ってインストールするしかないかなぁ.

  476 :名無し~3.EXE:2006/11/28(火) 23:42:30 ID:RgtI1wII
  つ ORCA

  477 :名無し~3.EXE:2006/11/29(水) 00:37:12 ID:2/mGVRQo
  >474
  ググってもwaitコマンドがどういうのか判らんかったけど.
  pauseコマンドで代用出来たりする?

  478 :名無し~3.EXE: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:2006/11/29(水) 23:05:25 ID:IxLn5/2/
  >>475
  Cygwinはだめか?

  480 :名無し~3.EXE: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:2006/11/30(木) 00:38:13 ID:W1vyssVc
  "%%~ni.txt"
  で良いんじゃないかな?

  482 :名無し~3.EXE: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:2006/11/30(木) 00:58:21 ID:CJ8/8p6E
  よく分からないけどsedかawkの出番かな?

  484 :480:2006/11/30(木) 01:02:06 ID:9lgU88/V
  >>481
  すんません, だめでした.
  OSはXP Homeです.

  485 :名無し~3.EXE: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:2006/11/30(木) 01:33:23 ID:W1vyssVc
  >>484
  これでどう?
  for /f "delims=" %%i in ('dir /b %1') do type nul >%%~ni.txt

  487 :480:2006/11/30(木) 11:08:08 ID:9lgU88/V
  >>486
  できました. ありがとうございます.

  488 :名無し~3.EXE: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: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: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: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:2006/12/01(金) 00:02:40 ID:2IMejFpR
  >>485  >>488  >>489  >>491
  皆様, 貴重なアドバイスをありがとうございました.
  教えていただいたスクリプトを複数組み合わせ,
  うまく動きました. どうもありがとうございます.

  493 :名無し~3.EXE:2006/12/01(金) 03:40:24 ID:ZvxkC/xa
  >>492の最初の「皆様, 貴重」が「貴様」に見えた寝る.

  494 :名無し~3.EXE:2006/12/01(金) 11:22:51 ID:5wVi+ir+
  >>492最初の皆様が皆藤に見えた.
  http://www.centforce.com/profile/t_profile/kaitou.html

  495 :名無し~3.EXE:2006/12/01(金) 18:22:58 ID:4N/6YD5N
  >493
  俺は昔同級生に「貴」(タカシ)が居た.
  年賀状出し辛かった.

  496 :名無し~3.EXE:2006/12/01(金) 20:34:01 ID:oGiM64QN
  >>492最初の皆(ミナ)様をモナ様と読んだ.
  http://www.excite.co.jp/News/entertainment/20061129061215/Sponichi_kfuln20061129006003.html

  497 :490:2006/12/02(土) 17:19:08 ID:0XNYfzVD
  勘違いでした.
  MKS ToolkitはSFU2.0に30日DEMO版が入っているだけでした.
  なので興味喪失.
  ところで, 未インストール状態のSFU中のexeを叩いても.
  そんなファイルは見つかりません. と言うのは,
  exe形式がPOSIx Subsystem用になってるとか,
  そういうことなんでしょうか. ちょっと不思議です.

  498 :名無し~3.EXE:2006/12/02(土) 23:17:07 ID:GeMJalJA
  PowerShellを用いてtxt形式(echo 〜と変数の組み合わせ)のファイルを.
  連続して作成できるようにps1ファイルを作成し, ファイル作成は動作は正常に行えたのですが.
  出来上がったファイルの文字コードがUTF-16で次のプログラムに受け渡せなくて困ってます.
  echoの時点でSJISにしたり, ファイルをスクリプトから変換できるようなツールがあればお教えください.

  499 :名無し~3.EXE:2006/12/02(土) 23:51:48 ID:46Pzno4R
  つ  http://www.vector.co.jp/soft/winnt/util/se315405.html

  500 :名無し~3.EXE:2006/12/03(日) 00:57:51 ID:TRuQ24NS
  >>499  PowerShellからリダイレクトかけた時点でBOM付UTF-16LEに戻されるから.
  cmd, exeを呼び出して使えってことなんでしょうが  PowerShellからcmd.exeを呼び出せるもんなんですか?

  501 :名無し~3.EXE:2006/12/03(日) 03:35:54 ID:y64/DPio
  つ じゃなくて見 じゃないの.

  502 :名無し~3.EXE:2006/12/03(日) 03:41:28 ID:y64/DPio
  そうそう, SFUにiconvがあった.
  iconv -f from_code -t to_code [-s char] [file ...]

  503 :名無し~3.EXE:2006/12/03(日) 14:00:50 ID:JdmW3Ab/
  Out-Fileで-encoding指定すればいいんじゃね?

  504 :名無し~3.EXE: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:2006/12/03(日) 17:57:05 ID:y64/DPio
  >>499によれば,
  FIND /V "" < BOM付きUnicodeファイル > シフトJISファイル.
  とか,
  「BOM付きUnicodeを出力するコマンド」|FIND /V "" > シフトJISファイル.
  とやればよいのでは.
  PowerShellを知らないので頓珍漢かも.

  506 :名無し~3.EXE:2006/12/03(日) 20:14:24 ID:x5iMNpj8
  XP Home SP2なんですけど.
  ">"とか"|"とか"&&"とか"()"に関してのヘルプってどうやったら出てくるか教えてください.

  507 :名無し~3.EXE:2006/12/03(日) 20:34:50 ID:ltN6r6qX
  Homeにあるかどうか知らないけど, Proだと.
  スタート->ヘルプとサポートでコマンド ライン リファレンスを検索.
  ->コマンド シェルの概要, リダイレクト演算子.
  に書かれている.

  508 :名無し~3.EXE:2006/12/03(日) 20:40:53 ID:JdmW3Ab/
  うちのXP Home では "コマンド ライン リファレンス" では検索に引っかからないので.
  "dir" など回復コンソールにもあるコマンド名で検索して[関連項目]から移動.

  509 :名無し~3.EXE: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:2006/12/03(日) 21:05:42 ID:x5iMNpj8
  >>507, 508
  見つけられました, ありがと〜でした.

  511 :名無し~3.EXE:2006/12/03(日) 21:23:21 ID:XHqr+Wc4
  こっちだった.
  hh ntcmds.chm::/ntcmds_shelloverview.htm

  512 :名無し~3.EXE:2006/12/03(日) 22:01:18 ID:y64/DPio
  ヘルプとサポートセンタで開くほうがよくない?
  helpctr.exe /URL ms-its:ntcmds.chm::/ntcmds_o.htm

  513 :名無し~3.EXE:2006/12/03(日) 22:07:09 ID:y64/DPio
  >>512
  PATHが通っていないのでSTARTで.

  514 :名無し~3.EXE:2006/12/04(月) 14:12:07 ID:6ydASAMh
  >>513
  512で見れた. すげええええ, こんなことが出来るのか.
  XPを10年使って初めて見た.

  515 :名無し~3.EXE:2006/12/04(月) 18:39:36 ID:6gdKKDRd
  >>514
  > XPを10年使って初めて見た.
  未来から来られたんでしょうか?

  516 :名無し~3.EXE:2006/12/04(月) 20:20:53 ID:M/HQ1bo2
  >>514
  一度見つけたら右クリック「お気に入りに追加」しておくべし.
  hhのほうも,
  hh.exe windows.chm
  で, 「お気に入り」や「検索」「キーワード」タブを表示,
  左上隅のアイコンを右クリックして, 「URLへ移動」に.
  ntcmds.chm::/ntcmds_shelloverview.htm
  などを入れて表示して, 「お気に入り」タブで「追加」しておくべし.

  517 :名無し~3.EXE: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:2006/12/05(火) 20:27:20 ID:L6haTKq6
  事故解決しました.

  519 :名無し~3.EXE:2006/12/05(火) 23:08:31 ID:jnuccgG/
  質問したからには自己解決であっても答えを書いとけよ.
  後世の人のために.

  520 :名無し~3.EXE:2006/12/05(火) 23:16:01 ID:Ut7BG6ZP
  単にパスミスだろう.
  デフォだと, \Program Filesの下なんかに無くて.
  %USERPROFILE%\Application Data\Microsoft\IMJP8_1\imjp81u.dic
  だし.

  521 :名無し~3.EXE: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:2006/12/06(水) 00:15:08 ID:Wd7oNSvB
  途中で書き込んでしまった.
  半角スペースが含まれるフォルダ名をダブルクォーテーションで囲まなかったのが.
  原因でした.

  523 :名無し~3.EXE: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:2006/12/06(水) 01:19:55 ID:1p+kqH7a
  >>521
  8.3形式のショートファイル名では""で括る必要なんてなかろう?
  それでどうしてエラーになったのか説明になってないよ.

  525 :名無し~3.EXE:2006/12/06(水) 01:33:08 ID:IO9adWLd
  >>523
  DocumentExplorerでMSDNライブラリを見るとそうなるので,
  以下のバッチファイルで消してる.
  http://www.vector.co.jp/soft/winnt/util/se396195.html

  526 :名無し~3.EXE:2006/12/06(水) 08:37:07 ID:m9Lj9Fy4
  >>524
  横レスで悪いが, その短いファイル名を書き間違えた(長いファイル名と異なり環境によって不定だから.
  いちいち確認し直さないと間違える恐れがある)からエラーになったという事じゃないの?

  527 :名無し~3.EXE:2006/12/06(水) 12:02:50 ID:djMBOTsr
  Windows2000です.
  ホスト名をコマンドで変更できないのでしょうか?
  表示はhostnameでできるみたいですが.

  528 :名無し~3.EXE:2006/12/06(水) 16:53:10 ID:4HPM2R2N
  >>527
  hostname /? を読んだか?

  529 :名無し~3.EXE:2006/12/06(水) 23:31:18 ID:/1yQuGaA
  >>525
  情報乙.
  クリック2回で1MB強・・・気付かず放置してたら・・.
  chmの動作も少々不安定で稀にWSHのエラーダイアログを見た.
  件のDLLを差し替えてから解消. >>523

  530 :521:2006/12/07(木) 14:46:49 ID:tZeJn9bU
  >>524
  初めてのバッチ処理なんで, 何で失敗したのかとか成功したのかが全然わからないです.

  531 :名無し~3.EXE: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: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:2006/12/07(木) 15:50:06 ID:EC5LjnO7
  最近, 腕が鈍っているあなたに練習課題.
  そもさん.
  一時ファイルを作成せずに, テキストファイルのn行目を削除して上書きするには?

  534 :名無し~3.EXE:2006/12/07(木) 17:24:57 ID:GW4cVLj7
  echo n行目d e | edlin テキストファイル.

  535 :名無し~3.EXE:2006/12/07(木) 17:54:53 ID:EC5LjnO7
  >>534
  上乗.
  知らなんだ. このスレで初出なのでは.

  536 :名無し~3.EXE:2006/12/07(木) 19:17:22 ID:cfBCyQ+c
  旧式には旧式のやり方があってな.

  537 :名無し~3.EXE:2006/12/07(木) 20:05:30 ID:EC5LjnO7
  別解の募集は継続しておいて, 別の練習課題.
  そもさん.
  バッチでsetlocalを使って処理した上で, 環境変数hogeに値をセットして返すには?
  同様にカレントディレクトリを変更して帰すには?

  538 :名無し~3.EXE: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:2006/12/08(金) 03:52:59 ID:pYxlA4EA
  自己解決しました.
  http://www.atmarkit.co.jp/fwin2k/win2ktips/446xcopy/xcopy.html
  xcopy c:\usr z:\usr\ /EXCLUDE:C:\BAT\xcopy-excludelist.txt
  バッチファイルって便利ですね.

  541 :537: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: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:2006/12/08(金) 15:42:55 ID:QCa6jACi
  自己解決しました?
  http://www.fpcu.jp/dosvcmd/bbs/log/cat8/3-0427.html
  レジストリを弄るよりショートカットを作ったほうが安全だそうです.
  私はxkeyemacsというソフトで, M-shift-1でプロンプトを呼び出して使っていますが,
  そのソフトには呼び出し先の指定が出来ないのでショートカットを作っても対応できません.
  Ownerにbatファイルを作って毎回起動するのが現実的かなあ.
  何か他にいいアイデアありますかね?

  544 :537: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:2006/12/08(金) 16:05:27 ID:ZdduNYTr
  >>544
  ごめん. みすった.
  リダイレクションの練習課題.
  標準出力をファイル, 標準エラーをパイプに.
  標準出力をコンソール, 標準エラーをパイプに.
  標準出力と標準エラーを入れ替える.
  バッチの中でコンソールにプロンプト. バッチ使用者がリダイレクトしていてもコンソールに.
  set /p hoge=prompt

  546 :名無し~3.EXE:2006/12/08(金) 16:10:04 ID:ZdduNYTr
  >>542
  そんなこと, 言ったって, 起こし方によるだろ.
  どの起こし方のことを言ってんのさぁ?

  547 :名無し~3.EXE:2006/12/08(金) 16:22:55 ID:ZdduNYTr
  >>543
  と思ったら書いてあったね.
  しかし, そのソフトがコマンドプロンプトをどう呼び出してるかが分らなければ,
  どうしようもないんじゃないの. 作者に聞けば?
  或いは, バイナリエディタで中を覗いて, 書き換えるか.

  548 :名無し~3.EXE:2006/12/08(金) 16:26:42 ID:pYxlA4EA
  偉い人, バッチの使用例などを暇なときに書き込んでくれませんか?

  549 :名無し~3.EXE:2006/12/08(金) 16:30:36 ID:ZdduNYTr
  >>543
  名前からするとEMACS擬似みたいだから, バイナリじゃなくて,
  呼び出してるマクロソースを変えればいいんじゃないの.

  550 :名無し~3.EXE: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:2006/12/08(金) 23:19:08 ID:QCa6jACi
  >>549
  内蔵みたいで, マクロソースが無いんですよね・・・.
  諦めてショートカットつくっちゃいました. w.
  レスありがとうございました.

  552 :名無し~3.EXE:2006/12/09(土) 00:58:03 ID:KVXyeSOl
  >>551
  もし, 呼び出しが「cmd」だけなら,
  C:\Documents and Settings\Owner
  にcmd.cmd
  cmd.exe /k cd フォルダ.
  を作る.
  .exeを忘れると悲惨.
  で行けるかも. 駄目ならやっぱり, バイナリで書き換え.

  553 :533: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: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:2006/12/09(土) 01:24:09 ID:KVXyeSOl
  >>552
  他からの呼び出しがうまくないですね.
  @echo off
  if "%1"=="" (
  cmd.exe /kcd フォルダ.
  ) else (
  cmd.exe %*
  )

  556 :名無し~3.EXE:2006/12/09(土) 01:30:05 ID:eB0nlLts
  ローマ字覚えたての中学生みたいな子がいるな.

  557 :名無し~3.EXE:2006/12/09(土) 09:10:12 ID:CbyQAEJO
  スレタイ嫁.

  558 :名無し~3.EXE: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で調べたりしましたがよくわからず, ,
  http://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:2006/12/10(日) 13:12:11 ID:3olEl7F7
  同等のWin32ネイティブアプリ使え.

  561 :名無し~3.EXE:2006/12/10(日) 14:08:43 ID:DlucxiVx
  そこをなんとか.

  562 :名無し~3.EXE:2006/12/10(日) 14:15:49 ID:aavWYyCD
  Vistaからは日本語16bitアプリがサポートされなくなるし,
  今の内から移行しておいた方がいいぞ.

  563 :名無し~3.EXE:2006/12/10(日) 14:58:41 ID:DlucxiVx
  ・・・・アイ.
  LANに繋がってる別の古いマシンを16bit専用にします.

  564 :名無し~3.EXE:2006/12/10(日) 17:17:26 ID:aid/GaYP
  VirtualPC等で仮想マシン上で純粋なDOSかWin9xを動かしたら軽くなるかも.

  565 :名無し~3.EXE:2006/12/10(日) 19:29:07 ID:NyMIEUsg
  >>563
  ここで訊く話ではないのだけれど, あえて質問.
  そのDOSと他のマシン(Windowsマシン?)とLANの接続方法は?
  幾通りものやり方はあるけど, >>563のところでは, どういう接続方法?

  566 :名無し~3.EXE:2006/12/10(日) 22:02:12 ID:A1RkA3As
  >>559
  DOSプログラムへのショートカット (pif)を作って.
  そのプロパティのその他のタブの「ほかのプログラムの優先度」を高いほうにして実行したらどうか.

  567 :名無し~3.EXE:2006/12/10(日) 22:24:50 ID:DlucxiVx
  >>566
  これで結構緩和されました. ありがとう!
  >>565
  ・・・・・クロスシリアル.

  568 :565:2006/12/10(日) 22:57:18 ID:xLBP+58r
  >>567
  回答ありがとうございます.
  ク, ク, クロウトシコウ(苦労と試行)じゃないや, クロスシリアル.
  わかりました, たしかにケーブルさえ用意出来ればそれがいいかも.
  (以前, 実際やったことあるけど, とんでもなく転送速度が遅かったけど)
  RS-232CコネクタがついているPCはよくありますものね.

  569 :1/2:2006/12/11(月) 15:32:28 ID:XufxOd7S
  コマンドプロンプト上にUTF-8でエンコードされた文字を表示することは可能ですか?
  Shift-JISしか表示出来ないと思っていたのですが, SP(an SGML parser :
  http://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: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:2006/12/11(月) 15:41:32 ID:XufxOd7S
  >>570の訂正です.
  <!ENTITY
  <!ELEMENT
  の後にはスペースが入ります. 済みませんでした.

  572 :名無し~3.EXE:2006/12/11(月) 18:44:17 ID:ZLM4uKIZ
  type test.sgm
  は無理でしょ?
  よく知らんけど, 出力先がファイルかconsoleかで区別してんじゃね〜の?

  573 :名無し~3.EXE: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: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は吐いてくれたかどうだったか忘れたけど.
   消しちゃったらしく見つからない.
   類似してるのでご存知の方いたら教えて下さい. orz.

  576 :名無し~3.EXE: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: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:2006/12/11(月) 23:19:15 ID:X2aariIn
  一つだけならテクニック披露ってことでいいけど.
  幾つも書かれるとさすがにうざい. (しかも大文字)
  条件コンパイル文は省略してfoo.jsとでもしてくれ.

  579 :名無し~3.EXE:2006/12/12(火) 01:59:22 ID:lvbiyYMD
  >>1 に「WSHもOK」って書いてあるんだから無理やりbatにせんでもいいわな.

  580 :名無し~3.EXE: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: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: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:2006/12/16(土) 19:23:31 ID:WY7hZ9i6
  callって必要?

  587 :名無し~3.EXE:2006/12/16(土) 19:42:41 ID:vxaOUO5b
  そもそもcmdから呼ばなければいけないのか?

  588 :名無し~3.EXE:2006/12/16(土) 19:58:17 ID:2dLQ97yA
  そもそも, なんでcmd/?しないんだ?

  589 :584:2006/12/16(土) 21:01:04 ID:8R61Kbto
  レスありがとうございます. 無事できました. callはあってもなくても大丈.
  夫でした.
  /cをつけなければならないのと, /cの引数に直接パスが指定できるのを.
  知らなかったため悩んでしまいました. お手数おかけしました.

  590 :名無し~3.EXE: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: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:2006/12/17(日) 19:28:06 ID:WscTpZLE
  color ce

  594 :名無し~3.EXE:2006/12/17(日) 20:24:53 ID:H4aSBfXu
  COLOR  コマンドは, Windows2000, XPからです.
  Win95/98をお使いの方は, 例えば「窓の手」などを使えば出来ます.

  595 :名無し~3.EXE:2006/12/17(日) 20:55:42 ID:rBykiDhm
  95/98ではpromptで設定してたなぁ.
  prompt $e[;33;1;40m$p$g

  596 :名無し~3.EXE:2006/12/19(火) 16:11:42 ID:Iyp0VyJJ
  consoleおもすろ.

  597 :名無し~3.EXE:2006/12/19(火) 17:09:29 ID:1Fdabpp+
  >>consoleおもすろ.
  あれでKDEのkcomsoleとかmacのあれとかscreenばり.
  に使えるなら最高なのにね.
  残念で泣けてくる.
  なんて重いんだ. cygwinがサクサクじゃないか.
  なぜに.Netのような.
  もっさーで.
  凶過負荷な処理なんだ.
  ほんとwinのコマンドプロントはあれ.
  処理がもの凄く重い.
  たまに使うけどね. 常用する気になれないよなぁ.
  素のプロントにもどたよ.
  したければcygwin入れるのがいいと思う.
  比べてもの凄く軽くて驚愕.

  598 :名無し~3.EXE:2006/12/19(火) 20:11:59 ID:HVfooesm
  なに言いたいのか分かんねーよ.
  素のプロントとかコマンドプロントとか何だよ. 意味わかんねーから. プロンプトだろ.
  要するに『cygwin良いよ』てことだろ?ならそー書けって. 無駄多すぎ. 95点.

  599 :名無し~3.EXE:2006/12/19(火) 20:14:55 ID:dxr5JYH7
  >>598
  95点もやるのか?
  60点あれば充分じゃん. (大甘だけどな)

  600 :名無し~3.EXE:2006/12/19(火) 20:21:17 ID:S/+BR6iP
  > ほんとwinのコマンドプロントはあれ.
  > 処理がもの凄く重い.
  > したければcygwin入れるのがいいと思う.
  > 比べてもの凄く軽くて驚愕.
  矛盾していると思うのは自分だけ?

  601 :名無し~3.EXE:2006/12/19(火) 22:55:14 ID:U7ZLqMIR
  >>599
  小数点付け忘れてねえか?

  602 :599:2006/12/20(水) 00:04:47 ID:GNDOcEV8
  正直なところ(内心評価), 100点満点で, 0.60点ってところかな.
  一応合格っていうことにすれば, 60点(合格基準)っていっただけ.
  本当は合格どころじゃないんだけどな.

  603 :名無し~3.EXE:2006/12/20(水) 00:32:01 ID:eaArVi2n
  よく分からんが, .NETとか出てるところから推測すると.
  常用できない重いコマンドプロンプトってのは少し上で出てた例のアレで.
  それを使うくらいならlinuxの方にしとけってことを言ってるのかな?

  604 :名無し~3.EXE:2006/12/20(水) 04:04:40 ID:y3J2eMDr
  PowerShellの話か?
  あれは確かに初期化で時間食うから使うの止めた.

  605 :名無し~3.EXE:2006/12/21(木) 01:22:15 ID:og2psukl
  管理者権限でログオンしているかどうか調べるにはどうしたらいい?
  ローカル・ドメイン両方で使えるやつを頼むよ.

  606 :名無し~3.EXE:2006/12/21(木) 02:13:10 ID:n0KXcipt
  net user
  net group / net localgroup
  じゃダメ?

  607 :名無し~3.EXE: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:2006/12/22(金) 04:11:55 ID:Gts2GbNx
  そのユーザー名が.
  ローカルではAdministratorsに, グローバルではDomain Usersに所属してるとすると.
  (ごく普通のケース)
  今そのユーザー名でローカルにログインしてるのか.
  ドメインサーバーにログインしてるのかをまず切り分けなきゃ.

  609 :605:2006/12/22(金) 20:48:14 ID:XuMQmg9z
  何だか難しそう・・・. orz.
  調べれば調べるほど敷居が高く感じる・・・(汗)
  サンプルがあるといいのだが・・・.

  610 :名無し~3.EXE:2006/12/22(金) 21:30:25 ID:Cv8wg2nv
  コンピュータ名とホスト名の付け方が特殊だと駄目かもしれないけど,
  if "%LOGONSERVER%"=="\\%COMPUTERNAME%"で判別可能かも.
  もしくはwhoamiコマンドとか.
  あと, 漏れが昔やったことあるのは, 対象のマシンが特定できる環境.
  だったので, 管理共有から中が見れるかどうかで判別したことがある.
  >今そのユーザー名でローカルにログインしてるのか.
  >ドメインサーバーにログインしてるのかをまず切り分けなきゃ.
  日本語的にすごく違和感感じた.
  「ローカルのユーザーでログオンしてるのか.
    ドメインのユーザーでログオンしてるのか」
  と書いたほうがいいと思った.

  611 :名無し~3.EXE:2006/12/23(土) 00:06:20 ID:TSxTwauU
  net gruop
  このコマンドは Windows ドメイン コントローラでのみ使用できます.
  ダメじゃん. 使えね.

  612 :名無し~3.EXE:2006/12/24(日) 23:50:47 ID:rAnywQRM
  at

  613 :名無し~3.EXE:2006/12/25(月) 00:11:41 ID:ChhrdGK3
  >>612
  AT. . . O・・・? ATO? 後, 10分でイブが終わるとか?

  614 :名無し~3.EXE:2006/12/25(月) 03:51:26 ID:VXU/kg7V
  >>611
  net group /domain

  615 :名無し~3.EXE: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:2006/12/28(木) 09:10:35 ID:5F6FvSdu
  >615
  MKDIR "C:\%DATE:~-10, 4%年%DATE:~-5, 2%月%DATE:~-2%日"

  617 :名無し~3.EXE:2006/12/28(木) 16:01:59 ID:iTWT+95w
  >>615
  日替わり時の考慮.

  618 :名無し~3.EXE:2006/12/28(木) 18:40:48 ID:hfOxm6M9
  >>616
  C:\06/1年/2月 木日.

  619 :名無し~3.EXE: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: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:2006/12/29(金) 15:45:58 ID:cLdyRAMk
  >>616-620
  いろいろコメント頂き感謝してます. ・・・が, 当方の理解不足のため返事に困ってます.
  >>615は拾ってきたもので, まだ消化不良のネタです.
  暫く勉強して, 出直します.

  622 :名無し~3.EXE:2007/01/10(水) 13:31:28 ID:1Ujtu0BX
  質問です.
  foo.exe の標準出力をプロンプトウィンドウとテキストファイルの両方に出力したいのですが, どうすればいいでしょうか?
  ただし, foo.exe は重い処理なので出力されていく様をリアルタイムに確認できるのが条件です.
  なので,
  foo.exe>log.txt
  type log.txt
  ではダメです. どうかお知恵をお貸しください.

  623 :名無し~3.EXE: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: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:2007/01/12(金) 15:22:13 ID:mqTvRoc6
  >>628
  cmd /c "notepad.exe"

  631 :名無し~3.EXE:2007/01/12(金) 17:54:16 ID:qP/ay6UR
  >>629
  こっちのヤツじゃダメなん?
  http://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: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: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: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: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:2007/01/14(日) 00:13:17 ID:ML+aCZll
  echo -> copy /y

  641 :名無し~3.EXE: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:2007/01/14(日) 00:51:31 ID:ML+aCZll
  そうですか, それは残念.

  643 :名無し~3.EXE:2007/01/14(日) 00:56:23 ID:DGqWZ2TH
  見捨てないで・・・OTL

  644 :名無し~3.EXE: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:2007/01/14(日) 01:44:50 ID:DGqWZ2TH
  >>644
  一瞬コマンドプロンプトの黒い窓が見えるだけで何も起こりません・・・.
  私の環境に問題があるのかなぁ・・・・OTL
  これからリカバリーディスクぶち込んでみますので, しばらく落ちます.

  646 :名無し~3.EXE:2007/01/14(日) 01:45:37 ID:DGqWZ2TH
  ホント申し訳ないです. すみません.

  647 :名無し~3.EXE:2007/01/14(日) 01:53:00 ID:ZJ4t0Fvk
  >>646
  >一瞬コマンドプロンプトの黒い窓が見えるだけ.
  goto :eofの前に一行pauseって入れてみれば.
  ってかA:\の中身を確認してみなよ.

  648 :名無し~3.EXE: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:2007/01/14(日) 15:52:49 ID:ML+aCZll
  for %i in (D:\TEMP\*) do fsutil hardlink create %i D:\集める\%~ni

  650 :名無し~3.EXE:2007/01/14(日) 15:59:35 ID:JTXqH0CO
  >>649
  上手くいきませんねぇ・・・.
  ラストの %~ni
  ってなんですか?

  651 :名無し~3.EXE:2007/01/14(日) 16:01:04 ID:bJYSSOCA
  for /?

  652 :名無し~3.EXE:2007/01/14(日) 16:10:41 ID:JTXqH0CO
  >>651
  grepもlessも無いのにコマンドプロンプトのヘルプとか読む気がしないOTL

  653 :名無し~3.EXE:2007/01/14(日) 16:12:38 ID:JTXqH0CO
  いや, ごめんね.
  for /? > for.txt
  してメモ帳で見た.
  %~nI - %I をファイル名だけに展開します.
  これだけじゃよくわからんよ・・・・.

  654 :名無し~3.EXE:2007/01/14(日) 16:13:20 ID:KhCYvvtR
  パイプを知っているのにリダイレクトを知らんとな.

  655 :名無し~3.EXE:2007/01/14(日) 16:15:47 ID:ZJ4t0Fvk
  他OSアレルギーてやつですな.
  645のその後が気になるがふっとんじゃったんだろか.

  656 :名無し~3.EXE:2007/01/14(日) 16:16:45 ID:ML+aCZll
  >>650
  BATの中に書くのなら % -> %% に.

  657 :名無し~3.EXE:2007/01/14(日) 16:18:53 ID:ML+aCZll
  つーか %~nxi だな.

  658 :名無し~3.EXE:2007/01/14(日) 16:30:47 ID:JTXqH0CO
  じゃあbatの中に書くので.
  for %%i in (D:\TEMP\*) do fsutil hardlink create D:\集める\%%~ni %%i
  って事?

  659 :名無し~3.EXE:2007/01/14(日) 16:39:14 ID:iKJbxj82
  do echo fsutil ・・・.
  にして実行してみりゃいいじゃん.

  660 :645:2007/01/14(日) 18:16:25 ID:DGqWZ2TH
  >>647
  645です.
  復活に手間取っておりました・・・ノートンノバカ...いや私ですね・・・OTL
  アドバイス通りに試してみました. すると, 「指定したファイルが.
  みつかりません」と表示されて, エンターキー連打で終了します.
  Aドライブには何も入りません・・・・.
  いろいろ面倒かけちゃって済みません. ペコリ.

  661 :名無し~3.EXE: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:2007/01/14(日) 18:49:53 ID:ZJ4t0Fvk
  目当てのフォルダ以外で実行すると失敗するっぽい.
  原因究明めんどくさいので>>644.batをC:\帳票に放り込んでおいて.
  もう一つ任意のフォルダにバッチファイル作ってcall ">>644.bat" で.

  663 :645です: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:2007/01/14(日) 19:39:53 ID:ZJ4t0Fvk
  >>664
  おめでと.
  >>644でも"%%~fi"じゃなくて"C:\帳票\%%i"だとうまく行くから何か悪さしてるかね.

  666 :名無し~3.EXE: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:2007/01/14(日) 20:37:28 ID:ML+aCZll
  サブフォルダが無いなら.
  dir /o-n /b /s C:\帳票\*帳票.xls
  にすればフルパスになるけど・・・.

  668 :名無し~3.EXE: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: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:2007/01/14(日) 21:15:09 ID:JTXqH0CO
  >>669
  い, , , 意味がわからんぜよ・・・.
  そのスクリプト何してるか全然分からない・・・解説キボンヌ・・・.

  671 :名無し~3.EXE:2007/01/14(日) 21:15:23 ID:ML+aCZll
  for /r "%SRC%" %%I in (*) do (
  のほうが素直だね.

  672 :名無し~3.EXE: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:2007/01/14(日) 21:35:27 ID:ZJ4t0Fvk
  >>667
  ぐは, パスの深いそうで試してて気付かなかった自分アホス・・・ごめんよID:DGqWZ2TH
  >>670
  確かXP標準のハードリンク作成機能じゃフォルダには適用できなかったような.
  こんなのはあるけれど.
  http://www.vector.co.jp/soft/winnt/util/se184746.html

  674 :名無し~3.EXE:2007/01/14(日) 21:36:59 ID:/esMqGsV
  >>673
  リンクにしたいのはファイルだけでフォルダは普通に作るんでしょ.

  675 :名無し~3.EXE: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:2007/01/14(日) 21:42:20 ID:ZJ4t0Fvk
  >>674
  あーよく読んでなかった, 馬鹿は退散しよう.

  677 :名無し~3.EXE:2007/01/14(日) 21:43:18 ID:JTXqH0CO
  >>673
  そのソフトはハードリンクについて調べているときに既に見つけてますが.
  私がやりたい事は, この作成して頂いたbatファイルをWindowsXP標準の.
  タスクスケジューラにかけて, 3時間に1回実行とか, 1日に1回実行とか.
  そういう風にやりたいんです. これで定期的にバックアップが取れるので.
  >>674
  その通りです.

  678 :名無し~3.EXE: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:2007/01/14(日) 21:50:33 ID:ML+aCZll
  それと「 : 」はコメントじゃなくてラベルだ.
  コメント書くのは反則技だからちゃんと rem 使った方がいいぞ.
  つか, バックアップの意味あるのか?

  680 :名無し~3.EXE:2007/01/14(日) 21:52:17 ID:bJYSSOCA
  cp -R -d -l
  ってやっちゃいたいところだ.

  681 :名無し~3.EXE:2007/01/14(日) 21:55:04 ID:/esMqGsV
  > それと「 : 」はコメントじゃなくてラベルだ.
  > コメント書くのは反則技だからちゃんと rem 使った方がいいぞ.
  えー結構使ってるのに.
  「 : 」の後に空白入れておけば間違ってジャンプする危険もないし.
  > つか, バックアップの意味あるのか?
  ハードリンクは同じドライブにしか作れないし実体が壊れたら.
  「バックアップ」も壊れるしどう考えても意味ありません.

  682 :名無し~3.EXE: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:2007/01/14(日) 22:00:29 ID:JTXqH0CO
  >>680
  .batファイルだとこれだけ苦労していますが, 確かにLinuxなら.
  $ cp -Rl /a /b              /* -dは要るかな? */
  で一発で出来ますね. それをcronで回すだけw.
  ヤバイ!本当にLinuxのCUIって素晴らしいんだと今実感した瞬間. w.
  DOSのCUIしょぼす. w.
  参考:-dオプションの解説.
  -d, --no-dereference
  シンボリックリンクをコピーする場合, シンボリック リ.
  ン クが指しているファイルをコピーするのではなく, シ.
  ンボリックリンクとしてコピーする. また, コピー元 で.
  の ハードリンクはコピー先でもハードリンクとして保持.
  される.

  684 :名無し~3.EXE: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:2007/01/14(日) 22:42:24 ID:ML+aCZll
  これちゃんとハードリンクもサポートしてるな.
  http://www.ossh.com/gnu-win32/cp.exe

  686 :名無し~3.EXE:2007/01/14(日) 22:44:08 ID:/esMqGsV
  つーかCygwinでいいじゃん.
  もはやスレ違いだけど.

  687 :名無し~3.EXE:2007/01/15(月) 12:50:47 ID:JZ8tDTCV
  コマンドライナーは, cygwin入れるのは必須だと思ってたが・・・.

  688 :名無し~3.EXE:2007/01/15(月) 20:35:49 ID:sOENVtLv
  >>687
  業務だとそうもいかんでしょ.

  689 :名無し~3.EXE:2007/01/15(月) 21:09:11 ID:O2bsbprp
  だから標準のコマンドだけでなんとかまかなう技が重宝されるわけで.
  もっとも>>1をよく見直したら.
  > wsh(cscript), cygwin, Resource Kit, Support Tools, その他のフリーソフト等ふくめ.
  > コマンドラインインタフェースに関するネタならなんでもOK.
  スレ違いでもなかったのか.

  690 :名無し~3.EXE: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:2007/01/21(日) 17:21:49 ID:amfxJQxk
  レジストリ書き換えてもそのレジストリを誰が読むか考えれ.
  普通はAPIで壁紙を変更する.

  693 :名無し~3.EXE: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:2007/01/21(日) 18:30:16 ID:eMwqitJ2
  レジストリを変更した後, これすれば.
  RUNDLL32.EXE user32.dll, UpdatePerUserSystemParameters

  695 :名無し~3.EXE:2007/01/21(日) 18:40:15 ID:HIyMH95U
  >>694
  ここを見て, そのコマンドを使ってみたけど,
  http://www.jsifaq.com/SF/Tips/Tip.aspx?id=10732
  うちの環境では変更できなかったよ. そちらはどう?

  696 :名無し~3.EXE:2007/01/21(日) 18:53:24 ID:Fh16rOUX
  >>694
  レスありがとうございます.
  うまくいきました.

  697 :名無し~3.EXE:2007/01/21(日) 18:58:20 ID:0GAiR7Wm
  DaemonToolsスレ過疎ってるのでここで質問させてください.
  ふとプロンプトでnetstat -anbv打ったら, daemon(ver3.47)の仮想ドライブが「ディスクがありません」と怒られまくりました.
  どうやらイメージをマウント->アンマウント後にプロンプトでcpu100%になるような負荷が大きい作業すると起こるみたいです・・・.
  PC再起動すれば直るんだけど一度でも何かをマウントすると再発します.
  原因はなんでしょう?実害は無いし, スレ違い気味ですがよろしくお願いします.

  698 :名無し~3.EXE:2007/01/21(日) 22:26:54 ID:fXHv4RQu
  スレ違い承知な馬鹿は死んでいいよ.

  699 :名無し~3.EXE:2007/01/21(日) 23:58:04 ID:0GAiR7Wm
  すいません. 一応netstatのエラーでもあるようなので質問させてもらいました.
  コマンドプロンプトの質問はどこですればいいですか?

  700 :名無し~3.EXE:2007/01/22(月) 00:47:54 ID:EWkB3kFF
  >>700
  コマンド・プロンプトの質問ではないよ.

  701 :700: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:2007/01/22(月) 12:42:19 ID:jJx2R64E
  >>697
  そういうバグっぽいのはここじゃ解決できんよ.
  デーモン側な気もするし.

  704 :名無し~3.EXE:2007/01/22(月) 22:57:33 ID:8ACQJu4z
  ちょっときになった俺が着ましたよ.

  705 :名無し~3.EXE: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: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:2007/01/23(火) 14:33:35 ID:peYBszvv
  >>706
  即レスサンクス.
  処理テンプレ作って, %1のパラメータにコマンドラインから直接通日を投げてバッチを作成するバッチ.
  でいいのかしら.

  708 :名無し~3.EXE:2007/01/23(火) 14:40:34 ID:+1q+g6Qo
  通日の意味がよくわからんけど, 日付に0を付けて三桁にしたいのであれば,
  set d= %date%
  echo 0%d:~-2, 2%
  これでいけると思うが, どうだろう.

  709 :名無し~3.EXE:2007/01/23(火) 15:33:04 ID:peYBszvv
  >>708
  サンクスコ.
  参考にする.
  通日は1月1日が001, 12月31日が365  月の概念無くした1年の数え方みたいな感じ.

  710 :名無し~3.EXE: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: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: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: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: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: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:2007/01/24(水) 12:52:05 ID:xYc85Zkg
  >>717
  わかりません.

  719 :名無し~3.EXE: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:2007/01/24(水) 13:22:13 ID:i0fQettm
  呆れるほどスペルマミス.

  722 :名無し~3.EXE: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:2007/01/24(水) 14:27:49 ID:NuKUyzmi
  BATファイル内から使用できる, 窓を最小化するコマンドは標準ではない.
  標準ではないので窓を最小化するスクリプトを作ってBATファイル内から呼んでいる.
  BAT内という縛りがなければ, ショートカットやstartとかあるけど.

  725 :名無し~3.EXE:2007/01/24(水) 15:03:05 ID:hm3trhnJ
  >>715
  START /WAIT /MIN "" CMD /C D:\XXX.BAT
  あるいは, CMDOW.EXEを使うとか.

  726 :名無し~3.EXE: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:2007/01/24(水) 17:05:13 ID:Ur+QuDS3
  >>726
  こんな感じ?
  setlocal
  if "%リカージョン対策の工夫%"=="" (
  set リカージョン対策の工夫=1
  start /min %~fs0 %*
  exit /b
  )
  REM 実際のバッチの中身.
  exit

  729 :名無し~3.EXE:2007/01/24(水) 17:05:40 ID:imNZyNvB
  >>717
  ベタベタの初期状態なら多分 C:\Documents and Settings\Owner の下だろ.
  つーか「konpaira」にはちょっと萎えたぞ. w.

  730 :名無し~3.EXE:2007/01/24(水) 19:40:02 ID:ui4jdsDL
  すこし質問させてください.
  毎回OSを入れなおす度にファイルの関連付けを変えたり, 設定を変えたりするのが非常に煩わしいです.
  そこでどなたかファイルの関連付けを一括して変えるBATファイルの組み方をご存知でしたら教えてください.
  ソフトウェアでも可ですが, 一括して複数の形式を変えられることを前提としてお願いします.

  731 :名無し~3.EXE:2007/01/24(水) 19:42:33 ID:xYc85Zkg
  >>730
  レジストリ書き出しときゃいいだろ.

  732 :名無し~3.EXE:2007/01/24(水) 19:56:10 ID:ui4jdsDL
  そうすると目的のやつ以外も元に戻っちゃって入ってないソフトとか変になりませんか?

  733 :名無し~3.EXE:2007/01/24(水) 20:09:12 ID:xYc85Zkg
  >>732
  目的のやつ以外消せばいいだろ.
  メモ帳で編集できるの知らないの?

  734 :名無し~3.EXE:2007/01/24(水) 20:16:40 ID:1ye7da8u
  全部書き出さずに目的の物だけ書き出して結合しときゃいいじゃん.

  735 :名無し~3.EXE:2007/01/24(水) 20:16:59 ID:bBeGunZI
  >>730
  HKEY_CLASSES_ROOTだけエクスポートしたらいいじゃん.
  で, 再インスコ後に.regをダブルクリックすりゃOK.
  それが嫌ならASSOCコマンドを駆使してくれろ.

  736 :名無し~3.EXE:2007/01/24(水) 20:20:03 ID:ui4jdsDL
  PC知識がすくなくてよくわからないので検索と知り合いを駆使して勉強してきます.
  お邪魔してすいませんでした.

  737 :名無し~3.EXE:2007/01/24(水) 22:35:13 ID:Z29D46sA
  ちょっと脱線だけど, 自分が戻したいと思ってる設定が何なのか?どこまでなのか?というのも悩ましいとこなんだよな.
  「OSインスコして一通りのソフト入れて設定終わった段階のクリーンな状態をイメージバックアップしておく」
  なんて考えたときに, いったいどの時点まで戻るのが余計な設定がなく, 且つ再度度設定する手間が省けるのか迷ったりして.

  738 :名無し~3.EXE: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:2007/01/28(日) 22:39:34 ID:Vg16WaYG
  for /R %f in (*.doc *.txt) do a.exe %f

  741 :名無し~3.EXE:2007/01/28(日) 22:41:35 ID:Ab9Pd7B9
  >>739-740
  自演乙.

  742 :名無し~3.EXE:2007/01/28(日) 23:10:30 ID:rah4ivDa
  自演じゃなくって病気だとおもう.

  743 :名無し~3.EXE:2007/01/28(日) 23:41:21 ID:bulVaiB4
  >>738
  RunDLL32.EXE Shell32.DLL, ShellExec_RunDLL C:\backup.bat.lnk

  744 :名無し~3.EXE:2007/01/28(日) 23:45:36 ID:bulVaiB4
  または,
  rundll32.exe url.dll, FileProtocolHandler C:\backup.bat.lnk

  745 :名無し~3.EXE: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:2007/01/30(火) 01:44:58 ID:xu1S81WI
  cd.. と打ち込むとそうなるはず・・・.

  753 :名無し~3.EXE:2007/01/30(火) 01:56:27 ID:skiU3c8V
  ありがとうございました.

  754 :名無し~3.EXE:2007/01/30(火) 02:07:46 ID:xu1S81WI
  >>753
  あと, OSにもよると思うんだけど,
  エクスプローラから, c:\のアイコンをマウスでcmdの窓に引っ張ってっても.
  変わるはず. まあ, これじゃ, せっかくコマンド打つ意味はなさそうだけどね.
  慣れるまでは, それもありかな.
  あと詳しい使い方は, DOS  コマンド  あたりでグーグル先生に聞くか,
  このスレの他の識者に聞いてくだされ.
  ノシ.

  755 :名無し~3.EXE:2007/01/30(火) 14:55:12 ID:8oWdEpCN
  >>751
  ちなみに, 2階層登るときは,
  cd..\..

  756 :名無し~3.EXE:2007/01/30(火) 16:52:25 ID:6T1j6bWf
  まさかとは思うが, >>751は「どこの階層にいても C:\> と表示したい」のか?
  だったら, set prompt=C:\$g
  ・・・んなワケねーか. w.

  757 :名無し~3.EXE:2007/01/30(火) 17:41:16 ID:EXkNQsWs
  鬼才現る.

  758 :名無し~3.EXE:2007/01/30(火) 20:42:39 ID:RppqVEDs
  >756
  ちょっとワロタ.

  759 :名無し~3.EXE:2007/02/02(金) 18:13:43 ID:7lW2zV4+
  昔はカレントドライブだけの表示($N$G相当)がデフォルトだったような.

  760 :名無し~3.EXE:2007/02/03(土) 21:49:56 ID:Y8FtUM7g
  @echo off
  "C:\Program Files\ABC.exe"
  exit
  これでアプリは起動するのですが, コマンドプロンプトも開いたままになります.
  アプリが起動したらコマンドプロンプトは自動で閉じることは出来ないのでしょうか?

  761 :名無し~3.EXE:2007/02/03(土) 22:11:10 ID:jjvZQHSi
  ありきたりじゃつまんないので.
  @echo off
  (
  echo "C:\Program Files\ABC.exe"
  echo exit
  )|cmd.exe
  exit
  とか?

  762 :名無し~3.EXE:2007/02/03(土) 22:56:54 ID:Y8FtUM7g
  >>761
  閉じることが出来ました.
  ありがとうございました.

  763 :名無し~3.EXE:2007/02/04(日) 04:52:24 ID:Gpw040Ym
  パス指定にホスト名を使いたいんですが,
  例えばユーザ名を使うなら.
  %username%  でユーザ名が取り出せますがホスト名を使うならどうしたらいいんですか?
  hostname  コマンドでホスト名が出力されるのは知っているのですが, それを変数として.
  使うにはどうしたらいいんでしょうか?
  echo %hostname%
  %hostname%
  となって取得できません.
  それから, setコマンドで set HOME=%userprofile%  とか出来ますが, これは.
  そのbatファイルを終了した時点で消えますよね.
  それを, batファイルを終了した後であろうがシステムを再起動した後であろうが.
  常にずっと有効にしておく(システムのプロパティの環境変数のところに書いたのと同じ)
  状態にするにはどういうコマンドを打てばよいのでしょうか?
  よろしくお願いします.

  764 :名無し~3.EXE:2007/02/04(日) 05:50:52 ID:UCUQL6Cs
  >>763
  for /f "usebackq" %h in (`hostname`) do @set hostname=%h

  765 :名無し~3.EXE:2007/02/04(日) 13:00:50 ID:Gpw040Ym
  >>764
  おお, 凄い凄い!ありがとうございます.
  でもこれ再起動とかコマンドプロンプト閉じたりすると切れちゃいますね.
  その都度実行って奴ですか.
  ええっと, do @set とあるように, setの前に@をつけるとどういう意味があるのでしょうか?

  766 :名無し~3.EXE:2007/02/04(日) 13:22:17 ID:NBbEuIkl
  >パス指定にホスト名を使いたいんですが,
  %COMPUTERNAME% じゃだめなん?
  >常にずっと有効にしておく(システムのプロパティの環境変数のところに書いたのと同じ)
  >状態にするにはどういうコマンドを打てばよいのでしょうか?
  >>176
  >setの前に@をつけるとどういう意味があるのでしょうか?
  エコーを無効にする(for文実行時に一々「set 〜」と表示させない)

  767 :名無し~3.EXE:2007/02/04(日) 14:37:43 ID:Gpw040Ym
  >>766
  ちょおおおおおおーサンクス!ありがとうございます!
  %computername% ってあったのかああ! こういう環境変数の一覧みたいなのって.
  どういうところに載っています?コレが知りたかったんですよ!
  setx.exeを拾ってこないといけないんですねぇ・・ふむぅ. .
  @set の意味も分かりました. 本当にどうもありがとうございます.

  768 :名無し~3.EXE:2007/02/04(日) 15:13:43 ID:upfVRns6
  set | more

  769 :名無し~3.EXE:2007/02/04(日) 15:44:31 ID:Gpw040Ym
  >>768
  おお〜, なるほど. こういう風に調べる事ができるんですねぇ. ありがとうございました!

  770 :名無し~3.EXE:2007/02/04(日) 16:43:04 ID:aXVvEPc1
  http://pc10.2ch.net/test/read.cgi/tech/1148485555/345 から来ました.
  フォルダ内にある.exeファイル全てに/q引数を付けて実行するバッチを教えてください.
  具体的にはWindowsのHotfixをCDに貯めて, OS再インストール後にバッチからHotfixを自動でインストールさせたいのですが.
  /q引数をつけないでインストールすると, 次々と確認メッセージが出てきて大変なので.
  あと, 新しいHotfixが出るたびにCDに追加していくのでフォルダ内のファイル数は不定です.

  771 :名無し~3.EXE:2007/02/04(日) 17:07:50 ID:uzS1dqPI
  >>770
  >>4

  772 :名無し~3.EXE:2007/02/04(日) 17:40:47 ID:upfVRns6
  教えてクソ五大要素.
  1  読まない.
  2  調べない.
  3  試さない.
  4  理解力が足りない.
  5  人を利用することしか頭にない.

  773 :名無し~3.EXE:2007/02/04(日) 21:42:06 ID:XVlaP+ck
  そのコピペ久しぶりに見た.

  774 :名無し~3.EXE: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:2007/02/07(水) 18:41:51 ID:GrlV5MMw
  デスクトップのパスの取得は内部コマンドだけじゃ無理だな.

  777 :名無し~3.EXE: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: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:2007/02/07(水) 18:51:49 ID:LtTsJ5NX
  だめっぽいなぁ・・・.
  expandじゃ.zipを解凍出来てない気がする・・.
  どうすりゃいいんだろ.

  780 :名無し~3.EXE:2007/02/07(水) 18:56:41 ID:XAyl8R3D
  素直にCDにunzip.exeも入れておいたほうが楽かと.
  あとVistaだとデスクトップは %userprofile%\Desktop\ になる.

  781 :名無し~3.EXE: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: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:2007/02/10(土) 20:42:03 ID:+HezOLaE
  >>784
  ひんと: Common Gateway Interface

  786 :名無し~3.EXE: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:2007/02/11(日) 21:53:01 ID:IDO4ruyo
  for %i in (1 2 3 .... 15) do copy input.%i output.%i

  789 :名無し~3.EXE: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 x 1024=82, 335, 020, 032となり,
  Windows上の表示と一致しません.
  もしかして, Win上では1000を掛けるのかと思いましたが,
  80405293 x 1000=80, 405, 293, 000となり,
  こちらでも一致しません.
  どう計算すると, CHKDSKコマンドの結果が, Win上と一致するように.
  なるのでしょうか. よろしくお願いします.

  792 :名無し~3.EXE:2007/02/18(日) 15:09:42 ID:XGXlaIu8
  俺んとこは1024掛けで一致するなぁ.

  793 :名無し~3.EXE:2007/02/18(日) 15:11:22 ID:ktHDelKs
  >>791
  1024を掛けるのでOK.
  別の数値を見てるか, ディスクがおかしいんじゃね?

  794 :名無し~3.EXE: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:2007/02/18(日) 21:05:22 ID:tt13nMj4
  sc

  796 :名無し~3.EXE:2007/02/18(日) 23:33:45 ID:k0xWSI9G
  >>795
  詳細キボン.

  797 :名無し~3.EXE:2007/02/18(日) 23:38:09 ID:tt13nMj4
  つ.
  http://www.google.co.jp/search?hl=ja&q=sc.exe&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=

  798 :名無し~3.EXE:2007/02/19(月) 00:05:42 ID:k0xWSI9G
  sc config service_name start= auto
  したら「スタートアップの種類」を「自動」に設定する事が出来ました.
  どうもありがとうございました.

  799 :名無し~3.EXE:2007/02/21(水) 11:10:08 ID:tcKwzygL
  親切に書いてくれてるけどワカンネ  誰か助けて.
  http://0server.ddo.jp/~dougakun/upload2/src/up1219.zip

  800 :名無し~3.EXE:2007/02/21(水) 11:29:50 ID:ux1ZZgWt
  それで判らなきゃどうしようもないわ.

  801 :名無し~3.EXE:2007/02/21(水) 11:32:52 ID:Igq/YDl3
  ファイルを一通り揃えないとな.

  802 :名無し~3.EXE:2007/02/21(水) 12:23:32 ID:tcKwzygL
  事故解決スマソ  ファイルパスの.
  O<-  これ零だと勘違いしてた模様. オーで通った.

  803 :名無し~3.EXE:2007/02/21(水) 19:51:29 ID:mWNkuj/B
  >>802
  大昔のDOSなら「0」なら, 斜め線が入ってたのにね.

  804 :名無し~3.EXE:2007/02/21(水) 22:32:32 ID:dSTd36jK
  いまだに手書きだとゼロに斜線, オーに上線書くクセが抜けません.

  805 :名無し~3.EXE:2007/02/22(木) 01:26:37 ID:dcYh/2pS
  >>804
  Zにも, [ちょん]って, いれるでしょ?
  PCの話題からずれてるけどね.

  806 :名無し~3.EXE:2007/02/25(日) 07:11:24 ID:M8SUDOy/
  任意の数与えられた引数をechoする方法を教えてください.

  807 :名無し~3.EXE:2007/02/25(日) 07:19:34 ID:XbqoSwX3
  echo %*

  808 :名無し~3.EXE:2007/02/25(日) 10:47:06 ID:M8SUDOy/
  スマン寝ぼけてたわ.

  809 :名無し~3.EXE:2007/02/25(日) 10:54:30 ID:lALGsEBc
  同一バッチ内で, サブルーチンCALL〜RETURNの動作をさせることは可能ですか?
  GOTOで飛ばしても, 元に戻す方法がワカリマセン・・・オワタ\(^o^)/

  810 :名無し~3.EXE: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: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:2007/02/26(月) 04:07:53 ID:9JamE3oB
  単純にタブを改行に置換した方が早くない甲斐.

  815 :名無し~3.EXE:2007/02/26(月) 04:09:53 ID:9JamE3oB
  誤変換した上に微妙に途中で書き込んじまった・・・callって10個までしか引数渡せないのね.

  816 :809:2007/02/26(月) 04:41:56 ID:TZQkmwZQ
  >>810
  とんくす. 無事に解決しますた.
  参考:
  メイン処理.
  メイン処理.
  CALL  :LABEL
  メイン処理.
  メイン処理.
  ・・・.
  :LABEL
    サブ処理.
  goto :eof

  817 :名無し~3.EXE:2007/02/26(月) 06:45:30 ID:kBM+PAiP
  >816
  メイン処理の最後にも goto :EOF

  818 :名無し~3.EXE:2007/02/26(月) 17:29:47 ID:TZQkmwZQ
  テキスト形式でどんどん下に増えていくログファイルで,
  新旧2ファイル  A.TXT  B.TXT  があるとします.
  FC  で比較すると, カブった部分だけは抽出できますが,
  増えた分だけ抽出する, うまいやりかた, ないでしょうか.

  819 :名無し~3.EXE:2007/02/26(月) 18:49:58 ID:fAq2TeR4
  >>815
  >> callって10個までしか引数渡せないのね.
  shift

  820 :名無し~3.EXE:2007/02/26(月) 18:51:29 ID:9JamE3oB
  >>818
  追加部分に全く変更がないことを仮定するなら.
  Aの行数分+nしてmore

  821 :名無し~3.EXE: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:2007/02/26(月) 19:09:14 ID:9JamE3oB
  すまんhoge.batじゃない, test.txt
  これを試したら10個以上は駄目だったので>>815
  shift自体は知ってるんだけどね, 言葉足らずごめん.

  823 :名無し~3.EXE:2007/02/26(月) 19:11:12 ID:9JamE3oB
  うあー, そこ以外に間違いが多すぎる・・・まあ>>814で済む話だと思うからどうでもいいっちゃどうでもいいんだ.

  824 :名無し~3.EXE:2007/02/26(月) 19:23:51 ID:9JamE3oB
  連投すまん普通に出来た, 昨夜はどっか間違えてただけみたいだ・・・.

  825 :名無し~3.EXE:2007/02/26(月) 23:16:24 ID:RAmgQBxU
  テキストの中身, 例えば.
  abc( ) cde(f g h i)
  っていう行を, スペース分だけ縮めて.
  abc()cde(fghi)
  っていう風にってできますか?
  教えてエロイ人.

  826 :名無し~3.EXE: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:2007/02/26(月) 23:41:36 ID:W0f2oIjo
  >>825
  set /?

  828 :名無し~3.EXE:2007/02/27(火) 00:14:03 ID:ssftNQ/p
  /f抜きのfor文か, 盲点だった.

  829 :名無し~3.EXE: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:2007/03/04(日) 13:56:45 ID:dStcZEp+
  >>820  トンクス. 第一フェーズはクリアできました.
  このmoreを使う方法で, +nの開始行だけじゃなく,
  終端行も指定できるコマンドはありますか?

  832 :名無し~3.EXE: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: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:2007/03/05(月) 02:54:04 ID:MOjVAAUk
  >>833
  綺麗だなー横から頂いておこう.

  835 :名無し~3.EXE:2007/03/05(月) 19:32:27 ID:LVHf9Ynh
  礼儀を知らん奴だな.

  836 :名無し~3.EXE:2007/03/05(月) 21:33:53 ID:MOjVAAUk
  すまん, 833ありがとう831じゃないが勉強になった.

  837 :名無し~3.EXE: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

  838 :831:2007/03/08(木) 20:41:30 ID:ya3PyY8a
  >>832
  >>833
  >>837
  遅くなりましたが, おかげさまで無事に任務完了しました.
  お三方ともそれぞれ工夫が入っていて大変勉強になりました.
  ありがとーございますっ!

  839 :名無し~3.EXE:2007/03/09(金) 04:39:09 ID:DG7HO96U
  >>838
  遅すぎる! 質問したんなら毎日チェックせんか!

  840 :名無し~3.EXE:2007/03/09(金) 06:39:26 ID:2rOa6XJ7
  >839
  まーまー, 遅レスでも質問投げてハイ終わりより全然マシだし.

  841 :名無し~3.EXE:2007/03/09(金) 07:00:29 ID:DG7HO96U
  いや, 俺も本気で言ってるわけじゃあない.

  842 :名無し~3.EXE:2007/03/09(金) 21:15:54 ID:0y7g4CVL
  自分で作成した.batファイルをパソコン起動から.
  30秒後に実効させたいのですが(起動直後だと色々なソフトが立ち上がったりしている段階.
  だから, かなり処理が重くて, 実行タイミングをずらしたい)
  .batファイルの一番上に sleep 30秒 みたいな1行を入れれば解決すると思っていますが.
  (それをスタートアップに突っ込む)
  sleepコマンドは存在しません. 代わりになるコマンドはありませんか?
  OSはWindows2000 Professional SP4です.
  宜しくお願いします.

  843 :名無し~3.EXE:2007/03/09(金) 21:24:53 ID:tEFMuHkw
  ping 0 -n 31 > nul

  844 :名無し~3.EXE:2007/03/09(金) 21:32:29 ID:YTztBu5T
  >>842
  >>131-141

  845 :名無し~3.EXE:2007/03/09(金) 21:39:04 ID:0y7g4CVL
  スマン, 既出だった.
  >>843
  このアイディアは面白いですね. でもこれだと正確に30秒数えてるわけじゃないですよね?
  pingの感覚は1秒に1回実行しているのですかあれは?
  もしそうなら30秒数えてる事になりますけど・・.
  それから, nul  なんですね, Windowsの場合は.
  Linuxだと /dev/null  だから nullの間違いじゃないかと実行してみたら.
  nullってファイルが出来上がってしまいました.

  846 :名無し~3.EXE:2007/03/09(金) 21:42:34 ID:SEOi/TOI
  >>845
  欧米かっ!

  847 :名無し~3.EXE:2007/03/09(金) 22:00:42 ID:0y7g4CVL
  >>846
  ?

  848 :名無し~3.EXE:2007/03/10(土) 21:35:30 ID:kX5CKF14
  >>845
  俺もnulをとnullを書くことがある.
  DOSの頃から使ってるのにいまだになんだよな.
  DOSデバイス名は3文字だって思ってりゃ大丈夫なはずなんだがねぇ.

  849 :名無し~3.EXE:2007/03/11(日) 10:32:39 ID:BSbqetgn
  >>842
  cygwinという手もあるよ.

  850 :名無し~3.EXE:2007/03/11(日) 13:24:44 ID:bIr2biXV
  expandコマンドの使い方が分からず悩んでいます.
  cab形式で, 複数のサブフォルダやファイルを含んだ親フォルダを圧縮後,
  expandコマンドで新しいフォルダに解凍すると, サブフォルダが無くなり,
  全てのファイルが解凍先のフォルダ内に展開されてしまいます.
  解凍後も, 解凍前と同じフォルダ構成で展開させるにはどうすれはいいのでしょうか?
  どなたかお分かりになる方がいらっしゃいましたら, 教えて下さい.

  851 :名無し~3.EXE:2007/03/11(日) 13:38:54 ID:wv7B4rxH
  無理.

  852 :>>850:2007/03/11(日) 13:41:24 ID:bIr2biXV
  >>851
  無理ですか・・・.

  853 :名無し~3.EXE:2007/03/11(日) 14:24:55 ID:dNmcphlD
  expandコマンドではなくextractコマンド使えばOK.
  入ってなかったらWindowsインストールCD内のSupportToolsインストーラ.
  かMicrosoftから落とせばいい.

  854 :名無し~3.EXE:2007/03/13(火) 14:10:50 ID:OzuEmcRk
  システムの日付を1日進める事は出来ないでしょうか?
  C:\>date /?
  とか.
  C:\>help date
  とかやってマニュアルを見たりネットで調べたのですが,
  Linuxで言うところの.
  # date -s '1days'
  でシステム日付を1日進める事が出来ます.
  このコマンドをfor文の中に埋め込んで, 1日ずつずらしながら100回ぐらい特定のコマンドを.
  打ち続けたいのですが, 人力でやると100回同じような作業をしないとならないので.
  ぜひbatファイルのfor文と日付を1日進めるコマンドで自動化したいのですが.
  DOSには1日進めるコマンドは無いのでしょうか?
  もしあるならば教えてください. よろしくおねがいします.

  855 :名無し~3.EXE:2007/03/13(火) 15:52:17 ID:SL0cw+2s
  >>854
  このスレをdateで検索すれば.

  856 :名無し~3.EXE:2007/03/15(木) 01:24:25 ID:rGCP6xCe
  WindowsME -> Vista へ移行しました.
  コマンドプロンプトで以下を実行します.
    c:\somewhere>explorer /e, .
  制御が戻ってきます. ( プロンプトが有効になる )
  いつも "explorer /e, ." を入力するのは面倒なので,
  "explorer /e, ." だけを書いた exp.bat を, パスの通った場所に,
  置いておきます.
    c:\somewhere>exp
  実行しても制御が戻ってきません.
  Windows9x 系だと, 制御が戻ってきます.
  どうしたらいいのでしょうか?
  cmd /c や & など試したのですが, 思った通りになりません.

  857 :名無し~3.EXE:2007/03/15(木) 01:28:57 ID:gd0AF5kn
  start

  858 :名無し~3.EXE:2007/03/15(木) 01:32:47 ID:mA1C3Gzd
  start .

  859 :名無し~3.EXE:2007/03/15(木) 02:26:14 ID:rGCP6xCe
  >>857-858
  解決しました. ありがとうございました.

  860 :名無し~3.EXE:2007/03/15(木) 13:22:09 ID:3xRw8xOw
  830がスルーされてる件.

  861 :名無し~3.EXE:2007/03/15(木) 13:26:52 ID:V4qzqJbA
  >>860
  レスがほしければ, もっと細かく書けば.
  あの1行じゃ, なにで困ってなにがしたいのかわからん.

  862 :名無し~3.EXE:2007/03/15(木) 14:14:55 ID:Lj7DI4SG
  Windowsで実行中のアプリ(EXE)が稼動しているか.
  定期的(1分ぐらい)で確認し, 落ちていたら再度自動起動する.
  バッチはどのように書けばいいのでしょうか?悩んでいます.
  ご教授いただければ幸いです.

  863 :名無し~3.EXE:2007/03/15(木) 15:15:21 ID:3sqNewWT
  空ディレクトリだけ削除するコマンド教えろ.

  864 :名無し~3.EXE:2007/03/15(木) 15:38:02 ID:mA1C3Gzd
  >>862
  つ.
  sleep.exe
  tasklist.exe
  find か findstr
  start

  865 :名無し~3.EXE:2007/03/15(木) 15:51:23 ID:V4qzqJbA
  >>863
  format D: /Q

  866 :名無し~3.EXE:2007/03/15(木) 21:47:41 ID:3sqNewWT
  >>865
  大事な個人情報データの入った全てのフォルダが見つからなくなってしまいました.
  やばいのでちゃんと教えてください.
  ていうかその前にどうやったらみえるようになるのか教えろ.

  867 :名無し~3.EXE:2007/03/15(木) 22:02:15 ID:B8dEOk5m
  >>866
  バカかお前?コマンドの意味ぐらい調べて実行しろよ.
  お前のDドライブはクイックフォーマットされてしまったんだよ.
  データ復旧がんばれ. 最悪復旧できないぜ.

  868 :名無し~3.EXE:2007/03/15(木) 23:32:54 ID:WQboaxAI
  プロセスの優先度(リアルタイム, 高, 通常以上, 通常, 通常以下, 低)を変更するコマンドって.
  ないですか?
  ウィルス検索用のサービスのプロセスが「通常」で動いてて, 全件検索のスケジュール検索が.
  始まったりすると非常に操作が遅くなってウザいので, いまは手動でタスクマネージャから.
  「低」に変えてるんだけど, これを自動化したいのですが.
  つーか, 遅くてもいいようなバックグラウンドの処理やるのに堂々と「通常」のプロセスで実行して,
  フォアグラウンドのユーザーの操作性が悪くなるって, ソフト造ってる人にセンスがないというか.
  馬鹿ジャネーノと思うんだけどさ. >某有名ウィルス検索ソフト.

  869 :名無し~3.EXE:2007/03/15(木) 23:33:17 ID:V4qzqJbA
  >>866
  質問の仕方を勉強してから出直せ.

  870 :名無し~3.EXE:2007/03/16(金) 00:48:48 ID:i6fct+GD
  age失礼します.
  ftp転送をテキストから実行するのですが,
  実行を*秒間待ち, 失敗した場合はリトライしようと考えています.
  *秒間待つ, というコマンドは調べた限り, ping localhost〜というので.
  できそうなのですが, 他に方法はありますでしょうか?
  また, リトライするにあたりCPUをあまり食わない方法を.
  とりたいと考えています.
  FOR〜で回すのと, 実行回数を変数にセットしてIF GOTOで回すのは,
  どちらがCPU負荷が低いのでしょうか?
  ご教示ください.

  871 :名無し~3.EXE:2007/03/16(金) 00:56:28 ID:eakn+5F7
  両方作って試してみれば?なにをどうループしたいのかよくわからないけど.
  ループ回数多ければコマンド数が少ないほうが軽いと思う.

  872 :名無し~3.EXE:2007/03/16(金) 00:58:54 ID:i6fct+GD
  age失礼します.
  ftp転送をテキストから実行するのですが,
  実行を*秒間待ち, 失敗した場合はリトライしようと考えています.
  *秒間待つ, というコマンドは調べた限り, ping localhost〜というので.
  できそうなのですが, 他に方法はありますでしょうか?
  また, リトライするにあたりCPUをあまり食わない方法を.
  とりたいと考えています.
  FOR〜で回すのと, 実行回数を変数にセットしてIF GOTOで回すのは,
  どちらがCPU負荷が低いのでしょうか?
  ご教示ください.

  873 :名無し~3.EXE:2007/03/16(金) 01:03:07 ID:i6fct+GD
  ん・・連書きになってる. . すいません.
  >>871さん.
  ありがとうございます.
  やろうとしていることは.
  ftp -s:実行コマンド.txt  で,
  ファイル転送が問題なく実行されればループを抜け.
  エラーでファイル転送ができなかった場合は, もう一度ftpを実行しようとしてます.
  最終的に3回ほど実行してもエラーが発生した場合は, exitしようとしてます.
  とりあえず両方実行してみます.

  874 :名無し~3.EXE:2007/03/16(金) 06:08:01 ID:FvBgO7zq
  マジで format 実行した奴いるのか・・・?

  875 :名無し~3.EXE:2007/03/16(金) 06:15:11 ID:MR2N6HOP
  どうみてもネタです. お疲れ様.

  876 :名無し~3.EXE:2007/03/16(金) 09:39:54 ID:rNEmEled
  今日休んで必死で復旧してます.
  少し前のがCDRにバックアップしてあったので何とかなりそうです.
  正直参りました.

  877 :名無し~3.EXE:2007/03/16(金) 17:42:34 ID:Wa3JiUCf
  >>868
  つ sleep.exe >>315

  878 :名無し~3.EXE:2007/03/17(土) 08:12:20 ID:jB6psE8I
  質問です.
  dirでファイルのサイズは表示できるのですが,
  同じようにディレクトリのサイズを表示するにはどうしたらいいのでしょうか.

  879 :名無し~3.EXE:2007/03/17(土) 10:58:08 ID:15BYO+Ro
  >868
  常時CPUを独占するプロセスが動いてるような環境で,
  ロクに動かなくてクレーム付ける奴がいたりもするからな.
  そういう奴に限って声高な罠.
  まぁ, 理想的には自身で設定出来りゃいいんだけど.

  880 :名無し~3.EXE:2007/03/17(土) 13:30:32 ID:zglMRs4v
  >>878
  WSH使え.cmd ディレクトリ名.
  @if(0)==(0) ECHo OFF
  CScript.exe //NoLogo //E:JScript "%~f0" %1
  GOTo :EOF
  @end
  var fso=new ActiveXObject('Scripting.FileSystemObject');
  var folder=fso.GetFolder(WScript.Arguments.Item(0));
  WScript.Echo(folder.Size);

  881 :名無し~3.EXE:2007/03/17(土) 15:47:21 ID:2afvpT9P
  >>878
  @echo off
  setlocal enableextensions enabledelayedexpansion
  set s=
  for /F "usebackq delims=" %%i in (`dir /n /s /4 /-c %1 ^| findstr /r /x
  "^[^0-9].*バイト$"`) do set s=%%i
  echo %s:~-24, 20%

  882 :名無し~3.EXE:2007/03/17(土) 19:10:41 ID:zglMRs4v
  >>868
  startで起動する, 起動し直すか,
  @ECHo OFF
  SETLOCAL
  MORE +10 "%~f0" >"%~f0.js"
  SET DOTNET=%SystemRoot%\Microsoft.NET\Framework
  FOR /F "delims=" %%1 IN ('DIR /AD /B /ON "%DOTNET%\v*"') Do IF EXIST
  "%DOTNET%\%%~1\jsc.exe" SET DOTNET=%DOTNET%\%%~1\jsc.exe
  "%DOTNET%" "%~f0.js"
  DEL "%~f0.js"
  "%~f0.exe"
  DEL "%~f0.exe"
  GOTo :EOF
  import System.Diagnostics;
  Process.GetProcessesByName('notepad')[0].PriorityClass=ProcessPriorityClass.Idle;

  883 :名無し~3.EXE:2007/03/17(土) 19:32:20 ID:8kc20ls3
  >>868
  OS側から優先度を下げられるといざって時に困るからな.
  ウイルスがCPU使いまくってアンチウイルスが動かんとか話にならんから.

  884 :名無し~3.EXE:2007/03/19(月) 23:55:14 ID:5aRr+Po8
  port21を即座に開放させるDOSコマンドというか,
  バッチを作りたいのですが, お知恵を拝借させてください. . .

  885 :名無し~3.EXE:2007/03/19(月) 23:56:51 ID:b2BtHKZ8
  shutdown -r

  886 :名無し~3.EXE:2007/03/20(火) 00:09:13 ID:xx1ZwL9C
  質問です.
  osを書き換えるにはどうすればいいのですか?

  887 :名無し~3.EXE:2007/03/20(火) 00:22:24 ID:QIKsOeLP
  春休みっていいなぁ.

  888 :名無し~3.EXE:2007/03/20(火) 01:58:07 ID:MaGLsXFC
  ポートの開放かぁ・・・DOSコマンドでできるのか?

  889 :名無し~3.EXE:2007/03/20(火) 02:18:06 ID:cQmujOv+
  portを何で塞いでるのかで異なってくるのかな.
  何にしろ, ファイアーウォールソフトのチェックを横取りしないといけないので.
  winsocksあたりをフックして, あとは自前でLANドライバを制御しないといけなくなるかも.
  またルーター側で塞いでたら, 上記作業はまったくの無駄でルーターに設定変更コマンドを投げないといけない.
  環境依存しそうだね.

  890 :878:2007/03/22(木) 11:42:09 ID:QXDhhVnH
  >>880-881
  返信遅れました.
  回答ありがとうございます.

  891 :名無し~3.EXE:2007/03/25(日) 01:31:34 ID:Z8Z2MSF1
  コマンドプロンプトから.
  net use
  を実行すると今現在接続しているネットワークドライブが見えますが,
  net use /delete z:
  とかやるとZ:ドライブを切り離す事が出来ますよね.
  それを,
  z:やy:等割り当てられていない接続があるんですが.
  (OK \\192.168.30.4\IPC$ Microsoft Windows Network)<-こんな感じ.
  これを切断する時はどうすればいいですか?
  net use /delete *
  ってやるとコレを含めて全て(y:やz:も)切断されるので, 確かに切断は出来ますが.
  y:やz:や切断したくありません. あくまでもコレ1個だけを切断したいです.
  で, 私なりに考えて.
  net use /delete * -Y: -Z:
  って実行してみたのですが, エラーが帰ってきました.
  どうすればいいんですかねぇ?

  892 :名無し~3.EXE:2007/03/25(日) 14:02:23 ID:BdqnSJwQ
  net use /d \\192.168.30.4\IPC$

  893 :名無し~3.EXE:2007/03/25(日) 14:06:01 ID:Z8Z2MSF1
  >>892
  なるほど, どうもありがとうございました.

  894 :名無し~3.EXE:2007/03/27(火) 16:38:07 ID:qIrWV5Kb
  コマンドが出力した1回の処理結果を, ファイルにもコンソールにも同時に.
  出力するには, どうしたらいいでしょうか?
  現状の苦肉の策.
    C:\AAA.com > file.txt
    type file.txt
  しかしこれだと処理が終わった後にまとめて出てしまい, マズーです.

  895 :名無し~3.EXE:2007/03/27(火) 16:40:20 ID:xDww6Bzr
  >>894
  teeをそのへんのUNIXライクから抜けば?

  896 :名無し~3.EXE:2007/03/27(火) 16:52:19 ID:NEVfh2eP
  Universal Extractorとかにも入ってるね>tee

  897 :名無し~3.EXE:2007/03/27(火) 17:26:53 ID:qIrWV5Kb
  >>895
  >>896
  ありがとうございます. これですね.
  [ tee ] 標準入力を標準出力とファイルに出力する.
  http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230898/
  Universal Extractorから抜き出せました. のちほど挑戦してみます.

  898 :名無し~3.EXE:2007/03/27(火) 17:29:56 ID:qIrWV5Kb
  無事にできました. サンクスです.
  書式.
    C:\AAA.com | tee file.txt

  899 :名無し~3.EXE:2007/03/27(火) 18:47:54 ID:RZBVcDUi
  start cmd /s /c "AAA.com>file.txt"
  tail -f file.txt

  900 :名無し~3.EXE:2007/03/27(火) 21:01:03 ID:Eys8t+u0
  >>899
  無理矢理すぎ. . .

  901 :名無し~3.EXE:2007/03/28(水) 04:24:30 ID:XzHvYeCK
  tailはどうせ標準じゃないからそれだったらteeのほうが素直だ.
  標準のコマンドだけでできるならそれなりに意味あるけど.

  902 :名無し~3.EXE:2007/03/28(水) 18:36:43 ID:ZArQcXNe
  teeぐらいバッチで作ればよいのに...

  903 :名無し~3.EXE:2007/03/28(水) 19:56:48 ID:OxDbgcBz
  つーか>>899じゃあ, AAA.com終わっても終わらないじゃん.
  >>902
  ここでスーパーハカー登場しますた. 実際やってみせてくれ.

  904 :名無し~3.EXE:2007/03/29(木) 13:56:33 ID:bxA5c+sb
  rmdirってERRORLEVEL 0固定なの?

  905 :名無し~3.EXE:2007/03/29(木) 14:04:41 ID:bxA5c+sb
  あ, 違う,
  rmdirは成功しても失敗捨てもERRORLEVEL変化しないの?
  が質問です.

  906 :名無し~3.EXE:2007/03/30(金) 13:27:08 ID:iOVPJEok
  >>905
  @echo off
  rmdir %1 2>&1 | findstr ".*" >nul
  if errorlevel 1 (echo normal) else echo error: hit!! - findstr errmsg

  907 :名無し~3.EXE:2007/03/30(金) 17:23:05 ID:3XMxBJ5w
  rmdir "%1"
  if exist "%1" (略)

  908 :名無し~3.EXE:2007/03/31(土) 15:40:57 ID:3FgO7uz/
  rmdir %1 2>&1 | set /p x=

  909 :名無し~3.EXE:2007/04/01(日) 00:50:57 ID:Qv7Xwq5V
  EOF検出困難なので, 空行で終了.
  hoge | tee.cmd 2>hage | huge
  @echo off
  setlocal enabledelayedexpansion
  :loop
  set /p x=
  if errorlevel 1 goto :eof
  echo;!x!
  echo;!x!>&2
  goto :loop

  910 :名無し~3.EXE:2007/04/01(日) 17:19:16 ID:xf+sLP2x
  バッチファイルでいろいろ遊んでるけど考え方はRPGツクールと同じなんだな.

  911 :名無し~3.EXE:2007/04/01(日) 17:55:31 ID:Qv7Xwq5V
  >>868
  SFUのnice/renice

  912 :名無し~3.EXE:2007/04/01(日) 18:30:15 ID:2pfzfTHj
  2kで, 標準だと tasklist とか taskkill が用意されてないから.
  外部ツールを使おうと思ってるんだけど, 何かおすすめってあります?
  できるだけオプション等使用感が標準のに似てるのが良いなぁ.

  913 :名無し~3.EXE:2007/04/01(日) 20:19:24 ID:cgxdeLo7
  >>912
  XPマシンから C:\WINDOWS\system32\の中から(確かココ) tasklist.exe taskkill.exe
  等を拾ってくる.
  オレはshutdown.exeを拾ってきて使ったりしている.

  914 :名無し~3.EXE:2007/04/01(日) 21:56:19 ID:Qv7Xwq5V
  2kの\Program Files\Support Toolsに.
  kill.exe
  tlist.exe
  がないか?

  915 :名無し~3.EXE:2007/04/02(月) 03:15:44 ID:jb/8hYOV
  2kのCDの\support\tools\setup.exeを実行すれば>>914の通りにインストされるはず.

  916 :名無し~3.EXE:2007/04/02(月) 23:16:44 ID:0kblrDSq
  >>909
  set /pでパイプはうまく読めんみたい.
  行単位でなく, 割り込み単位に読み取るみたい.

  917 :名無し~3.EXE:2007/04/04(水) 22:07:52 ID:LoXA/bZA
  >>868
  PID=???
  Set Application=CreateObject("Excel.Application")
  hprcs=Application.ExecuteExcel4Macro("CALL(""kernel32"", ""OpenProcess"",
  ""JJJJ"", 512, 0, " & PID & ")")
  Application.ExecuteExcel4Macro("CALL(""kernel32"", ""SetPriorityClass"",
  ""JJJ"", " & hprcs & ", 64)")
  Application.ExecuteExcel4Macro("CALL(""kernel32"", ""CloseHandle"", ""JJ"", "
  & hprcs & ")")

  918 :名無し~3.EXE:2007/04/04(水) 23:58:58 ID:d5GWrQQw
  >>917
  これってCScriptですか?ん?Excelマクロ?
  おながい解説plz

  919 :名無し~3.EXE:2007/04/05(木) 00:16:09 ID:HkVPJR16
  PID=WScript.Arguments.Item(0)
  に変えて, .VBS

  920 :名無し~3.EXE:2007/04/05(木) 21:15:39 ID:FfdksGnU
  バッチファイルで, クリップボードの文字列(ローカルパスだったりURLだったり)を.
  ファイル名とそれ以外の部分に分離して取得したいんだけど, 何か良い方法ある?
  とりあえずmayu作者のcliputilで, 全文字列をクリップボードから環境変数1に入れることと.
  ファイル名を環境変数2に入れることはできたんだけど, ファイル名以外の部分がどうにもこうにも.
  元の文字列は前述の通り, ローカルパスだったりURLだったりするので引数変数%~dp1使えってのはナシの方向で.

  921 :名無し~3.EXE:2007/04/05(木) 21:23:35 ID:+MqJksX2
  URLのファイル名ってどこだよ.

  922 :名無し~3.EXE:2007/04/05(木) 21:33:01 ID:K5PwdFNs
  if文とset文で地道に判定すれば?

  923 :名無し~3.EXE:2007/04/05(木) 21:49:08 ID:HkVPJR16
  遅延展開使って.
  !環境変数1:%環境変数2%=!

  924 :名無し~3.EXE:2007/04/05(木) 22:32:05 ID:AFc5zb3I
  PCのセットアップ作業で1PCにつき, 複数のプリンタを設定しないといけないので.
  バッチファイルを作ったのですが, どうもうまくいきません.
  rundll32 printui.dll, PrintUIEntry /if /b "Test Printer" /f d:\work\xxxxx.inf
  /r "lpt1:" /m "HOGE HOGE3"
  上記のようなコマンドを作って実行すると, 「ドライバが認証されていないので〜  続行 or 中止」というような.
  メッセージが出るのでいちいちマウスで続行を押さないと進みません.
  スイッチに, /Qw  という, 警告を出さないというスイッチがあるのですが, それを指定すると,
  「操作が完了できませんでした」とでてプリンタが登録できません.
  解決方法分かる方いませんか?
  あと, できれば, プリンタのプロパティ ー> 全般 -> 印刷設定の中もバッチで設定で出来ると良いのですが.

  925 :名無し~3.EXE:2007/04/05(木) 23:31:24 ID:2j/XXBRk
  >>884
  netshコマンドを探し回れば見つかるような気がする.

  926 :名無し~3.EXE:2007/04/06(金) 01:25:16 ID:HlcRwGtw
  >923
  できた!
  遅延展開の使い方でちょっとつまずいたけど.
  分かると面白いね.
  さんきゅーです.

  927 :名無し~3.EXE:2007/04/06(金) 01:32:24 ID:qN1BBhr8
  >あと, できれば, プリンタのプロパティ ー> 全般 -> 印刷設定の中もバッチで設定で出来ると良いのですが.
  /Ssと/Srはどうだろ.

  928 :名無し~3.EXE:2007/04/06(金) 01:56:14 ID:qN1BBhr8
  >>924
  SendKeys

  929 :名無し~3.EXE:2007/04/06(金) 05:37:29 ID:4zE+q0XG
  batファイルをWindowsのタスクスケジューラで動かしているのですが.
  いちいちDOS窓が立ち上がってきてうっとうしいです.
  これを隠してコマンドだけ実行させることは出来ませんか?(スケジューラで).
  完全に隠せなくてもせめて最小化した状態で出来ないでしょうか?
  1行だけの.batファイルなら.
  start /min cmd /c mkdir hoge
  とかでコレが実現できますが, 複数行, if文とか組み合わせるとこの方法では出来ません.

  930 :名無し~3.EXE:2007/04/06(金) 15:43:50 ID:aH1EHGYL
  タスクj実行ファイル名に, cmd /c start /min c:\hoge.batを登録するとか.
  batファイルへのショートカットを登録するとかではダメなん?

  931 :名無し~3.EXE:2007/04/06(金) 21:29:10 ID:wgXToTxg
  >>927
  /Ssと/Sr使ってみたのですが, 印刷設定の中(メーカーごとに違う画面のところ)は.
  うまくできませんでした.
  >>928
  取り敢えず, sendkeysで対処するようなバッチにしたんですが, すっきりしないんですよね・・・.
  ちなみに, Vistaだとちゃんと/Qwスイッチが使えました.

  932 :名無し~3.EXE:2007/04/06(金) 22:30:32 ID:qN1BBhr8
  変更箇所を特定してRegWriteとか.

  933 :名無し~3.EXE:2007/04/06(金) 23:13:52 ID:Ss9sI4Pl
  オレもやっぱりバッチ実行したときの小窓が気になって.
  引数で渡したアプリなりバッチなりを窓非表示で実行する.
  小物ツールをAutoHotkeyで作っちゃったよ.
  プログラミング素人だけど30分くらいで出来た.

  934 :名無し~3.EXE:2007/04/07(土) 00:12:33 ID:L1UqqFPf
  >>929, >>930
  起動時に瞬間コマンドプロンプトが開くから,
  wscript.shellでrun bat, 0するvbsをwscript.exe起動しようよ.

  935 :名無し~3.EXE:2007/04/07(土) 16:14:28 ID:s6CLN6PI
  NET USER USER1 /DOMAIN
  ユーザー名  USER1
  フルネーム  田中一郎.
  ・・・(以下省略)・・・.
  NET GROUP GROUP1 /DOMAIN
  USER1 USER2 USER3 ・・・.
  NET GROUPコマンドで, 下記のようにUSER名とフルネームを同時に.
  取得したいのですがなにか方法はありませんか?
  USER1 田中一郎 USER2 山田花子 ・・・.

  936 :名無し~3.EXE:2007/04/07(土) 19:00:52 ID:L1UqqFPf
  >>931
  /?を見ると, /qと/Gwはあるけど/Qwはないが?

  937 :名無し~3.EXE:2007/04/07(土) 19:24:04 ID:1i2EGxl6
  環境変数に登録されたフォルダの中のファイル名を検索するうまい書き方ありますか?
  set temp=%path:"=%
  set temp="%temp:;=";"%"
  みたいに整形して.
  for /f "delims=;" %%a in ('@echo %temp%') do dir %%a|find "hogehoge"
  だとフルパス表示できないし, かといってdirに/s付けると余計なところまで検索かけて遅くなるし.

  938 :名無し~3.EXE:2007/04/07(土) 20:16:57 ID:2paJaP2O
  とりあえず%temp%は一時ディレクトリ用の環境変数だから.
  別の名前にした方がいいと思う.

  939 :名無し~3.EXE:2007/04/07(土) 20:20:13 ID:1i2EGxl6
  あ, 確かに.

  940 :名無し~3.EXE:2007/04/07(土) 20:40:22 ID:bLcLd1L5
  @echo off
  set target=foo.txt
  set dirs=%path:"=%
  if "%dirs:~-1%" equ ";" (set dirs=%dirs:~0, -1%)
  set dirs="%dirs:;=" "%"
  rem dir /w %dirs%
  rem goto :eof
  for %%i in (%dirs%) do (
  pushd %%~i
  for /f %%j in ('"dir /b %target% 2>nul"') do echo %%~fj
  popd
  )

  941 :名無し~3.EXE:2007/04/07(土) 20:59:54 ID:1i2EGxl6
  >>940
  おおーどうもありがとうございました.

  942 :名無し~3.EXE:2007/04/07(土) 22:57:59 ID:bLcLd1L5
  >>941
  指定ファイル名に空白が使われてる場合, バグがあった.
  @echo off
  set target=*.msi "a b.txt"
  set dirs=%path:"=%
  if "%dirs:~-1%" equ ";" (set dirs=%dirs:~0, -1%)
  set dirs="%dirs:;=" "%"
  for %%i in (%dirs%) do (
  pushd %%~i
  for /f "delims=" %%j in ('"dir /b %target% 2>nul"') do echo %%~fj
  popd
  )

  943 :名無し~3.EXE:2007/04/08(日) 01:53:41 ID:AO1hL1UF
  >>929
  http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=36991&forum=8&start=8&12

  944 :941:2007/04/08(日) 05:57:01 ID:3LVSruKP
  >>942
  重ね重ねどうもです, レス遅れてすみません.

  945 :名無し~3.EXE:2007/04/08(日) 11:01:47 ID:tMewfiUh
  >>944
  いえいえ, あなたにはこの程度の対処は出来るんだろうけど.
  見ている他の人のために訂正しただけですから.
  なお, targetが, フォルダだったり相対パス(foo\bar*.txt)だったりする.
  場合の対処が必要なら, それは宿題です.

  946 :名無し~3.EXE:2007/04/09(月) 21:52:41 ID:nvCrAfUs
  >>929, >>943
  hoge.js
  @if(0==0)new ActiveXObject('WScript.Shell').Run('cmd /c cmd<"' +
  WScript.ScriptFullName + '"', 0);@else
  notepad aaaa
  exit
  :@end
  単に起動するだけで非表示バッチ.

  947 :名無し~3.EXE:2007/04/10(火) 00:31:43 ID:0YFoMgUz
  XPで.
    ・ユーザー選択画面 (「ユーザーの切り替え」 (Windowsキー+L) の状態)
    ・かつ複数のユーザーがWindowsにログオンしている状態.
  から, 指定したユーザーだけタイマーでログオフさせたいんですが.
  "logoff" コマンド (batファイル) で指定できますか?
  タイマー実行ソフトや時限シャットダウンソフトでやってみましたが,
  どれもユーザー指定ができないので, 一人だけ指定してログオフというのは効きませんでした. [下矢印]
                    |  複数ユーザーでログオン  |  単独ユーザーでログオン.
  シャットダウン |                o               |              o
  ログオフ        |                x               |              o
  複数ユーザーでログオンした状態から指定したユーザーだけタイマーでログオフさせる,
  こんなことってできないんでしょうか.

  948 :名無し~3.EXE:2007/04/10(火) 01:01:56 ID:+1cm8zhr
  よく分からんが, 実行するBATをタスク登録するときに実行するアカウントに.
  そのユーザーを指定しとけばいいだけでは?

  949 :名無し~3.EXE:2007/04/10(火) 02:16:16 ID:0YFoMgUz
  >>948
  お答えありがとうございます.
  文章解りづらくてすみません.
  Windows タスク ですよね, ちょっとやってみます.

  950 :名無し~3.EXE:2007/04/12(木) 16:15:56 ID:wBWPLIFm
  バッチファイル実行時に各行の内容がウィンドウに表示されるのは仕方がないのでしょうか?
  たとえばメッセージを表示したいときに.
  echo "処理中・・・"
  と書いて実行すると,
  D:\hoge>echo "処理中・・・"
  "処理中・・・"
  と2行表示されてしまいます.
  また, pauseなどのほかの行もすべて表示されるため, 大変見づらいです.
  echo等で表示したいメッセージのみ表示されるようにしたいのですが,
  何か方法はないものでしょうか?
  よろしくお願いします.

  951 :名無し~3.EXE:2007/04/12(木) 16:17:49 ID:i6I5b99a
  @echo off

  952 :950:2007/04/12(木) 16:31:40 ID:wBWPLIFm
  >>951
  期待通り, 余計なものは全部消えてくれました.
  どうもありがとうございました.

  953 :名無し~3.EXE:2007/04/12(木) 16:51:13 ID:bbjCez2k
  これ知らない人もいるんだぁ.

  954 :名無し~3.EXE:2007/04/12(木) 17:41:51 ID:rGu9umuP
  >>953
  Win95あたりからPC覚えた奴は, まず知らんよ.
  余程の研究心・向上心がない限りは.

  955 :名無し~3.EXE:2007/04/12(木) 18:59:02 ID:R5N4StSu
  関係ないけど, @echo offの, @ってMS-DOSのバージョンいくつから, サポートされたんだっけ?
  昔は, echo offしかなかったよね. (で, echo offと表示されてしまうという)

  956 :名無し~3.EXE:2007/04/12(木) 19:28:14 ID:y9MOEqig
  PC-98用だとver. 5 にはあった. 3.3Cにはたぶんなかった.
  EPSONのver. 4 はしらん.

  957 :名無し~3.EXE:2007/04/12(木) 20:09:16 ID:wMb9FjeO
  Win98からPC使い始めたけど知ってる.
  向上心はないけどヲタク気質なのは自覚してる.
  常識はないけどハマると深いとこまで行っちゃう.

  958 :955:2007/04/12(木) 22:12:58 ID:R5N4StSu
  >>956
  言われてみれば, たしかに, PC-98用で, Ver5.0あたりだったような気がする.
  よく覚えてはいないんだけどね.
  3.3Dは, どうだったか覚えてない.

  959 :名無し~3.EXE:2007/04/12(木) 22:24:09 ID:yB6u+aIk
  ver3には無かったね.
  それと当初から他コマンドにも@って使えたっけ?
  最初は@echoしか無かった気もする.

  960 :名無し~3.EXE:2007/04/12(木) 22:32:03 ID:7lzh3tl3
  ワークグループ名を変更したいのですが, 何か良い方法はありませんか?
  wmicから, 出来そうな感じがするのですがよく分からず・・・.

  961 :名無し~3.EXE:2007/04/13(金) 01:08:36 ID:A6FQ1BMt
  10秒後にスタンバイ/10秒後に休止ってできないでしょうか?
  C:\>%windir%\System32\rundll32.exe powrprof.dll, SetSuspendState
  がスタンバイってわかったんですが時間を指定したいです.
  シャットダウンの%windir%\system32\shutdown.exe -s -f -t 10
  みたいな感じで.

  962 :名無し~3.EXE:2007/04/13(金) 01:51:34 ID:NxxYhSlK
  何度も出てるが, BATで10秒間waitさせるかコマンドでタスク登録する.
  10秒間wait
  ping localhost -n 11
  タスク登録.
  schtasksコマンド  WindowsXP/2003
  atコマンド Windows2000
  ただしwindows2000では, フリーでダウンロードできるリソースキットのjt.exeコマンドを使えば.
  schtasksと同等にタスクの全ての機能を設定できる.

  963 :名無し~3.EXE:2007/04/13(金) 11:20:28 ID:dJwG/TE7
  >>959
  @は, どうだろう?
  というか, 他のコマンドにも@って使えるんだ?
  echo以外つかったこともないや.

  964 :名無し~3.EXE:2007/04/13(金) 16:08:28 ID:gIYzY2x1
  >>963
  使える.
  まぁ普通は先頭で @echo off するから, 使う機会は少ないが.

  965 :名無し~3.EXE:2007/04/13(金) 22:05:53 ID:utIlmCcH
  >>964
  最近別の用途と掛け合わせて@ifって使われてるじゃん. すこしウザイけど.

  966 :名無し~3.EXE:2007/04/13(金) 23:12:30 ID:3iAXsNCy
  >>961
  それって, スタンバイ?
  うちではハイバネーションになったけど.

  967 :名無し~3.EXE:2007/04/13(金) 23:41:00 ID:wdm4rCvY
  回復コンソールでif文を使った.batファイルって実行できますか?
  また, 回復コンソールは.
  1. WindowsXPが立ち上がらない時に実行する.
  2. WindowsXPのCDから起動して  Rキーから起動する.
  事とした場合, 作成した.batファイルの実行方法は.
  FDにコピーしてFDから実行する.
  以外の方法で何かありますでしょうか?
  ネットワークは使えないしCDドライブも使えないし, USBメモリとか使えましたっけ?

  968 :名無し~3.EXE:2007/04/13(金) 23:57:35 ID:utIlmCcH
  事前に, ポリシー変更で回復コンソールでリムーバブルデバイスのアクセスを許可しておいて.
  さらに回復コンソールでアクセスをイネーブルにするコマンドを発行しないと.
  確かFDにもアクセスできないよ.
  BATはCMD.EXE(又はCOMMAND.COM)の機能だから回復コンソールじゃ動かないだろう.

  969 :名無し~3.EXE:2007/04/14(土) 00:15:59 ID:D18xQzsC
  >>966
  休止を有効にしてれば[休止]に.
  休止を無効にしてれば[スタンバイ]

  970 :名無し~3.EXE:2007/04/14(土) 09:53:09 ID:1NEaWppo
  >>968
  回復コンソールではbatchというコマンドでバッチを実行できる.
  CMD.EXEと同等の機能があるかどうかは知らない.

  971 :名無し~3.EXE:2007/04/14(土) 11:10:02 ID:YdveHbWJ
  (案)
  次スレテンプレ.
  初心者〜管理者まで必読!コマンドライン(DOS Pt.6)
  適材適所で GUI と CUI を組み合わせて,
  クマ-じゃない, ウマー.
  前スレ.
  1 http://pc.2ch.net/win/kako/1002/10023/1002392089.html
  2 http://pc5.2ch.net/win/kako/1013/10138/1013833995.html
  3 http://pc8.2ch.net/test/read.cgi/win/1062775949/l50
  4 http://pc8.2ch.net/test/read.cgi/win/1116131036/l50
  5 http://pc11.2ch.net/test/read.cgi/win/1152544955/l50
  DOS由来コマンドだけでなく, Windows バージョンアップのたびに拡充されてきたコマンド,
  wsh(cscript), cygwin, Resource Kit, Support Tools, その他のフリーソフト等ふくめ.
  コマンドラインインタフェースに関するネタならなんでもOK.
  質問も歓迎だけど, 自分で調べて勉強する努力も忘れずに.

  972 :名無し~3.EXE:2007/04/14(土) 11:14:31 ID:YdveHbWJ
  (案)
  関連スレ.
  バッチファイルプログラミング 3.bat
  http://pc11.2ch.net/test/read.cgi/tech/1148485555/l50
  DOSはまだ現役! Drive.B:
  http://pc11.2ch.net/test/read.cgi/os/1046875141/l50

  973 :名無し~3.EXE:2007/04/14(土) 11:34:42 ID:mKXsUQir
  >>968
  >>970
  ITmedia エンタープライズ:Windows Tips「回復コンソールで利用できるコマンド」
  http://www.itmedia.co.jp/help/tips/windows/w0539.html
  回復コンソールでは, 利用できるコマンドが限られている.
  そうだから, CMD.exe同等の機能はないんじゃないかな(自信ない).

  974 :名無し~3.EXE:2007/04/14(土) 13:15:29 ID:6SAiqFC9
  標準のcmd.exeで実行できる(外部からコンソールアプリをDLしてこない)という条件で.
  ファイルAとファイルBを比較して条件分岐させたいです.
  fc /b filea fileb
  if errorlevel 1 (
  hogehoge
  ) else (
  piyopiyo
  )
  で実現できますが, バイナリ比較は時間がかかります.
  もっと高速に比較して同一ファイルなのか異なるファイルなのか判断できませんか?
  厳密にチェックする必要はなく, ファイルサイズで判断できれば十分です.
  ファイルサイズで比較するコマンドを教えてもらえませんか?

  975 :名無し~3.EXE:2007/04/14(土) 13:29:26 ID:HZdXwwGg
  call /? か for /? よめ.
  比較は if で.

  976 :名無し~3.EXE:2007/04/14(土) 15:26:10 ID:6SAiqFC9
  >>975
  %~zI - %I ファイルのサイズに展開します.
  ですよねぇ. しかしどのように書いたらいいのかさっぱり分かりません.
  callだともう1個batファイルが必要そうなので, forで行くと思いますが.
  ifとfor組み合わせてどのように書けばいいのですか?

  977 :名無し~3.EXE:2007/04/14(土) 15:46:16 ID:YRhG6sRI
  だからcall /? 読めと言われただろうが.

  978 :名無し~3.EXE:2007/04/14(土) 15:49:13 ID:HZdXwwGg
  forはめんどいのでcallで.
  call :sub FILEA FILEB
  goto :eof
  :sub
  if %~z1==%~z2 echo おなじ.

  979 :名無し~3.EXE:2007/04/14(土) 16:08:34 ID:YRhG6sRI
  support toolsのbindiff.exeはどう?

  980 :名無し~3.EXE:2007/04/14(土) 16:45:03 ID:6SAiqFC9
  >>978
  アドバイスありがとうございます.
  そのアドバイスを元にこんなバッチファイルを作成したのですが, 全く動作しません.
  http://www.uploda.org/uporg774186.txt
  何が悪いのでしょうか?
  どう修正したら良いのかわからなくなってきました・・・.

  981 :名無し~3.EXE:2007/04/14(土) 16:52:34 ID:YRhG6sRI
  if /?よめ.

  982 :名無し~3.EXE:2007/04/14(土) 17:48:08 ID:b97HeRvr
  もし〜だったら・・・する.
  という構文なのに.
  もし〜だったら.
  だけ書いてどうするんだ. w.

  983 :名無し~3.EXE:2007/04/14(土) 18:53:03 ID:6SAiqFC9
  >>982
  いや, だから.
  call :com
  でまず ラベル:comに飛ばして.
  :com
  if %~z1==%~z2
  この比較(ファイルAとファイルBが等しいか)をして, その比較の戻り値( %errorlevel% で参照可能のはず)
  が, callで読んだ次の行に戻ってきてif errorlevel 1 (  で, 先ほど戻ってきた%errorlevel%
  の値を参照して, もし等しくないなら1が入ってるはずで, 等しいなら0が入ってるはずなので.
  1が入ってる場合にエラーを表示.
  って言う事をやっているのですが, もしかして :comを使いまわすようなコーディングしたら.
  ダメなんですかね?戻り値をどうやればcallで呼んだメインの方に返せるのかが分かりません.
  returnコマンドとかあるのかな・・・.

  984 :名無し~3.EXE:2007/04/14(土) 18:56:25 ID:6SAiqFC9
  >>982
  >もし〜だったら.
  >だけ書いてどうするんだ. w.
  もし等しかったら〜  %errorlevel%に0を入れて呼び出し元に戻る.
  そうでなければ〜 %errorlevel%に1を入れて呼び出し元に戻る.
  ってやりたいんですよ.
  そしたら戻ってきた時に%errorlevel%の中身を参照して処理を振り分ける事が出来る.

  985 :名無し~3.EXE:2007/04/14(土) 19:02:58 ID:v4DEaveu
  そんな面倒なことしないで>>978みたいにcall先でechoすれば?
  :com
  if %~z1==%~z2 (
  echo %~n2ファイルは正常にコピーできています) else (
  echo エラー!!%~n2のファイルサイズが異なっています!正常にコピーできていません)
  goto :eof

  986 :名無し~3.EXE:2007/04/14(土) 19:40:55 ID:6SAiqFC9
  >>985
  そのようにcall先でechoすると.
  goto :eof
  で終わった際に, 呼び出し元に戻りますか?
  それとも, 本当に呼び出し元に戻りなんかせずにEOFの通りファイルの最後,
  つまりbat処理を終了してしまいますか?
  1個正常にコピーできてないって出力したとしても, 残りの4つも全て比較したいんで.
  終わるわけにはいかないんですよ.
  # まだだ, まだおわらんよ.
  とりあえず>>978さん及び>>985さんのアドバイスを元に修正したbatファイルを.
  次のレスで投稿します.
  かなり量が減ってスッキリしましたが, 動作しません.
  エラーメッセージは.
  == の使い方が誤っています.
  です.

  987 :名無し~3.EXE:2007/04/14(土) 19:41:45 ID:6SAiqFC9
  @echo off
  echo C:\WINDOWS\repair\中のファイルが正常にC:\WINDOWS\system32\config\の中にコピーされたか.
  echo どうかをファイルサイズで比較してチェックします. kj_kai2.batを実行した後に実行して下さい.
  echo Ctrl+Cキー同時押しでチェックをキャンセルできます.
  pause
  call :com c:\windows\repair\system c:\windows\system32\config\system
  call :com c:\windows\repair\software c:\windows\system32\config\software
  call :com c:\windows\repair\sam c:\windows\system32\config\sam
  call :com c:\windows\repair\security c:\windows\system32\config\security
  call :com c:\windows\repair\default c:\windows\system32\config\default
  echo 1つもエラーが出なければ正常に5つのファイルがコピーできています.
  echo もし1つでもエラーが出たならば, エラーが出たファイルを手動でコピーしてください.
  echo Backupファイルは C:\WINDOWS\tmp\の中にあるはずです.
  pause
  goto :EOF
  :com
  if %~z1==%~z2 (
  echo %~n2ファイルは正常にコピーできています.
  ) else (
  echo エラー!!%~n2ファイルのファイルサイズが異なっています!正常にコピーできていません.
  )
  pause
  goto :EOF

  988 :名無し~3.EXE:2007/04/14(土) 19:45:33 ID:YRhG6sRI
  helpよめ.
  set/?よめ.

  989 :名無し~3.EXE:2007/04/14(土) 19:48:51 ID:YRhG6sRI
  goto/?よめ.

  990 :名無し~3.EXE:2007/04/14(土) 20:15:13 ID:YRhG6sRI
  だいぶ重症だな.
  ファルダまたはディレクトリって分るかな?
  ms-its:C:\WINDOWS\Help\glossary.chm::/glossary_per.htm#JPN_HA

  991 :名無し~3.EXE:2007/04/14(土) 20:40:44 ID:HZdXwwGg
  >>987
  repairの方はファイル名が system.bak じゃね?
  if "%~z1"=="%~z2"
  などにしとけばファイルがない場合でも構文エラーにはならなくなる.
  つーかさ, これ, Windows上で実行するのか?
  もし生DOS上で実行するなら拡張機能は一切使えないぞ.

  992 :名無し~3.EXE:2007/04/14(土) 21:10:59 ID:6SAiqFC9
  >>991
  repairの方もsystemです. .bakは C:\WINDOWS\tmpに作成されるbatがあります.
  ファイルは存在するので, ファイルが存在しないからエラーなのではなくて.
  多分構文がおかしいのかと.
  Windows上でも生DOS上でも実行しませんよ.
  実行するのはBartPE上です.

  993 :名無し~3.EXE:2007/04/14(土) 21:34:09 ID:HZdXwwGg
  ふーん. うちのWinXPでは動くけどね〜〜.
  BATは基本的に変数展開のあとに構文解析するから.
  echo off せずに表示してみれば?

  994 :名無し~3.EXE:2007/04/14(土) 21:50:36 ID:bU+xOO1T
  ==の使い方が間違ってると出たら, ファイルが存在してないことが原因.

  995 :名無し~3.EXE:2007/04/14(土) 21:56:50 ID:bU+xOO1T
  @echo off
  echo a>a.txt&echo bb>b.txt
  setlocal
  rem +++ used local-variable : err_no, flag
  echo [test1 start]&call :cmp2 a.txt a.txt
  echo [test2 start]&call :cmp2 a.txt b.txt
  echo [test3 start]&call :cmp2 a.txt x.txt
  echo [test4 start]&call :cmp2 x.txt a.txt
  echo [test5 start]&call :cmp2 x.txt x.txt
  :end
  del a.txt b.txt c.txt
  endlocal
  goto :eof
  :cmp
  set /a flag=0
  if not exist %1 set /a flag = 2
  if not exist %2 set /a flag += 4
  if %flag% gtr 0 set err_no=%flag%&goto :eof
  if %~z1 neq %~z2 set err_no=1&goto :eof
  set err_no=0&goto :eof
  :cmp2
  call :cmp %1 %2
  call :errmsg %err_no%
  goto :eof
  :errmsg
  if %1 equ 6 echo *** error: file 1 and 2 not found ***
  if %1 equ 4 echo *** error: file 2 not found ***
  if %1 equ 2 echo *** error: file 1 not found ***
  if %1 equ 1 echo *** error: unmatched sizes of file ***
  if %1 equ 0 echo === same sizes of file ===
  echo:&goto :eof

  996 :名無し~3.EXE:2007/04/14(土) 22:30:16 ID:/RBcjwqG
  ume

  997 :名無し~3.EXE:2007/04/14(土) 22:47:52 ID:hbxFcMHM
  次スレをたてましょうか?

  998 :名無し~3.EXE:2007/04/14(土) 22:57:23 ID:hbxFcMHM
  次スレ.
  ユーザー必読!コマンドライン(DOS Pt.6)
  http://pc11.2ch.net/test/read.cgi/win/1176558776/l50
  サブジェクトが長過ぎるため, 新規スレがたてられなかったので, タイトル(サブジェクト)を変更しました.

  999 :名無し~3.EXE:2007/04/14(土) 23:00:28 ID:hkKg08IN
  乙.

  1000 :名無し~3.EXE:2007/04/14(土) 23:17:02 ID:NDOCwV5G
  続きは,
  次スレ.
  ユーザー必読!コマンドライン(DOS Pt.6)
  http://pc11.2ch.net/test/read.cgi/win/1176558776/l50

  1001 :1001:Over 1000 Thread
  このスレッドは1000を超えました.
  もう書けないので, 新しいスレッドを立ててくださいです. . .

278 KB [ 2ちゃんねる 3億PV/日をささえる レンタルサーバー \877/2TB/100Mbps]
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 05.0.4.6 2007/03/20
FOx * DSO(Dynamic Shared Object)


_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/