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


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

  1 :名無し~3.EXE:2007/04/14(土) 22:52:56 ID:hbxFcMHM
  適材適所で 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.
  質問も歓迎だけど, 自分で調べて勉強する努力も忘れずに.

  2 :名無し~3.EXE:2007/04/14(土) 22:53:39 ID:hbxFcMHM
  関連スレ.
  バッチファイルプログラミング 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

  3 :名無し~3.EXE:2007/04/14(土) 22:55:18 ID:hbxFcMHM
  初心者〜管理者まで必読!コマンドライン(DOS Pt.6)
  と入れようとしたら,
  「サブジェクトが長過ぎます」
  と警告されて, スレがたてられなかったので, 上記のように変更しました.

  4 :名無し~3.EXE:2007/04/15(日) 10:32:11 ID:SIUF16m0
  乙.

  5 :名無し~3.EXE:2007/04/15(日) 18:28:27 ID:OzCFcZOC
  名無し~3.EXEは良くない.
  名無し~3.COMか名無し~3.BATにするべきだ.

  6 :名無し~3.EXE:2007/04/15(日) 18:55:01 ID:P6RjSyHQ
  rundll32 kernel32.dll, SetSystemPowerState
  は効かないのはなぜだろ.

  7 :名無し~3.EXE:2007/04/16(月) 05:35:16 ID:QcQIt7Ek
  Win2000 & IME2000 な環境で.
  キーボードのプロパティと MS IME 2000 のプロパティを.
  コマンドラインから呼ぶ方法ってある?

  8 :名無し~3.EXE:2007/04/16(月) 09:05:09 ID:YwiqOVSM
  キーボードのプロパティは control keyboard
  IME2000は知らないがプロパティ開いた時にタスクマネージャ等で.
  起動プロセス名を確認したらいいんじゃないかな.

  9 :名無し~3.EXE:2007/04/16(月) 20:38:24 ID:lm+JRBwI
  できたできた. ありがとう.
  >8のとおりキーボードのプロパティは.
  control.exe keyboard で, IME2000 は.
  IMEJPUEX.EXE で行けた.
  話は変わって, 前スレで XP から 2000に.
  TASKKILL, TASKLIST をコピーすれば使える的な.
  話が出てたけど, XP じゃないと使えませんって.
  メッセージが出て無理だったよ.
  バージョン次第なのかもしれないけど一応報告.

  10 :名無し~3.EXE:2007/04/22(日) 17:26:15 ID:gGQB4N53

  11 :名無し~3.EXE:2007/05/04(金) 03:38:10 ID:DU0ceJxS
  すいません.
  for文で` " `(二重引用符)を区切り文字にしたいのですが,
  for /f "delims=^"" %%A
  と書いてもうまくいきません.
  他にも一重引用符や逆引用符でくくってみたのですが, 結果は同じでした.
  Cueシートを参照したいのでどうしても二重引用符を区切り文字にしたいのですが.
  どうにかならないでしょうか?

  12 :名無し~3.EXE:2007/05/04(金) 05:44:13 ID:Hk96JH7Z
  どうにかすることも出来るけど, cueシートの操作はwshとかの方がいいよ.

  13 :11:2007/05/04(金) 07:58:10 ID:DU0ceJxS
  >>12
  wshというものの存在をはじめて知りました・・・勉強して出直してきます.
  ただCueシートから参照した文字列を, 最終的にCLIアプリケーションに送りたいのですが,
  Windows Script Hostというのはそういったことも可能なのでしょうか?

  14 :名無し~3.EXE:2007/05/04(金) 08:05:45 ID:KUqa9e+R
  その前で一旦何かに置換しとけば?
  たとえば,
  set xxx=%aaa:"=, %

  15 :名無し~3.EXE:2007/05/04(金) 08:08:03 ID:Hk96JH7Z
  >>13
  可能だよ.

  16 :11:2007/05/04(金) 08:37:14 ID:DU0ceJxS
  >>14-15
  やりかたが悪いのかもしれませんが, 置換ではうまくいきませんでした. orz.
  見識を深めると思って素直にwshを勉強します.
  ありがとうございました.

  17 :名無し~3.EXE:2007/05/04(金) 16:01:49 ID:SLT3oq8P
  教えていただきたいことがあります.
  shutdown -s -t 0
  をバッチファイルで実行すると,
  C:\>shutdown -s -t 0
  が, 繰り返し表示されるだけでWindowsが終了しません.
  次に,
  echo a
  shutdown -s -t 0
  echo b
  を, バッチファイルで実行すると,
  C:\>echo a
  a
  C:\>shutdown -s -t 0
  が繰り返し表示されるのみでWindowsが終了せず, またecho bまで到達して.
  いないように見えます.
  shutdown -sをバッチファイルで実行して, Windowsを終了させるにはどうしたら.
  いいのでしょうか.

  18 :名無し~3.EXE:2007/05/04(金) 16:23:49 ID:KUqa9e+R
  エスパーな俺がお前のBATファイル名はshutdown.batだと透視した.

  19 :名無し~3.EXE:2007/05/04(金) 16:29:21 ID:6iB+pe0c
  >>18
  キミ, マジで天才.

  20 :17:2007/05/04(金) 16:42:26 ID:SLT3oq8P
  >>17
  思わず後ろを振り返っちまっただよ.
  カレントディレクトリの方がPATHのディレクトリ群よりも優先されるということ.
  ですか?

  21 :名無し~3.EXE:2007/05/04(金) 19:43:35 ID:EyJempdz
  >20
  爆笑.

  22 :名無し~3.EXE:2007/05/04(金) 21:43:22 ID:R5kvvwgs
  乙.

  23 :名無し~3.EXE:2007/05/05(土) 15:50:54 ID:kP//l2AG
  un信じrable

  24 :名無し~3.EXE:2007/05/07(月) 19:25:07 ID:Num9bxOL
  自問自答自讃でもいいから新ネタでお願いします.

  25 :名無し~3.EXE:2007/05/08(火) 21:33:06 ID:sjfhnHyh
  ネタ投下.
  md con.\
  ってどういう理屈でそういう結果になるの?

  26 :名無し~3.EXE:2007/05/09(水) 01:16:38 ID:Hl8Z3A4f
  conはMSDOS予約デバイス名.
  昔conconバグがブラクラに流用されてWindowsが落とされる問題が頻発した.
  conconバグは修正されたが, Windowsには予約デバイス名を含むファイル名の.
  扱いに今なおバグが潜んでいる.
  よって>>25の挙動も単なるバグ.
  と実行もしていないのに言ってみるテスツ.

  27 :名無し~3.EXE:2007/05/09(水) 12:01:51 ID:bjubhlyI
  教えていただきたいことがあります.
  WIN2Kでレジストリの内容を読み出して環境変数に値をセットしたいのですが.
  "C:\Documents and Settings"のように値に空白が含まれていると.
  ググって拾ったバッチでは, うまく動きません.
  とりあえず.
  REG QUERY サブキー エントリ | SED エントリで抜く > 一時ファイル.
  for /f "delims=, " %%f in (一時ファイル) Do SET REG=%%f
  で目的は果たしたのですが.
  for文のコマンドの中にパイプが組み込めないので.
  バッチが2行になり, なんとなく負けた感じがするので.
  一時ファイルを作成しないことを前提に.
  1. REG.EXE 以外は, 標準コマンドもしくはマイクロソフト提供ツールを使用.
  または.
  2. フリーのツールを使用.
  上記の条件でバッチでレジストリの内容を環境変数に値をセットする方法ってあるのでしょうか?

  28 :名無し~3.EXE:2007/05/09(水) 12:26:22 ID:eIs+wjw8
  昔はパイプ使ってても, 実際には一時ファイルが作られていたけど.
  最近のはさすがにそんなことはないのだろう.
  >>27 へのレスは.
  「わかりません」.

  29 :名無し~3.EXE:2007/05/09(水) 13:20:42 ID:fkBIoDjl
  >>27
  > for文のコマンドの中にパイプが組み込めないので.
  パイプを^でエスケープ.

  30 :名無し~3.EXE:2007/05/09(水) 17:12:00 ID:ADeKrMMD
  >>27
  >パイプ.
  SED使わずにやればいいのに.
  >?
  つwsh
  またはwmic.exe(?) <-2000で使えたっけ?

  31 :27:2007/05/09(水) 18:13:37 ID:bjubhlyI
  >>28-30
  レストンクス.
  >>30
  >SED使わずにやればいいのに.
  例えば REG QUERY サブキー "SENDTO" の出力が.
  -ここから-----------------------
  ! REG.EXE VERSION 3.0
  サブキー.
  空白 SENDTo タブ REG_SZ タブ C:\Documents and Settings.......
  -ここまで-----------------------
  と出てくるので C:\Documents and Settings....... を.
  SEDを使わずに取り込む方法のご教示をお願いします.

  32 :名無し~3.EXE:2007/05/09(水) 18:51:00 ID:ADeKrMMD
  for /f "tokens=1-2*" %%1 in ( ) do if %%1=SENDTo set reg=%%3
  かな?

  33 :名無し~3.EXE:2007/05/09(水) 19:01:53 ID:0CVMi5If
  setlocal
  for /f "skip=4 tokens=3 delims= " %%I in ('reg query 完全キー名 /v 値名') do set
  reg%%I
  echo %reg%
  endlocal

  34 :名無し~3.EXE:2007/05/09(水) 19:05:05 ID:0CVMi5If
  2行目.
  set reg=%%I
  に修正して.
  それとdelims=の後には空白ではなくTabが入ってる.

  35 :名無し~3.EXE:2007/05/09(水) 19:19:38 ID:fkBIoDjl
  >>32
  skip=4の方がシンプルでいいと思うけど.
  >>33-34
  値にタブが入ってるとアウト.

  36 :名無し~3.EXE:2007/05/09(水) 19:34:54 ID:0CVMi5If
  >>35
  なるほど. でもファイルパスって前提があるのでは?
  そういうこと言ったら, キー名に空白が入ってたらアウトってのも言える.

  37 :名無し~3.EXE:2007/05/09(水) 19:36:28 ID:0CVMi5If
  キー名じゃなくてキーの値の名前だった. orz.

  38 :名無し~3.EXE:2007/05/09(水) 19:58:27 ID:fkBIoDjl
  >>36
  > ファイルパスって前提.
  そういやそうだった・・・. orz.
  35は忘れてくれ.

  39 :名無し~3.EXE:2007/05/09(水) 19:58:51 ID:0CVMi5If
  文句だけ言って修正方法を示してなかった.
  for /f "skip=4 tokens=2* delims= " %%I in ('reg query 完全キー名 /v "値名"') do set
  reg=%%J

  40 :27:2007/05/09(水) 20:21:29 ID:bjubhlyI
  >>32-39
  レストンクス.
  >>32
  >for /f "tokens=1-2*" %%1 in ( ) do if %%1=SENDTo set reg=%%3
  は.
  for /f "tokens=1-2*" %%1 in ( ) do if %%1==SENDTo set reg=%%3
  ですよね.
  全部の方法で出来ました.
  ご教示ありがとうございました.

  41 :名無し~3.EXE:2007/05/11(金) 11:16:52 ID:stFG0Iol
  schtasksでタスクを登録するときに, 「タスクの実行時にスリープを解除する」をONにするにはどうしたらいいですか.

  42 :名無し~3.EXE:2007/05/11(金) 15:16:11 ID:Fg7QQDj2
  >>41
  jt.exeを使用して, プロパティにSystemRequired=1を指定する.
  http://www.windows-world.jp/ms_support/-/18422-2.html
  -- Sample.txt ----------------
  !SD Sample.job
  /CTJ StartDate = Today StartTime = NOW Disabled = 0 Type = Daily TypeArguments
  = 1
  /SJ SystemRequired=1 ApplicationName = Notepad.exe WorkingDirectory = C:\
  Comment = "サンプル ジョブ" Creator = "名無し~3.EXE" Priority = Normal MaxRunTime =
  86400000 DeleteWhenDone = 1
  /SC (コンピュータ名)\(アカウント名) (パスワード)
  /SAJ Sample.job
  /PJ
  ------------------------------
  >jt @sample.txt
  >jt /lj %systemroot%\tasks\sample.job /pj

  43 :名無し~3.EXE:2007/05/11(金) 20:20:42 ID:stFG0Iol
  >42
  どうもありがとうございます.
  やってみます.

  44 :名無し~3.EXE:2007/05/14(月) 00:43:43 ID:XMJhZ/Pp
  環境変数を展開させないようにすることってできるんでしょうか?
  (例えば mkdir %USERNAME% とやると %USERNAME% というフォルダが作成される etc)

  45 :名無し~3.EXE:2007/05/14(月) 00:51:50 ID:66G3PQU8
  コマンドプロンプトとバッチファイルで異なる.
  ^を適当に入れてコマンドプロンプトでは変数名を一致させないようにする.
  mkdir %^USERNAME%
  とか.
  バッチファイルでは%を%%でエスケープする.
  mkdir %%USERNAME%%

  46 :名無し~3.EXE:2007/05/14(月) 01:15:57 ID:6p7JJnAY
  FOR文のセットでコマンドを指定するとき, そのコマンドの引数に全角文字(日本語)は指定できないのでしょうか?
  バッチファイル内で, たとえば,
  dir /B "C:\ほげ\*"
  と記述して実行したときは問題なく「C:\ほげ」内を一覧表示してくれるのですが,
  その中のファイルに対して操作したいときに.
  for /F "skip=2" %%A IN ('dir /B "C:\ほげ\*"') do (
  echo %%Aとかいろんな処理.
  )
  とすると, 「ファイルが見つかりません」と表示されます.
  セットの部分だけを(dir /B "C:\hoge\*"')と書き換えると.
  「C:\hoge」内に対して問題なく処理できるので,
  この引数以外の部分については特に問題ないと思います.
  どなたかアドバイスよろしくお願いします.

  47 :46:2007/05/14(月) 01:20:12 ID:6p7JJnAY
  ちなみに, 引数の部分のみ変数に入れてもダメでした.
  set FILEPATH=C:\ほげ\*
  for /F "skip=2" %%A IN ('dir /B "C:\ほげ\*"') do .....
  でも「ファイルが見つかりません」と出ます.
  どうしよう. orz.

  48 :名無し~3.EXE:2007/05/14(月) 01:20:24 ID:MCFCwKH0
  ほげを省略せずに具体的な値を出せばどうかな?
  おそらく, そのパスの中にスペースが入ってるとかでは?"delims="

  49 :46:2007/05/14(月) 01:56:09 ID:6p7JJnAY
  即レスありがとうございます. >>48
  delims=を指定しないとスペースで結果が勝手に区切られてしまうのは見落としていました.
  どうもありがとうございました.
  ですが, あれからいろいろためしてみましたが未だに解決しておりません. orz.
  実際にFILEPATHに入れた値ですが, 「D:\bkuptest\ほげ\bkup_ほげ_\」です.
  for /F "skip=2 delims=" %%A IN ('dir /B /O:-N "%FILEPATH%"') do (
  echo %%A
  )
  と書いて実行したところ, 「ファイルが見つかりません. 」といわれて中の処理は実行されません.
  また, その直前の行に「dir /B /O:-N "%FILEPATH%"」をそのままコピーして追加したところ,
  この追加したdirは問題なく実行されました.
  そのままコピーしてもFOR文のセットに指定するとダメなんて・・・. orz.
  どなたかアドバイスありましたらよろしくお願いします.

  50 :46:2007/05/14(月) 01:57:05 ID:6p7JJnAY
  書き忘れましたが,
  set FILEPATH=D:\bkuptest\ほげ\bkup_ほげ_\
  を直前に記述しています.
  よろしくお願いします.

  51 :名無し~3.EXE:2007/05/14(月) 02:22:40 ID:MCFCwKH0
  D:ドライブが無いので, Z:ドライブに変更して実行してみたが.
  set FILEPATH=Z:\bkuptest\ほげ\bkup_ほげ_\
  for /f "delims=" %%A in ('dir /B /O:-N "%FILEPATH%"') do (
  echo %%A
  )
  これでちゃんと表示されたよ. (WindowsXP)

  52 :名無し~3.EXE:2007/05/14(月) 03:11:22 ID:MCFCwKH0
  Windows2000だと, forのコマンド解析のバグなのか一部の日本語を使うとおかしくなるね.
  日本語1文字(2バイト)につき1バイトずつ減るようだ.
  set FILEPATH=Z:\bkuptest\ほげ\bkup_ほげ_\
  dir /B /O:-N "%FILEPATH%>tmp.txt
  for /f "delims=" %%A in ('type tmp.txt"') do (
  echo %%A
  )
  とするしかないのかも.

  53 :名無し~3.EXE:2007/05/14(月) 03:28:34 ID:MCFCwKH0
  この場合, 4バイト減るので後ろにダミー文字4文字をくっ付ければ通る.
  for /f "delims=" %%A in ('dir /B /O:-N "%FILEPATH%"1234') do (
  トリッキーだが,
  for /f "delims=" %%A in ('dir /B /O:-N
  "%FILEPATH%"^&::::::::::::::::::::::::::::') do (
  とでもすれば汎用で通るようになる.

  54 :名無し~3.EXE:2007/05/14(月) 03:29:57 ID:66G3PQU8
  FORの問題なら遅延展開にすれば回避できるかも.
  ただしIN ('コマンド')はサブシェルで実行されるので.
  IN ('cmd /v:on /c dir /b "!filepath!"')
  みたいに.

  55 :名無し~3.EXE:2007/05/14(月) 03:34:38 ID:66G3PQU8
  あとパイプを使う方法もありかな.
  dir ... | for ... in ('more')
  でもパイプはいろいろ難しいことがあるから使わずに済めば.
  それに越したことはない.

  56 :名無し~3.EXE:2007/05/14(月) 03:49:41 ID:66G3PQU8
  そうだ所詮サブシェルで実行されるので%%で遅延展開すれば済むね.
  IN ('dir /b "%%filepath%%"')
  みたいに.

  57 :46:2007/05/14(月) 12:39:32 ID:6p7JJnAY
  >>51-56
  Windows2000だったのでご指摘の問題があったようです.
  %%FILEPATH%%としたところ問題なく動きました.
  どうもありがとうございました.

  58 :名無し~3.EXE:2007/05/14(月) 21:03:27 ID:eTP8kcfM
  こんばんわ.
  hogehoge20070514hogehoge.dmpのような日付入りファイル名が.
  毎日作られるフォルダで, 最新のファイルから3ヶ月より古いファイルを.
  削除するバッチファイル作成するのですが.
  頭の中でアルゴリズムができてるのですがいまいち実現までいきません・・.
  for /f "skip=93" %%F in ('dir /b /o-n') do del %%F
  で約3ヶ月分以降を消すっていうのでは依頼者が納得しないそうです.
  ディレクトリの中で最終更新日が一番新しい物を見つけてそれをsetで変数に.
  入れる方法を教えてくれませんか?
  そのあとは自分でいろいろ考えてみます.

  59 :名無し~3.EXE:2007/05/14(月) 23:16:54 ID:MCFCwKH0
  >>58
  依頼者とか言うからには, 君ソフトウェア設計者なんだろ?
  じゃあそれらしくちゃんとした質問しろよ.
  ・前提条件として, 外部プログラム(GNU等フリーソフト)を使っても構わないのか.
      またはJava/VBスクリプトの使用は?
  ・対象OSは?
  ・それと標準BATコマンドのみだとしても, アルゴリズムも全然できてないじゃん.
    出来てたら終わってるはず.
    素直なアルゴリズムの例を一つ示してやるから後は自分で調べろ.
    step1: 今日の日付を求める.
    step2: 今日の日付をある基準日を0日とする通算日付に変換する(一般化するとユリウス日)
    step3: 3ヶ月前が何日分前か求める.
    step4: step2からstep3を引いてターゲット日として保存する.
    step3: 以下をファイルの存在する限り繰り返す.
    step4:    ファイル名から日付を取り出す.
    step5:    日付を通算日付に変換する.
    step6:    ターゲット日と比較する(ループ中なので遅延環境変数展開を必要とする)
    step7    より小さい日付なら削除する.
  日付変換サブルーチン.
  ・日付を, 年, 月, 日に分解する.
  ・各月の日数  31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
  ・4で割り切れる年はうるう年  2月は29日.
  ・100で割り切れる年はうるう年ではない.
  ・2000で割り切れる年はうるう年.
  ・オプションで, 特殊日付をサポートする(-1月とか13月とか35日とかも受け付ける)
  ・日数を返す.
  これを素直に実現してもいいし(メンテが楽), 一意の変換式としてもある.

  60 :名無し~3.EXE:2007/05/14(月) 23:22:12 ID:MCFCwKH0
  ・4で割り切れる年はうるう年.
  ・100で割り切れる年はうるう年でない.
  ・400で割り切れる年はうるう年.
  ・2000で割り切れる年はうるう年ではない.
  の間違い.

  61 :名無し~3.EXE:2007/05/14(月) 23:26:54 ID:MCFCwKH0
  すまそ.
  ・2000で割り切れる年はうるう年ではない.
  は間違いのようだ. 記憶違いだったみたい.

  62 :名無し~3.EXE:2007/05/14(月) 23:40:16 ID:MCFCwKH0
  質問の直接の回答だが,
  %%~tI : %%Iのファイルの最終更新日.

  63 :名無し~3.EXE:2007/05/15(火) 00:31:30 ID:dFS1GUhg
  キミ, マジで天才.

  64 :名無し~3.EXE:2007/05/15(火) 01:12:22 ID:GKCxdgkd
  >>58のはファイル名に入ってる日時を基準にしたいのか, ただ単に例として挙げただけで.
  ファイル名全然関係なくて更新日時だけ相手にしてりゃいいのか, ようわからんわ.

  65 :名無し~3.EXE:2007/05/15(火) 09:33:45 ID:TTbohgLv
  サブルーチンだけ作ってみた. バグがあるかもしれんが. (WindowsXP)
  @echo off
  rem パラメタ %1: YYYYMMDD または YYYY/MM/DD 日付.
  rem パラメタ %2: -d -m 差分区分(-d:日数 -m:月数)
  rem パラメタ %3: 差分数.
  rem 返り値 %YYYYMMDD%, %days% 計算後の文字列日付と通算日数.
  rem
  rem 西暦2000月3月1日を基点に日数計算.
  rem 1年は3月から始まり2月で終わることとする.
  rem --------------------------------------------------
  rem    3  4  5  6   7  8 9  10  11  12  01  02月    月号.
  rem    0  1  2  3   4  5  6  7  8 9  10  11月    新月号.
  rem  31  30  31  30  31  31  30  31  30  31  31  28
  rem  0  31  61  92 122 153 184 214 245 275 306 337      年頭からの通算日.
  rem --------------------------------------------------
  setlocal EnableDelayedExpansion
  set days_table=312831303130313130313031
  set YYYYMMDD=%1
  set YYYYMMDD=%YYYYMMDD:/=%
  set YY=%YYYYMMDD:~0, 4%
  set MM=%YYYYMMDD:~4, 2%
  set DD=%YYYYMMDD:~6%
  if "%MM:~0, 1%"=="0" set MM=%MM:~1%
  if "%DD:~0, 1%"=="0" set DD=%DD:~1%

  66 :名無し~3.EXE:2007/05/15(火) 09:34:46 ID:TTbohgLv
  if "%2" equ "-d" (
  call :ADtoTD %YY% %MM% %DD%
  set /a days = !days! + %3
  call :TDtoAD !days!
  goto :end
  )
  if "%2" neq "-m" (
  call :ADtoTD %YY% %MM% %DD%
  goto :end
  )
  set /a Y1 = %3 / 12
  set /a Y2 = %3 %% 12
  set /a YY += Y1
  set /a MM += Y2
  if %MM% LEQ 0 set /a YY -= 1, MM += 12
  if %MM% GTR 12 set /a YY += 1, MM -= 12
  set /a mon = (MM - 1) * 2
  set max=!days_table:~%mon%, 2!
  if %MM%==2 (
  set /a mod4 = %YY% %% 4
  set /a mod100 = %YY% %% 100
  if !mod4! neq 0 goto xxx
  if !mod100! equ 0 goto xxx
  set /a max += 1
  )

  67 :名無し~3.EXE:2007/05/15(火) 09:36:01 ID:TTbohgLv
  :xxx
  if %DD% GTR %max% set DD=%max%
  set MM=0%MM%
  set MM=%MM:~-2%
  set DD=0%DD%
  set DD=%DD:~-2%
  set YYYYMMDD=%YY%%MM%%DD%
  call :ADtoTD %YY% %MM% %DD%
  :end
  endlocal & set YYYYMMDD=%YYYYMMDD% & set days=%days%
  echo %YYYYMMDD%
  goto :eof

  68 :名無し~3.EXE:2007/05/15(火) 09:36:43 ID:TTbohgLv
  rem -----------------------------
  rem 西暦を通算日に変換する.
  rem -----------------------------
  :ADtoTD
  set totaldays_table= 00 31 61 92122153184214245275306337
  set /a YY = YY - 2000
  if %MM% LEQ 2 set /a YY -= 1
  set /a MM = (MM + 9) %% 12
  set /a days = YY * 365 + (YY / 4) - (YY / 400)
  set /a mon = MM * 3
  set /a days += !totaldays_table:~%mon%, 3! + %DD% - 1
  endlocal & set days=%days%
  goto :eof

  69 :名無し~3.EXE:2007/05/15(火) 09:37:29 ID:TTbohgLv
  rem -----------------------------
  rem 通算日を西暦に変換する.
  rem -----------------------------
  :TDtoAD
  set days=%1
  set /a d1 = days / 146097
  set /a a1 = days %% 146097
  set /a d2 = a1 / 36524
  set /a a2 = a1 %% 36524
  if d2 equ 4 set /a d2 -= 1, a2 += 36524
  set /a d3 = a2 / 1461
  set /a a3 = a2 %% 1461
  set /a d4 = a3 / 365
  set /a a4 = a3 %% 365
  if d4 equ 4 set /a d4 -= 1, a4 += 365
  set /a d5 = a4 / 153
  set /a a5 = a4 %% 153
  set /a d6 = a5 / 61
  set /a a6 = a5 %% 61
  set /a d7 = a6 / 31
  set /a a7 = a6 %% 31
  set /a YY = 400*d1 + 100*d2 + 4*d3 + d4 + 2000
  set /a MM = 5*d5 + 2*d6 + d7 + 3
  set /a DD = a7 + 1
  if %MM% GTR 12 set /a MM -= 12 , YY += 1
  set MM=0%MM%
  set MM=%MM:~-2%
  set DD=0%DD%
  set DD=%DD:~-2%
  endlocal & set YYYYMMDD=%YY%%MM%%DD%
  goto :eof

  70 :名無し~3.EXE:2007/05/15(火) 09:51:27 ID:TTbohgLv
  補足.
  >>59のアルゴリムは少し考えが足りなかったので, サブルーチン側で差分日まで.
  算出し, その日付を返すようにした. 環境変数  %YYYYMMDD%
  使い方  BAT名を仮にgetdate.batとすると.
  2ヶ月前の日付を求める場合.
  getdate 20070515 -m -2
  63日後の日付を求める場合.
  getdate 20070515 -d 63

  71 :名無し~3.EXE:2007/05/16(水) 12:56:13 ID:7/cOdyGm
  自演?

  72 :名無し~3.EXE:2007/05/17(木) 18:11:54 ID:xG9pEqHy
  wsh使ったほうが簡単なのにご苦労さん.

  73 :名無し~3.EXE:2007/05/17(木) 18:29:25 ID:818pu52B
  ちゃんと月数で日にちまで補正してくれるね.
  20080331 -m -1 = 20080229
  20080331 -m -13 = 20070228

  74 :名無し~3.EXE:2007/05/17(木) 18:43:17 ID:818pu52B
  >>72
  >・前提条件として, 外部プログラム(GNU等フリーソフト)を使っても構わないのか.
  >    またはJava/VBスクリプトの使用は?
  と聞いてるので, そこら辺はちゃんと分かっていて, 敢てBATのみで作成したのでは?

  75 :名無し~3.EXE:2007/05/18(金) 12:18:21 ID:N8xUsF93
  あるフォルダの中にあるファイルの名前全てに環境変数を設定したいと思い, 自分なりに調べて.
  記述してみました. 多分間違っていると思うので間違っている箇所を指摘していただけませんか?
  rem フォルダ名:abc フォルダの中のファイル名:aaa.jpg bbb.jpg ccc.jpg
  rem フォルダの絶対パス:c:\abc
  rem bat名:aaa.bat
  @echo off
  set list=
  for %%I in (c:\b\*) do call set list=%%list%%;%%~nI
  echo %list%
  pause
  rem 実行結果「;aaa;bbb;ccc」
  %list%がaaa, bbb, cccという文字列全てを指すという状況を作りたいです.
  (違うフォルダ内のファイル名と比較して同名の物があればリネームというのをやってみたいので. )
  よろしければどなたか間違いを指摘していただけませんか?

  76 :名無し~3.EXE:2007/05/18(金) 12:19:57 ID:N8xUsF93
  すみません.
  for %%I in (c:\abc\*) do call set list=%%list%%;%%~nI
  でした.

  77 :27:2007/05/18(金) 17:26:22 ID:QurTryuC
  ネタ投稿!
  教えていただきたいことがあります.
  SREP / 標準入力ファイルをコマンドに渡して実行 http://dmz.xrea.jp/dahlia/soft/index_s.html#SREP
  このソフトは, DOS・95・98で動いていて重宝していたのですが, WIN2K以降で動きません.
  ECHO:DIR *.* | SREP -Bx を実行すると DIR *.* の動作をします.
  :SETTEMP
  SET TEMPBAT=%RANDOM%
  IF
  ECHO:DIR *.* >

  78 :27:2007/05/18(金) 17:38:32 ID:QurTryuC
  途中で書き込みしてしまいました.
  ネタ投稿!
  教えていただきたいことがあります.
  SREP / 標準入力ファイルをコマンドに渡して実行 http://dmz.xrea.jp/dahlia/soft/index_s.html#SREP
  このソフトは, DOS・95・98で動いていて重宝していたのですが, WIN2K以降で動きません.
  ECHO:DIR *.* | SREP -Bx を実行すると DIR *.* の動作をします.
  :SETTEMP
  SET TEMPCMD=%RANDOM%.CMD
  IF EXIST %TMP%\%TEMP.CMD% Go To :SETTEMP
  ECHO:DIR *.* > %TMP%\%TEMP.CMD%
  %TMP%\%TEMP.CMD%
  でやっていますが.
  これを一時ファイルを作成しないで1行で実行する方法ってあるのでしょうか?
  ECHO:DIR *.* の部分はいろんなパターンがあります.

  79 :名無し~3.EXE:2007/05/18(金) 18:57:24 ID:U0IwhG1h
  >>78
  DIR *.*

  80 :27:2007/05/18(金) 19:54:01 ID:QurTryuC
  >>79
  レストンクス.
  行数が長くなって内容を省いていたので命題そのものを説明します.
  A. CSV
  あああ, 111, 222, ....................................
  いいい, 222, 333, ....................................
  あああ, 111, 333, ....................................
  ううう, 333, 444, ....................................
  というCSVファイルから.
  あああ.CSV
  111, 222, ....................................
  111, 222, ....................................
  いいい.CSV
  222, 333, ....................................
  ううう.CSV
  333, 444, ....................................
  のように元CSVファイルの一列目の名前でファイル名を作り, 二列目以降のデータを内容にするバッチを.
  SEDとUNIQとSORTとSREPを組み合わせて作っていましたが(ECHO:DIR *.*に当たる部分)
  WIN2KでSREPが使えないための代替手段を探しています.

  81 :名無し~3.EXE:2007/05/18(金) 20:18:56 ID:U0IwhG1h
  >>80
  set x=DIR *.*
  %x%
  または.
  echo DIR *.*|cmd.exe

  82 :名無し~3.EXE:2007/05/18(金) 21:33:23 ID:qUpsnBjq
  これでできそうな気がするが, 「>」とか含まれてるとダメぽ.
  for /f "tokens=1* delims=, " %%A in ('type a.csv') do echo>>%%A.csv %%B

  83 :名無し~3.EXE:2007/05/18(金) 21:45:26 ID:99LGC3ci
  それ以前にこの順で書くとダメぽ.
  do echo>>%%A.csv %%B

  84 :名無し~3.EXE:2007/05/19(土) 12:44:30 ID:wGTZ/mM4
  Windows2000でUserグループのアカウントでログインしているときに.
  shutdown.exe -s -t 0で電源を切ることは可能なのでしょうか?
  ぐぐってみたところ, WindowsXPについているshutdown.exeはWindows2000でも利用可能なようなのですが,
  Windows2000で試してみたところ, 権限がないと言われてしまいます.
  事情により, Administratorsに入れるわけには行かないのですが,
  このような場合でもコマンドで電源を切ることは可能でしょうか?
  どなたかご存知の方アドバイスお願いします.

  85 :名無し~3.EXE:2007/05/19(土) 13:13:12 ID:gV4BneKY
  >>84
  もう結論が出てるじゃないですか.
  他のものを試してみては.
  Windows 2000/XP でログオフ/シャットダウン/再起動アイコンを作るには?
  http://homepage2.nifty.com/winfaq/w2k/boot.html#1179
  タイマー指定可能な小型軽量シャットダウンコマンド.
  http://www.vector.co.jp/soft/win95/util/se190882.html
  お勧めのシャットダウン プログラム.
  http://homepage2.nifty.com/kotkaga/note/604shutdown.html

  86 :名無し~3.EXE:2007/05/19(土) 18:20:22 ID:MzggPKBH
  >>84
  無理.

  87 :名無し~3.EXE:2007/05/19(土) 18:59:01 ID:MEXVxhB1
  runas.exe
  ショートカット詳細設定別の資格情報で実行する.
  タスクスケジューラ.

  88 :名無し~3.EXE:2007/05/20(日) 02:19:36 ID:Zd3Z0KcV
  >>87
  制限ユーザーにAdminのユーザー名とパスワード知られたら意味ないじゃん.

  89 :名無し~3.EXE:2007/05/20(日) 04:42:27 ID:dWDzVb/9
  あるフォルダの中の複数のファイルの更新日が30日以上前のものは.
  削除するというバッチファイルを作ることは可能でしょうか?
  もしよろしければヒントをいただけませんか?

  90 :名無し~3.EXE:2007/05/20(日) 05:38:46 ID:aqxTfgS4
  ヒント:過去ログ.

  91 :名無し~3.EXE:2007/05/21(月) 14:08:21 ID:0d+ZaNGt

  92 :名無し~3.EXE:2007/05/22(火) 23:57:15 ID:DXps0jfC
  age失礼します.
  FOR /F %A IN (A.txt) Do FINDSTR %A B.txt
  のようにAから取った文字列をB内で拾おうとしてます.
  Aに書かれている1行には半角スペースが含まれてます.
  その半角スペースも含めて1行をマッチング(完全一致ではない)させたいのですが,
  実行してみた結果, 半角スペース前の文字列だけでもマッチングしてしまい.
  取りたくない行を拾ってきてしまいます.
  半角スペースを含む1行をマッチングさせるには.
  どのようにしたらよいのでしょうか?

  93 :名無し~3.EXE:2007/05/23(水) 00:15:21 ID:SSq40r1e
  findstr /?
  そのものズバリの例が示されているわけだが.

  94 :名無し~3.EXE:2007/05/23(水) 00:25:56 ID:9lvFrJAs
  うむ. findstrだけでじゅうぶん. for要らない.
  つーかここにいるとfor病になってしまうのも頷けるが. . .

  95 :名無し~3.EXE:2007/05/23(水) 00:30:25 ID:z/fSw5qr
  >>93
  ありがとうございますm(_ _)m

  96 :名無し~3.EXE:2007/05/23(水) 00:35:02 ID:5wOgLhAV
  >ここにいるとfor病になってしまう.
  あー, あるある.

  97 :名無し~3.EXE:2007/05/23(水) 00:36:16 ID:z/fSw5qr
  >>94
  そうなんですか. . ありがとうございます.
  何かとFOR使ってしまうところがあって. .

  98 :名無し~3.EXE:2007/05/23(水) 00:47:57 ID:nAmeHJsa
  まあ, forの方の対処も覚えといて損はないよ.
  "delims="
  findstrの方は, /cかな.

  99 :名無し~3.EXE:2007/05/23(水) 00:51:20 ID:z/fSw5qr
  みなさん丁寧かつ迅速なレス, 本当にありがとうございます.
  >>98
  delimsで指定無しにすれば.
  デフォのスペースやタブを無効化できるということでしょうか?

  100 :名無し~3.EXE:2007/05/23(水) 00:52:47 ID:9lvFrJAs
  しかしこんな処理でforぶん回すのは実用的には愚の骨頂といっておこう.

  101 :名無し~3.EXE:2007/05/23(水) 00:55:13 ID:z/fSw5qr
  >>100
  言ってませんでしたが.
  A.txtには, 一応複数行あるんです><
  各行の文字列を使用するんです.

  102 :名無し~3.EXE:2007/05/23(水) 01:00:32 ID:9lvFrJAs
  つ  findstr /?
  つーかfindstr /l /g:A.txt B.txt

  103 :名無し~3.EXE:2007/05/23(水) 01:05:55 ID:z/fSw5qr
  >>102
  ありがとうございます.
  できた・・・.

  104 :名無し~3.EXE:2007/05/23(水) 06:39:32 ID:Z0KdSFHv
  普通に考えて find や findstr みたいなテキスト検索系が.
  複数行に対応していないわけがないと思わんのか.

  105 :名無し~3.EXE:2007/05/24(木) 21:11:54 ID:KEd+r5mO
  はあ?

  106 :名無し~3.EXE:2007/05/24(木) 23:03:32 ID:zlbejraP
  >>105
  「はあ?」とは思わんよ.
  解決した後に何の実にもならない文句だけ言う奴って. . . とは思ったけどね.

  107 :名無し~3.EXE:2007/05/25(金) 22:32:49 ID:fAyZ4XY3
  findは複数文字列サポートしてないだろ.

  108 :名無し~3.EXE:2007/05/26(土) 00:08:02 ID:nd32zRgJ
  はあ?

  109 :名無し~3.EXE:2007/05/26(土) 00:13:45 ID:g8UzYY61
  はぁ.

  110 :名無し~3.EXE:2007/05/26(土) 00:19:03 ID:YMAjJ4KA
  はっぁー.

  111 :名無し~3.EXE:2007/06/11(月) 07:47:49 ID:ieH1oTGK

  112 :名無し~3.EXE:2007/06/12(火) 18:04:25 ID:Ldj+OzYg
  どっひゃー.

  113 :名無し~3.EXE:2007/06/15(金) 00:15:35 ID:vhmYsLiT
  質問です.
  \hoge\ab\cd\e.txt
  \hoge\fg\hi\j.csv
  \hoge\kl\mn\o.exe
  と結構多目にディレクトリが複数あるときに.
  ファイルを1つ上位に移動して, 最下層のディレクトリを削除する.
  バッチファイルって作成可能でしょうか?
  (e.txtを\hoge\ab直下に移動して,
    cdディレクトリを削除するような処理です. )
  ren \hoge\*\*\*.* \hoge\*\
  rmdir \hoge\*\*
  が出来ない様なので困ってます.

  114 :名無し~3.EXE:2007/06/15(金) 00:47:46 ID:Ac8c+en4
  おまいらの大好物キタ---- !!

  115 :名無し~3.EXE:2007/06/15(金) 02:37:09 ID:yrhxNujk
  >>113
  具体的な書き方は私にも分かりませんが.
  \hoge\ab\cd\e.txt ファイルのフルパスを取得.
  cd フルパス  (これで \hoge\ab\cd\がカレントディレクトリになる)
  move *.* ..\  (1個上に移動させる)
  cd (とりあえずホームディレクトリにでも移動する. だってそこに居たままじゃディレクトリ削除できないもん)
  rmdir /s /q フルパス  (これで最下層のディレクトリが削除できたはず)
  フルパスの取得は batファイルの引数に直接 e.txt等のファイルを一々指定してあげる事が出来るなら.
  %~dp0 で取得できるけど, 多分引数で一々指定するのはダメなんだろうなぁ・・・.
  ダメなら  bat実行したディレクトリから下のディレクトリに向かって.
  1. もしディレクトリが存在するならその中に入る.
  2. 入った先にもディレクトリが存在するならさらにその下に入る.
  のように再帰処理で行くしかないんじゃないかなぁ. . . 大変そう.
  と, ココまで書いて具体的なbatファイルを動作確認せずにココにダイレクトに書いてみる事にする. w.
  再帰処理は無理なんで, 引数で指定するタイプでいきまっ.
  使い方は.
  バッチファイル名.bat C:\hoge\ab\cd\e.txt
  のように引数としてファイル名を与えてやって下さい.
  そしたら.
  C:\hoge\ab\ に e.txtを含む全てのcd\の中のファイルを1個上のab\直下に移動し,
  C:\hoge\ab\cd\  のcd\の中身が空になってれば削除します.
  いや, 動作確認して無いから動作するかどうか分からないけどね・・・.
  次のレスで貼り付けます.

  116 :名無し~3.EXE:2007/06/15(金) 02:37:47 ID:7qxhReqn
  こんな感じかな. XPで. あんまりディレクトリが一杯あるとどうなるのか判らない.
  メッセージは表示しないようになってるが, 移動と削除のecho表示するように.
  変更した方がよいかも.
  @echo off
  setlocal EnableDelayedExpansion
  if "%~1" equ "" (call :sub .) else call :sub "%~1"
  goto :eof
  :sub %1
  pushd %1
  set x=0
  for /f "tokens=*" %%I in ('dir /ad /b /on .') do (
  call :sub "%%I"
  set x=1
  if !y! equ 0 move /y "%%I\*.*" . >>nul & rd "%%I"
  )
  popd
  endlocal & set y=%x%
  goto :eof

  117 :名無し~3.EXE:2007/06/15(金) 02:38:42 ID:yrhxNujk
  @echo off
  REM このプログラムは引数を1個指定する必要がある為チェック.
  if %1=="" (
  echo 引数がありません. 引数を1つ指定してください.
  pause
  goto EOF
  )
  cd %~dp1
  REM このmoveの書き方自信無い.
  move /Y *.* ..\
  REM この判定の仕方自信無い.
  if exist %~dp1* (
  echo なぜかファイルが残っているのでディレクトリを削除できません.
  goto EOF
  ) else (
  cd
  rmdir /S /Q %~dp1
  )
  REM 自信が無いと書いたところでバグが発生しそう.
  pause

  118 :名無し~3.EXE:2007/06/15(金) 05:46:07 ID:PyeIb4Mu
  for /f "delims=" %%i in ('dir /b/s/ad') do move %%i\* %%i\..
  for /f "delims=" %%i in ('dir /b/s/ad') do rd %%i
  ファイルがねぇぞ. ゴルァ!! とか, ディレクトリが空じゃねぇぞ. ゴルァ!!とか.
  どばーっとエラーでるけど, 目的は達せられる.

  119 :名無し~3.EXE:2007/06/15(金) 18:45:34 ID:7cDfHIWt
  >>118
  途中の階層のディレクトリの中にファイルが存在してたらそのファイルまで移動されちゃうぞ.

  120 :名無し~3.EXE:2007/06/16(土) 00:12:08 ID:0FhZKQDj
  忘れ物だよ.
  つ  要件定義フェーズ.

  121 :名無し~3.EXE:2007/06/16(土) 05:37:33 ID:7bk03Znc
  >>119
  それでいいんじゃないの?
  >>113にはどこにも最下層のファイルだけ移動とは書いていないけど・・・.

  122 :名無し~3.EXE:2007/06/16(土) 08:48:31 ID:zaoBWCRQ
  要するに>>113は救いようもない程におバカだったってことだね.

  123 :名無し~3.EXE:2007/06/16(土) 14:38:01 ID:7bk03Znc
  ディレクトリが空だって判定するスマートな方法ってどうやるの?
  泥臭い・強引な方法ばかり思いつくんだが・・・.

  124 :名無し~3.EXE:2007/06/16(土) 19:02:59 ID:CXEmvWRn
  DIR /B "C:\hoge" | FIND /V "" > NUL で ERRORLEVEL=1 なら空.
  ってのは強引?

  125 :名無し~3.EXE:2007/06/18(月) 01:45:27 ID:H6wUdAfo
  読みやすさ優先ならfor /r と set /a ってなところだろうけどねぇ.

  126 :名無し~3.EXE:2007/06/18(月) 02:40:53 ID:YraK8n5o
  for /rって何だっけ?って思わずヘルプ(for /?)見ちゃったよ.

  127 :名無し~3.EXE:2007/06/21(木) 04:59:20 ID:s2INtICy
  cmd.exeって激しく使いにくいんだけど替わりになるフリーソフトって何かない?

  128 :名無し~3.EXE:2007/06/21(木) 08:18:21 ID:EssH3dBi
  つ[ActivePerl]

  129 :名無しさん@Vim%Chalice:2007/06/21(木) 16:00:44 ID:jQc8O4Oq
   つeshell
   cygwin+screen+ck代わりぐらいにと.
   stand aloneで自己完結. Cygwin無くても機能. 日本語可.
   xtermぐらいの表現力. screen程度には使える. ansi-colo
   r理解.
   bash, zsh, csh, tcsh, elisp...色々な要素ぱくっている.
   lispは意味不明. 超人lisperになるべし.
   ソース書換て自分仕様にフルカズタマイズして.
   NTemacs, Meadow上で暮らそうとか思ったんだけ.
   挫折気味...

  130 :名無しさん@Vim%Chalice:2007/06/21(木) 17:53:11 ID:jQc8O4Oq
   すまん大嘘こいてた.
   ansi-termはde ansi-termとかゆうマクロでフックしてたら.
   しい. .emacsに埋め込んでた...
   ansi-termはcygwinが必要.
   んで素のesheelは違うバッファで起動したら同じプロ.
   セス呼んでる.
   きっとどこかには誰か書いてるだろう便利lisp
   があれば割と逝けると思うんだけど.
   どこかないかな...
   deは独だったか. きっとどこかにあると思う.

  131 :名無し~3.EXE:2007/06/21(木) 22:57:58 ID:jQc8O4Oq
  標準でeshell -tすると意図どうりだった. orz.
  これを好きなキーに振れば大体同じ感じで使えるかな...

  132 :名無し~3.EXE:2007/06/22(金) 00:04:41 ID:ZAVgS6CQ
  どうせ単なるコマンドシェルだし, TABでの補完さえ出来ればそんなに気にならんけどなぁ.

  133 :名無し~3.EXE:2007/06/23(土) 03:10:03 ID:9gQ/tesN
  >TABでの補完.
  してる場合って, 実際をTABしたい場合はどうしてるんですか?
  かくいう漏れはCompletionCharにCtrl+FをアサインしてるCMD使い.

  134 :名無し~3.EXE:2007/06/23(土) 04:03:01 ID:NIt2miq6
  >>133
  TABはどんなとき入力してます?
  俺はここ数年TABの入力の必要性を感じたことがないけど.

  135 :名無し~3.EXE:2007/06/23(土) 07:36:40 ID:LpBOoalT
  あるとしたら正規表現中に\t入れるぐらいだわな.

  136 :名無し~3.EXE:2007/06/23(土) 14:38:32 ID:V6yGWUpq
  実Tabって使ったことないな.

  137 :名無し~3.EXE:2007/06/23(土) 15:02:52 ID:ckZdOOmB
  Tabはタブーだからね.

  138 :名無し~3.EXE:2007/06/23(土) 19:16:48 ID:LpBOoalT
  darega umaikoto ieto

  139 :名無し~3.EXE:2007/06/25(月) 00:47:46 ID:hpiSpCO4
  Tabが欲しいときはテキストエディタでBATファイルを作成するね.
  大体そういうものが必要な場合は複雑な場合が多いし,
  何度もやり直す必要も出てくるので, コマンドライン直打ちじゃやってられん.

  140 :名無し~3.EXE:2007/06/26(火) 16:01:39 ID:k8sDAltM
  for /l %%A in(0, 1, 31) do echo %%A
  で10未満の表示を00と二桁にしたいのですが, どうやったら良いのですか?

  141 :名無し~3.EXE:2007/06/26(火) 17:40:50 ID:ZLWahYoK
  setlocal EnableDelayedExpansion
  for /l %%A in (0, 1, 31) do set a=0%%A& echo !a:~-2!

  142 :名無し~3.EXE:2007/06/26(火) 19:01:40 ID:Bg2uMH0m
  tabはシステム環境変数に入れとくよ.

  143 :名無し~3.EXE:2007/06/26(火) 19:10:36 ID:Cd9m53It
  >>142
  それだと使いづらいよ.
  for /f やfindstrなんかで使うのに遅延環境変数を使わないけなくなる.

  144 :名無し~3.EXE:2007/06/26(火) 19:40:42 ID:WXGDVtW4
  TABを使いたい時だけcmd /f:offを実行して使い終わったらexit
  つかTABが必要なら別キーにアサインするのがオススメ.

  145 :名無し~3.EXE:2007/06/26(火) 20:59:48 ID:uoA+Xcia
  その別のキーの文字を入力したくなったらどうするのさ?

  146 :名無し~3.EXE:2007/06/27(水) 04:41:42 ID:TZPENXns
  >>144
  別のキーにアサインってどうやるの.
  まさかわざわざそのために常駐ソフトなんか入れないよね?

  147 :名無し~3.EXE:2007/06/27(水) 05:07:31 ID:Oz3Y82L1
  >>140ではありませんが>>141でやりたいことはできたのですが.
  以下の構文ではうまくいかなかった理由を教えてください.
  やりたかったこと:10未満を00と二桁にするしてリネームする.
  結果:hoge_01はできるが, hoge_02〜09(になってほしいファイル)がhoge_2〜9にリネームされる.
  rem ここから.
  setlocal enabledelayedexpansion
  set count=0
  for /f "usebackq delims=" %%A in (`dir "%~dp1" /a-d /b`) do (
  set /a count+=1
  if [!count!] lss [10] (set track=0!count!) else set track=!count!
  ren "%~dp1%%A" "hoge_!track!%~x1"
  )
  endlocal
  rem ここまで.
  やりたかったこと:9以下を00と二桁にするしてリネームする.
  結果:hoge_01〜09はできるが, hoge_10(になってほしいファイル)以降も010などにリネームされる.
  rem ここから.
  setlocal enabledelayedexpansion
  set count=0
  for /f "usebackq delims=" %%A in (`dir "%~dp1" /a-d /b`) do (
  set /a count+=1
  if [!count!] leq [9] (set track=0!count!) else set track=!count!
  ren "%~dp1%%A" "hoge_!track!%~x1"
  )
  endlocal
  rem ここまで.

  148 :名無し~3.EXE:2007/06/27(水) 06:06:13 ID:TZPENXns
  >>147
  [数字]だと文字列の比較になるので.
  []を取っ払えば数字としての比較になる.

  149 :名無し~3.EXE:2007/06/27(水) 06:22:22 ID:Oz3Y82L1
  >>148
  そうだったんですか!
  if構文のときはいつもこの書き方でったので.
  これが問題だとはまったく思い至りませんでした.
  ありがとうございました!

  150 :名無し~3.EXE:2007/06/27(水) 06:47:21 ID:TZPENXns
  ついでに, 同じディレクトリでのリネームは危険.
  リネーム後のファイルがあらためて検索対象になることがある.
  どういう場合にそうなるのかは宿題.

  151 :名無し~3.EXE:2007/06/27(水) 09:27:05 ID:VWf9EHKN
  曲芸みたいなことまでして0パディングするぐらいなら,
  素直にWSHで作って欲しいわ.
  見づらくて仕方がない.

  152 :名無し~3.EXE:2007/06/27(水) 17:47:58 ID:2QApMI8R
  >>143
  遅延展開は関係ないだろ.

  153 :名無し~3.EXE:2007/06/27(水) 22:11:08 ID:lvppcSdl
  はあ?

  154 :名無し~3.EXE:2007/06/27(水) 23:28:41 ID:nP2x7iOe
  失礼します.
  教えてほしいことがあるのですが, runas /user:owner /savecred cmd
  と実行すると, 以降PCを再起動しても資格情報をがっちり掴んで廃棄してくれません.
  /savecredオプションで保存された資格情報を削除するには, どのようにすればいいでしょうか?
  windows xp pro sp2
  cmd.exeのdos窓から実行しました.

  155 :名無し~3.EXE:2007/06/27(水) 23:53:30 ID:VWf9EHKN
  別の資格情報で上書きとか繰り返してレジストリ監視してりゃ, どこがキーなのかわかるんでないの?

  156 :名無し~3.EXE:2007/06/28(木) 00:11:38 ID:njxOVg+i
  >>155
  ありがとうございます. レジストリを直接編集するということですね.
  コマンド自体便利だと思ったので, できればコマンドから実行できればよかったのですが.
  パスワード変更をかねてキーをさがしてみます. ありがとうございました.

  157 :名無し~3.EXE:2007/06/28(木) 00:14:31 ID:baNJcXIn
  >>156
  いや, キーさえ分かればreg.exeでどうにでもなるんでないの?
  と言いたかったんだ.

  158 :名無し~3.EXE:2007/06/28(木) 00:51:02 ID:njxOVg+i
  >>157
  こんなコマンドあったんですね. あとはキーがわかればコマンドから操作できそうです.
  わざわざご指摘ありがとうございました.

  159 :113:2007/06/28(木) 23:03:15 ID:bHfzd9Lz
  色々教えていただいてありがとうございます.
  \hoge\
  のディレクトリでcd, hi, mn等のディレクトリのファイルだけ移動して削除したかったのです.
  説明不足ですいません.
  一応こんな感じで動きました.
  でも, フォルダ名とか長いと駄目な場合もあるようですね.
  dir /xもつけた方がいいんでしょうか?
  for /f "delims=" %%i in ('dir /b/ad') do (
  for /f "delims=" %%j in ('dir /b/ad "%%i"') do move "%%i\%%j\*" "%%i\%%j\.."
  for /f "delims=" %%j in ('dir /b/ad "%%i"') do rd "%%i\%%j"
  )

  160 :113:2007/06/28(木) 23:11:14 ID:bHfzd9Lz
  むむ.
  /b/xは一緒に出来ないようですね.

  161 :113:2007/06/28(木) 23:56:29 ID:bHfzd9Lz
  一応これで何とかなりそうです.
  ありがとうございました.
  for /f "delims=" %%I in ('dir /b/ad/on') do (
  cd "%%I"
  for /f "delims=" %%J in ('dir /b/ad ') do move "%%J\*" "%%J\.."
  for /f "delims=" %%J in ('dir /b/ad ') do rd "%%J"
  cd ..
  )

  162 :名無し~3.EXE:2007/07/04(水) 01:42:29 ID:abxJ+p1r
  環境変数に現在のディレクトリを設定するにはどうすればよいのでしょう?
  set hoge=%0 としてもうまくいかない. orz.

  163 :名無し~3.EXE:2007/07/04(水) 02:04:17 ID:XwTWde1q
  pushd

  164 :名無し~3.EXE:2007/07/04(水) 02:06:31 ID:abxJ+p1r
  >>163
  すみません, よければもう少しヒントを頂けないでしょうか?

  165 :名無し~3.EXE:2007/07/04(水) 02:27:36 ID:9UcVbA4Z
  現在のディレクトリってのがカレントディレクトリを指してるのなら.
  (通常はそういう意味のはずなんだけどね)
  %cd%
  実行しているBATファイルのパスを指してるのなら.
  %~dp0

  166 :名無し~3.EXE:2007/07/04(水) 02:35:21 ID:abxJ+p1r
  >>165
  ありがとうございます.
  %~dp0でいけました.
  ほんと, 私の質問がわかりにくくてすみません・・・.
  ちなみに, こういう定数の一覧ってどこかにまとめてあるのでしょうか?
  手元のプロンプト辞典にはこういうの載ってなくて・・・.

  167 :名無し~3.EXE:2007/07/04(水) 02:46:16 ID:Zwtmh2SZ
  set /?
  call /?
  そして毎度おなじみ for /?

  168 :名無し~3.EXE:2007/07/04(水) 02:51:55 ID:abxJ+p1r
  >>167
  おぉ!すばらしい!!
  感動しました.
  そしていろいろあって奥が深いのですね.
  ありがとうございました.

  169 :名無し~3.EXE:2007/07/04(水) 05:06:14 ID:mIR/jNv3
  定数?

  170 :名無し~3.EXE:2007/07/05(木) 02:28:26 ID:hAzDK9l7
  あんなもので感動できる幸せな人生(はあと.

  171 :名無し~3.EXE:2007/07/05(木) 20:24:40 ID:mJP5Jzub
  捻くれた物の見方をしてれば大人になった気分&#9829;

  172 :名無し~3.EXE:2007/07/06(金) 08:17:18 ID:gFjF/2om
  C:\System Volume Information\
  の中の_restor<GUID>なんちゃら・・って言う名前のフォルダの中に降りて.
  その中からsnapshotフォルダに降りて RP1  〜 RP*(いくつか)まである中から.
  最新の更新日のフォルダに降りて, その中から_REGISTER_MACHINE_SYSTEM
  っていうファイルをC:\WINDOWS\system32\config\ の中に SYSTEM と言う名前.
  でコピーするっていう処理をbatで実行したいのですが(もちろん普通にWindows上から.
  実行するとメモリが掴んでいるので不可能ですが, 1CD起動のXPから実行します)
  C:\System Volume Information\までは固定なので簡単に移動できるのですが.
  マシンによって_restor<GUID>の値が可変なのでパスを直うち出来ません.
  <GUID>を取得する方法もよく分からないので.
  dir /A コマンドの出力結果を見て, そのフォルダに移動すると言うような処理は.
  出来ませんか?
  その後 snapshot\配下の複数のフォルダに対して最新のフォルダがどれかを.
  求める処理は.
  SAISIN=最初のフォルダ.
  ループ(全部のフォルダを参照するまで) {

  173 :名無し~3.EXE:2007/07/06(金) 08:19:32 ID:gFjF/2om
  途中で書き込んでしまいました. 続きです.
  SAISIN=最初のフォルダ.
  ループ(全部のフォルダを参照するまで) {
          if(%SAISIN%の更新日 < 次のフォルダの更新日) {
  SAISIN=次のフォルダ名.
          }
  }ループ終了.
  こんな感じのアルゴリズムで求めて, その最新のフォルダに降りて_REGISTER_MACHINE_SYSTEM
  ファイルを取ってくる処理を実行したいのですが・・・.
  一応自分で調べた限り  フォルダの更新日は %~z1 みたいな変数で参照できるみたいです.
  実現するのはBatだと厳しいですかね?

  174 :名無し~3.EXE:2007/07/06(金) 09:46:59 ID:Q7SsQ7nu
  @echo off
  set target_drive=%systemdrive%
  set latest=
  pushd %target_drive%\System Volume Information
  for /f "delims=" %%I in ('dir /b/ad/od _restore*') do (
  pushd %%~fI
  for /f %%J in ('dir /b/ad/od rp*') do set latest=%%~fJ
  rem for /f %%J in ('dir /b/ad/o-d rp*') do set oldest=%%~fJ
  popd
  )
  popd
  if "%latest%" neq "" (echo %latest%) else echo *** not found ***

  175 :名無し~3.EXE:2007/07/06(金) 18:46:41 ID:aZ88EIgF
  cd /d "C:\System Volume Infomation\_restor*\snapshot"
  for /f %a in ('dir /ad /b /od rp*') do set SAISIN=%a
  cd "%SAISIN%"
  copy _REGISTER_MACHINE_SYSTEM C:\WINDOWS\system32\config\SYSTEM

  176 :173:2007/07/06(金) 19:34:36 ID:gFjF/2om
  >>174
  おおお, レスありがとうございます.
  貴方のおかげで目的が実現できました. 感謝します.
  Batファイルを編集していて気づいたのですが, 貴方のアルゴリズムだと.
  C:\System Volume Information\_restore*
  ってフォルダが複数あった場合に(今回は1個なので対した処理量の違いは無い)
  最後以外のフォルダの中の最新のフォルダまで探索しにいくと思うので.
  無駄な処理が入っていますよね. forの二重ループでやっているからだと思うんですが.
  1回forでループして, ループ抜けた後でもう一回forのループで_restore*\snapshot\以下の.
  RPの最新を探す方が効率がいいですよねぇ?
  >>175
  うわ, みじかっ.
  っていうか cdコマンドで _restore*  で入れるんですかっ!
  もし_restore*で複数のフォルダが該当した場合はどうなるのだろうかと.
  RPがたくさんあるフォルダ内で実行したところ, どうやら最初に見つかったフォルダに.
  入るみたいですね. かなり簡潔ですねぇ・・・.
  で, ネットで調べてもどうしても分からなかったのでお聞きしたいのですが.
  (for /f)の /f ってどういうオプションなのでしょうか? for /? して見てもよく分からず.
  for /L だと for /L %%I in (初期値, 増分, 条件)  と書ける事は知っているのですが・・・.
  # C言語やJava言語のforとは位置が違いますよね. 混乱します・・・.

  177 :名無し~3.EXE:2007/07/06(金) 21:47:55 ID:gFjF/2om
  http://www.geocities.jp/hokaan/compdel.txt
  [上矢印]上記batファイルを実行すると.
  (の使い方が誤っています.
  と怒られます. どこがおかしいのでしょうか?文法レベルで構いませんので.
  Debugをお願いできないでしょうか? ( ) の数を数えたりしたのですが.
  数に間違いは無いのですが・・・・.

  178 :名無し~3.EXE:2007/07/06(金) 22:02:52 ID:Q7SsQ7nu
  @echo offを外せばデバッグできるはず.
  %1が未定義だと,
  if == "" (
  と展開される.
  if "%~1" == ""

  179 :名無し~3.EXE:2007/07/06(金) 23:51:11 ID:gFjF/2om
  >>178
  if "%1" == ""  でも動作するのですが.
  "%と1"の間に ~を挟むと何が違うのでしょうか?

  180 :名無し~3.EXE:2007/07/07(土) 00:10:13 ID:OhijueHL
  %1にもし"c:\Program Files"とかが入っていたらこのif文はエラーになる.
  if ""c:\Program Files"" == ""

  181 :名無し~3.EXE:2007/07/07(土) 00:19:10 ID:OhijueHL
  [上矢印]
  念のため, これは>>179のように書くとこういう弊害があるということで,
  >>178はそういう場合の対処も兼ねている.

  182 :名無し~3.EXE:2007/07/07(土) 12:01:13 ID:PdZu9Idw
  簡単に言うと, ~は%1が""で括られていなければそのまま, 括られていれば""を外す.
  call /? 読むなり echo %~1 試すなりすれば分かることだと思うが.

  183 :名無し~3.EXE:2007/07/07(土) 13:54:44 ID:2fDZSvpN
  %1->"%1"
  %2->"%2"
  %~f1->"%~f1"
  %~f2->"%~f2"
  %~z1->"%~z1"
  %~z2->"%~z2"
  最終行に「:EOF」を追加.
  これでどうだ?

  184 :名無し~3.EXE:2007/07/07(土) 13:56:22 ID:2fDZSvpN
  うへ, ミスった.
  x  %1->"%1"
  o  %1->"%~1"
  x  %2->"%2"
  o  %2->"%~2"

  185 :名無し~3.EXE:2007/07/07(土) 16:03:50 ID:OhijueHL
  goto :eofはラベルを作成しなくても飛べる便利機能.
  goto /?でも読めば書いてある.

  186 :名無し~3.EXE:2007/07/07(土) 16:21:20 ID:d6rD1byQ
  なるほど・・・分かりました!
  "%~1" って  書かないと ""変数の中身"" ってダブルクォーテーションが普通の2倍.
  くっついてしまって構文的におかしいわけですか・・・だから余分なダブルクォーテーションを.
  削除しているわけですね. なるほどです. 非常に勉強になります.
  すみません, 質問ばかりで申し訳ないのですが.
  リモートのFTPサーバが生きているかどうかで処理を分けるようなことは出来ませんか?
  pingを実行して, 帰ってきた %errorlevel%を見て処理を分けるというのは出来るんですが.
  これだと  pingはルータで蹴る設定だけど, FTPサーバは繋がると言う状況の時や.
  pingは通るけどFTPサーバが落ちているとか言う時に困るんです.
  @echo off
  ftp -s:ftpcmd.txt (ftpcmd.txtファイルにFTPログイン〜何もせず切断〜終了まで書いとく)
  if %errorlevel% (
  で処理分けをしようとしてみたのですが, FTP接続に成功しようが失敗しようが.
  0(真)が帰ってくる(そりゃftp接続は失敗したけどftpコマンドそのものは成功しているんだから.
  0が帰ってくるわな・・・)  ので, 判定の材料にはならないんですよ.
  皆さんならどうやって判定しますか?

  187 :名無し~3.EXE:2007/07/07(土) 16:52:20 ID:57vtk9UF
  >>186
  泥臭いけど, 結果をファイルにリダイレクトしといて, そのファイルにfindstrするとか.

  188 :名無し~3.EXE:2007/07/07(土) 17:20:21 ID:OhijueHL
  ftp -n -s:ftp_open_check.txt | find "220" >nul
  rem ftp -n -s:ftp_open_check.txt | find "Connected to" >nul
  if %errorlevel% equ 0 echo ** open success **

  189 :名無し~3.EXE:2007/07/07(土) 17:36:10 ID:OhijueHL
  修正.
  ftp -n -s:ftp_open_check.txt 2&>1 | find "220" >nul

  190 :名無し~3.EXE:2007/07/07(土) 17:46:31 ID:d6rD1byQ
  なんというか・・・素晴らしいというか凄いというか, いやはや・・・.
  >>187
  そのせんでfindstrでやっても出来そうでした.
  >>188-189
  "2&>1" <-これの意味を教えて頂けませんか?
  修正前のでも動作しましたので・・・.
  しかしftp -nなんてあったんですね. ftp /? してもヘルプ出ないので.
  ftp -s しか知りませんでした.
  で, その出力結果をfindにパイプで渡すからファイルも出来ないと.
  素晴らしすぎる.

  191 :名無し~3.EXE:2007/07/07(土) 17:53:18 ID:OhijueHL
  さらに2>&1の間違いで, 標準エラー出力を標準出力にリダイレクトする.
  (要するに, 両方の出力をマージしていっしょくたに標準出力に吐き出す)
  ftp -?
  -nは自動ログインをしない. ユーザー名とパスワードの入力不要.
  open ftp-addres
  close
  bye
  でOK.

  192 :名無し~3.EXE:2007/07/07(土) 18:45:05 ID:d6rD1byQ
  >>191
  2>&1  って書けば  2(標準エラー) 1(標準出力)を結合して吐き出すわけですね.
  で, 吐き出したデータは使うんですか?どうせfindはそんなの見てないようだし.
  findの出力はnulの彼方にだし.
  ftp -? で見て見ました. 色々あるんですねぇ. 全然知りませんでした.
  でもとりあえず,  FTPサーバ生存確認と言いましたが, 細かく言うと.
  FTPサーバが生存していて, かつログインに成功した時ファイルをアップロード.
  見たいな事をやりたいんで, ログイン処理まで書いて logged in,  といった.
  文字列をfindにかませて判定した方がより正確な判定が出来るので.
  ログインまでやりますw.
  皆さんはこういう情報はどうやって勉強しているのですか?
  私は.
  http://www.ne.jp/asahi/hishidama/home/tech/windows/bat.html
  ココで多くを学びました.
  ネットで調べてもあまりBatって細かく解説しているサイトが無くて.
  やはり本格的にやる為には書籍が必要なんですかね.

  193 :名無し~3.EXE:2007/07/07(土) 19:06:28 ID:OhijueHL
  ヘルプだけで結構わかるもんだよ.
  set /?
  if /?
  for /?
  call /?
  goto /?
  cmd /?
  setlocal /?
  echo /?

  194 :名無し~3.EXE:2007/07/07(土) 19:28:57 ID:d6rD1byQ
  >>193
  ヘルプだけで分かるって・・・・.
  すごいなぁ・・・・ハッカーですかw.
  本当にどうもありがとうございました. これで今回の目的は全部達成できました・・・.

  195 :名無し~3.EXE:2007/07/07(土) 20:06:47 ID:OhijueHL
  コマンドシェルの概要だとかリダイレクタとかは, Windows Helpを見ないと分からないようだ.
  コマンドヘルプ(/?)と両方のヘルプを見比べればいいと思う.
  (XPの場合)
  startボタン.
    -  ヘルプとサポート.
        -  ツール を使ってコンピュータ情報を表示し問題を診断する.
          -  コマンド シェルの概要.
  コマンドシェルからヘルプを起動したい場合.
  hh MS-ITS:G:\WINDOWS\Help\ntcmds.chm::/ntcmds_o.htm
  hh MS-ITS:G:\WINDOWS\Help\ntcmds.chm::/redirection.htm
  など.
  またはヘルプサポートセンターで見たい場合.
  start helpctr /url ms-its:ntcmds.chm::/ntcmds_shelloverview.htm
  など.

  196 :名無し~3.EXE:2007/07/07(土) 20:39:29 ID:d6rD1byQ
  >>195
  うわー残念. Windowsを徹底的にチューニングして無駄な物, 要らない物を削除.
  しまくっているのでヘルプファイルとか全部既に消してあるから開けない・・・・.

  197 :ID:2fDZSvpN:2007/07/08(日) 02:15:06 ID:3Owpm7dd
  >>185
  判ってはいるが, それが無いと何となく気持ち悪いので俺はいつも付けてる.

  198 :名無し~3.EXE:2007/07/08(日) 09:16:58 ID:OzdlBfMw
  >>196
  あほですか?
  質問スレよく見るんでお前さんのような奴時々見かけるけど,
  わけもわからず適当にファイル削除する奴を見ると毎度ながら反吐が出そうになる.

  199 :名無し~3.EXE:2007/07/08(日) 09:25:12 ID:b18X3IE2
  PCと関係ないスレで「自分でぐぐって調べろ」と言われて.
  「PCの調子が悪くて・・・」と取り繕ってるのと同じ(要はウソ)

  200 :名無し~3.EXE:2007/07/08(日) 10:30:17 ID:/ja/+eZN
  >>197
  goto :eof と.
  goto eof の違いは判ってんのか?

  201 :名無し~3.EXE:2007/07/08(日) 13:08:03 ID:XC4SQeZi
  >>198
  Diskx Toolsっていうクリーニングソフトがあって, その中の削除項目に.
  Windowsのヘルプファイルってあるんですよ.
  8年間パソコンを使い続けてきて, そんなヘルプファイルなんか見たこともないし.
  これから先も見る事は無かろう, 役に立たないフリーセルやソリティア, マインスイーパ.
  等のデータと同価値のファイルだろうと思って消してしまってます.
  あほですみません.
  >>199
  なるほど, , , 確かにそういう風にも取られるんですね. コレは失礼しました.
  >>200
  その二つに違いなんかあるのか・・・・・  と言うか goto :  ってコロンつけないと移動できないんじゃ・・.

  202 :名無し~3.EXE:2007/07/08(日) 13:11:07 ID:tecQhfCB
  exit /b 使ってる. 必要なら終了コード付けられるし.

  203 :名無し~3.EXE:2007/07/08(日) 16:51:02 ID:NCTpwRJm
  これだからヘルプを読まない人種は.

  204 :名無し~3.EXE:2007/07/08(日) 18:05:49 ID:IRXda/xa
  ヘルプなんか読む奴は初心者.

  205 :名無し~3.EXE:2007/07/08(日) 18:39:27 ID:8kvqjQRq
  ヘルプを読まない奴は中二病.

  206 :名無し~3.EXE:2007/07/08(日) 22:27:24 ID:yX0XbVid
  ヘルプを歌うのはジョンレノン.

  207 :名無し~3.EXE:2007/07/08(日) 23:27:27 ID:27PU9C5t
  ヘルプにはパラメー, ラメー(自粛.

  208 :名無し~3.EXE:2007/07/09(月) 02:46:08 ID:v3Zn7L3A
  echo ヘルプネタはもういいよ.
  pause > nul
  goto :eof

  209 :名無し~3.EXE:2007/07/09(月) 17:53:53 ID:avOS7hXh
  コマンドラインでネットワークの有効/無効を行いたいのですがどのようにすれば良いのでしょうか.
  GUIだと「スタート->設定->ネットワークと(ry->ローカルエリア接続」の作業です.
  無線LANがスタンバイする際に問題起こすのでスタンバイ入る前にネットワークから切断し.
  復帰後また接続すると言うようにしたいのです.
  スタンバイ入ったり復帰するイベントはツールで取得できるのでその際に実行させれば行けるかなと.

  210 :名無し~3.EXE:2007/07/09(月) 18:13:31 ID:+C6r4Cf5
  >>209
  ipconfig /?

  211 :名無し~3.EXE:2007/07/09(月) 18:37:10 ID:avOS7hXh
  ipconfigでは出来ないと思いますが・・・.

  212 :名無し~3.EXE:2007/07/09(月) 18:52:30 ID:+C6r4Cf5
  IPを/releaseすればいけるかなと予想したんだが, , ,

  213 :名無し~3.EXE:2007/07/09(月) 20:53:01 ID:+JHLqH0V
  >>209
  無理. windows Server 2003なら.
  netsh interface set interface "ローカル エリア接続" disabled
  ただし, WSHでコントロールパネルの「ネットワーク接続」から「{ローカルエリア接続」
  を「無効にする」を選択するようなスクリプトを組めば可能.

  214 :名無し~3.EXE:2007/07/09(月) 21:11:48 ID:PbKOGN6x
  >>209
  最新ドライバを確認するか, そのPCのスレで質問すれば.
  スタンバイの問題が解決するかも.

  215 :名無し~3.EXE:2007/07/09(月) 23:13:23 ID:s2knvD30
  >>213
  WSHじゃなくて .batじゃ無理?

  216 :名無し~3.EXE:2007/07/10(火) 00:31:52 ID:aY6Hj5YD
  >>215
  exe自作してbatから呼べばいいんじゃね?

  217 :名無し~3.EXE:2007/07/10(火) 07:42:18 ID:P6vaWxQy
  webサーフィンしてから拾ってきた. 自己責任でどうぞ.
  Const ssfCONTROLS = 3
  Const sConPaneName = "ネットワーク接続"
  Const sConnectionName = "ローカル エリア接続"
  Const sDisableVerb = "無効にする(&B)"
  Const sEnableVerb = "有効にする(&A)"
  set shellApp = createobject("shell.application")
  set oControlPanel = shellApp.Namespace(ssfCONTROLS)
  set oNetConnections = nothing
  for each folderitem in oControlPanel.items
  if folderitem.name = sConPaneName then
  set oNetConnections = folderitem.getfolder: exit for
  end if
  next
  if oNetConnections is nothing then
  wscript.quit
  end if
  set oLanConnection = nothing
  for each folderitem in oNetConnections.items
  if lcase(folderitem.name) = lcase(sConnectionName) then
  set oLanConnection = folderitem: exit for
  end if
  next
  if oLanConnection is nothing then
  wscript.quit
  end if
  for each verb in oLanConnection.verbs
  if verb.name = sDisableVerb then
  verb.Doit
  WScript.Sleep 2000
  end if
  next

  218 :名無し~3.EXE:2007/07/10(火) 08:12:31 ID:bwIa74fK
  batプログラムだと  ユーザに  Yes  か  No  か    名前, 性別等の入力をさせて.
  その入力結果に応じて処理をするという事は出来ないんですかね?
  こういう処理はWSHですか?.
  それとコマンドラインインタフェースが無いアプリケーションをコマンドラインで.
  (batでもWSHでもいいので)GUI操作させる事は出来ませんか?
  例:FileZillaと言うFTPクライアントを立ち上げ, 立ち上がった後即座に.
  ミラーリングアップロードを開始させ, ミラーリングアップロードが終わったら.
  FileZillaを正常終了させる.
  等. AutoHotKeyとかUWSCとかそれ関連のアプリはあるみたいなんですが.
  batかWSHで実行できないかなぁと思いまして.

  219 :名無し~3.EXE:2007/07/10(火) 08:15:54 ID:0DJ2pCRZ
  set n=default
  set /p n=input:
  echo %n%

  220 :名無し~3.EXE:2007/07/10(火) 08:40:06 ID:P6vaWxQy
  キー・ストロークの送信とプログラムのアクティベーション.
  http://www.atmarkit.co.jp/fwin2k/operation/wsh05/wsh05_04.html

  221 :209:2007/07/10(火) 18:57:52 ID:Pg7+75wk
  >>213-217
  サンクスです.
  >217を少し改造して.
  WScript.exe  hoehoe.vbs on/off
  とか何とかして実行するように登録しうまくいきました.

  222 :名無し~3.EXE:2007/07/10(火) 21:17:43 ID:LwFxhRr6
  Linux 等のシェルで, 長いコマンドを一行で入力するとき, '\'  で改行できますよね.
  $ java -Dfoo=bar \
  -classpath lib\hoge.jar \
  fuga
  これと同じようなことを, Windows のコマンドプロンプトや bat ファイルで出来ますか?
  コマンドプロンプトでは出来なくとも(できればうれしいけど) bat ファイルの中では実現したいです.

  223 :名無し~3.EXE:2007/07/10(火) 21:37:04 ID:aY6Hj5YD
  できません.

  224 :名無し~3.EXE:2007/07/10(火) 22:07:11 ID:vI/PS3tz
  環境変数に分割していくしかないな.

  225 :名無し~3.EXE:2007/07/10(火) 22:26:19 ID:StBOT2v7
  @echo off
  echo very ^
  long ^
  command

  226 :名無し~3.EXE:2007/07/11(水) 12:05:59 ID:dS7I7lnI
  >>223-224
  プギャー.
  まあ, 俺も知らなかったんだけどな.

  227 :名無し~3.EXE:2007/07/12(木) 22:25:22 ID:VVU4dqVo
  WSHについての質問です.
  MsgBox ("サーバ接続に失敗しました", vbYesNoCancel)
  と書いて実行すると.
  Sub プロシージャを呼び出すときに, かっこを使うことはできません.
  と怒られます. マニュアルを調べてみると.
  MsgBox(prompt[, buttons][, title][, helpfile, context])
  とかかれてあります.
  promptが"サーバ接続に失敗しました"  で, , buttonsが vbYesNoCancelで, 残りは全て.
  省略可能で ) で閉じる. 構文間違ってないように思うのですがなぜエラーになるんでしょうか?

  228 :名無し~3.EXE:2007/07/12(木) 22:29:37 ID:Wbmh/5un
  >>227
  「Sub プロシージャを呼び出すときに, かっこを使うことはできません. 」
  でググレカス.

  229 :名無し~3.EXE:2007/07/17(火) 22:10:52 ID:2qlxd08l
  set /pだと誤入力の危険があるので, それを回避するために,
  バッチファイルからHTAを起動してプルダウンメニューとボタンを表示し,
  選択された項目に応じてバッチファイルの動作を変えられたらいいなぁと.
  考えましたが, これは実現可能でしょうか?
  もし可能なら, サンプルを載せていただけると助かります.
  また, 不可能な場合, 何か代替案があるといいのですが・・・.

  230 :名無し~3.EXE:2007/07/17(火) 23:54:30 ID:95VZVBFb
  htaからbat実行すりゃいいんじゃないの.

  231 :名無し~3.EXE:2007/07/19(木) 21:27:44 ID:thElGmVj
  choice.exe

  232 :名無し~3.EXE:2007/07/20(金) 23:18:59 ID:V2dWSSNT
  batからhta実行すりゃいいんじゃないの.

  233 :名無し~3.EXE:2007/07/22(日) 18:28:26 ID:6AwCUSGD
  質問です. SUBSTコマンドで割り当てた仮想ドライブに,
  別のボリュームラベルを表示させることはできませんか?
  C:SYSTEM
  D:DATA
  と2つのドライブがあるとします.
  subst  E: D:\1
  subst  F: D:\2
  subst  G: D:\3
  とすると, マイコンピュータを開くと.
  C:  SYSTEM
  D:  DATA
  E:  DATA
  F:  DATA
  G:  DATA
  となってしまい, 見にくくなってしまいます. 対処法ありましたらお願いします.

  234 :名無し~3.EXE:2007/07/22(日) 22:33:17 ID:1kQ2Scg2
  コマンドラインからPrintScreenを押す方法はありますでしょうか?
  環境はWindows Server 2003です.
  VBScriptのSendKeysを検討しましたがMSDNに.
  >メモ アプリケーションに PrintScreen キー ("{PRTSC}") を送ることはできません.
  と書かれており試してみましたが実際に無理でした.
  http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/script56/html/wsMthSendKeys.asp

  235 :名無し~3.EXE:2007/07/23(月) 19:13:56 ID:WByBtV4R
  >>234
  PrintScreenを押して何をしたいのかにもよるけど.
  フリーソフトで適当なのを使えばいいんじゃね?
  http://search.vector.co.jp/search?query=SendKey

  236 :名無し~3.EXE:2007/07/23(月) 20:06:40 ID:DslKxDc9
  マルチ馬鹿にエサ与えんな.
  http://pc11.2ch.net/test/read.cgi/tech/1176698934/136-

  237 :名無し~3.EXE:2007/07/23(月) 22:30:33 ID:ptbQjJRK
  Win98環境でバッチを作成してます.
  日付をリダイレクトして, ファイルに書き込みたいのですが,
  Win98の場合, dateを実行すると, 新しい日付を指定してくださいと.
  表示され, バッチ内で実行すると, その部分で処理が止ってしまいます.
  Windows98環境ではDateやTimeコマンドの結果を, どのようにして.
  ファイルにリダイレクトすれば良いのでしょうか.

  238 :名無し~3.EXE:2007/07/23(月) 22:50:33 ID:2a12I535
  %date% %time%

  239 :名無し~3.EXE:2007/07/23(月) 23:11:15 ID:LD4VpkP3
  >>237
  BUでも使ったら?
  つ http://hp.vector.co.jp/authors/VA000007/bu.htm

  240 :名無し~3.EXE:2007/07/23(月) 23:14:26 ID:ptbQjJRK
  >>238
  それは試したけど駄目だったです.
  >>239
  外部アプリ使う以外では無理ッスかね.

  241 :名無し~3.EXE:2007/07/23(月) 23:45:46 ID:YzCqJVe0
  NT系なら /T オプションがあるけど98にはない.
  俺も昔同じ事やろうとして結局Perl使ったもの.

  242 :名無し~3.EXE:2007/07/24(火) 00:28:47 ID:OiAr7ahv
  応答ファイル作ってみては?
  エンターを標準入力する.
  date < enter.txt

  243 :名無し~3.EXE:2007/07/24(火) 00:54:25 ID:zyICGXlS
  わざわざファイルを作らなくても.
  echo.|date

  244 :名無し~3.EXE:2007/07/24(火) 01:13:51 ID:OiAr7ahv
  >>243
  いやーそれも考えたけど.
  Win98じゃあecho.が別の結果になりそうな予感がしたので止めたわけよ.

  245 :名無し~3.EXE:2007/07/24(火) 01:23:30 ID:zyICGXlS
  DOS5の頃から, echo. は改行. ピリオドの代わりに / : , なども可.

  246 :名無し~3.EXE:2007/07/24(火) 01:28:49 ID:OiAr7ahv
  まあどうやってもwin98じゃあfor /fもset等での編集もできないので.
  外部コマンド(BATUTYとか)を使うのが良い.

  247 :名無し~3.EXE:2007/07/24(火) 01:37:25 ID:haePCbS9
  >>235
  目的はスクリーンショット取得の効率化です.
  現在はプリントスクリーンを押下してペイントに貼り付け名前をつけて保存をしています.
  スクリプトを起動するだけで現在の画面をbmpファイルにしようと目論んでいます.
  ペイントの起動からファイルの保存(ファイル名は連番で空きのあるもの)までは実現しています.
  あとはクリップボードに画像を送る方法が足りません.
  社内PCにフリーソフトのインストールは禁止なのでWindows標準のソフトやスクリプトで実現したいです.
  よろしくお願いします.

  248 :名無し~3.EXE:2007/07/24(火) 01:43:41 ID:OiAr7ahv
  ペイントなら, メニュー操作でできるじゃん.
  編集(Alt+E)-すべて選択-コピー (送信するキーで言えば, Ctrl+A, Ctrl+C)
  でどう?

  249 :名無し~3.EXE:2007/07/24(火) 01:45:14 ID:OiAr7ahv
  勘違い, 忘れて.

  250 :名無し~3.EXE:2007/07/24(火) 01:56:13 ID:FTD7xDte
  うぜぇなあ.
  社内でのスクリプトも禁止にしてくれればいいのに.

  251 :名無し~3.EXE:2007/07/24(火) 07:28:39 ID:nHmUjfkY
  > 社内PCにフリーソフトのインストールは禁止.
  こういう会社は遠からず衰退するな. w.

  252 :名無し~3.EXE:2007/07/24(火) 09:38:47 ID:hrghhaU8
  逆にインストールし放題だったらそっちの方がよっぽど問題.

  253 :名無し~3.EXE:2007/07/24(火) 13:26:06 ID:ZRCldvmk
  アンインストール〜. アンインストール〜.

  254 :名無し~3.EXE:2007/07/24(火) 16:51:41 ID:1kH5Q7z7
  temp.txtというファイルから.
  東京都と埼玉県という文字列があるか無いかを,
  kekka.txtに書いていくバッチを作りたいのですが,
  以下のようにすると, 東京都までの検索は出来ますが,
  埼玉県の検索で, 無限ループのような実行になってしまいます.
  環境は, Windows98のMS-DOSプロンプトです.
  回避策をご教授頂けないでしょうか.
  よろしくお願いします.
  find "東京都" < temp.txt
  IF ERRORLEVEL 1 GOTo NG "temp.txt"
  IF ERRORLEVEL 0 GOTo OK "temp.txt"
  :NG
  @echo 東京都 なし >> kekka.txt
  GOTo END
  :OK
  @echo 東京都 あり >> kekka.txt
  GOTo END
  :END
  find "埼玉県" < temp.txt
  IF ERRORLEVEL 1 GOTo NG "temp.txt"
  IF ERRORLEVEL 0 GOTo OK "temp.txt"
  :NG
  @echo 埼玉県 なし >> kekka.txt
  GOTo END
  :OK
  @echo 埼玉県 あり >> kekka.txt
  GOTo END
  :END

  255 :254:2007/07/24(火) 17:07:37 ID:1kH5Q7z7
  すみません.
  自己解決しました.

  256 :名無し~3.EXE:2007/07/24(火) 22:05:23 ID:UeCXx0RV
  スレ違だけどWin98のショボいコマンド使うぐらいだったら, 良い機会だからVBSでも使いなよ.
  Set objFSO=CreateObject("Scripting.FileSystemObject")
  Set objTxIn=objFSO.OpenTextFile(".\temp.txt", 1)
  Do Until objTxIn.AtEndOfStream
  buf=objTxIn.ReadAll
  Loop
  objTxIn.Close
  ArrResult=Array(0, 0)
  if instr(1, buf, "東京都")>0 then ArrResult(0)=1
  if instr(1, buf, "埼玉県")>0 then ArrResult(1)=1
  strResult=Cstr(ArrResult(0)) & Cstr(ArrResult(1))
  Select Case strResult
  Case "11" Call WriteResult("東京都あり"&vbcrlf&"埼玉県あり")
  Case "10" Call WriteResult("東京都あり")
  Case "01" Call WriteResult("埼玉県あり")
  Case Else WScript.Echo "ないよ"
  End Select
  Sub WriteResult(strWord)
  Set objTxOut=objFSO.OpenTextFile(".\kekka.txt", 2, True)
  objTxOut.WriteLine(strWord)
  objTxOut.Close
  End Sub

  257 :名無し~3.EXE:2007/07/24(火) 22:06:42 ID:cEJUopRP
  質問させてください. Windows98のバッチファイルで,
  ネットワークドライブの情報と, 使用しているプリンタ名の情報を.
  取得する事は出来ますでしょうか?

  258 :名無し~3.EXE:2007/07/24(火) 22:41:21 ID:UeCXx0RV
  EnumNetworkDrives
  EnumPrinterConnections

  259 :257:2007/07/24(火) 22:49:55 ID:cEJUopRP
  vbsを今から勉強している余裕が無いんです・・・.
  バッチじゃ無理ですかね.

  260 :名無し~3.EXE:2007/07/24(火) 23:00:45 ID:FTD7xDte
  @echo off
  start /w regedit /e c:\aaaa.txt
  HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print\Printers
  type c:\aaaa.txt
  del c:\aaaa.txt

  261 :257:2007/07/25(水) 00:09:05 ID:3jXjVge/
  >>260
  バッチでレジストリのデータ取得できるんですか!
  今環境無いんですが, 明日試して見ます.
  ありがとうございます!

  262 :名無し~3.EXE:2007/07/26(木) 01:04:45 ID:/KjPiacH
  バッチファイルのマニュアルって無いでしょうか?
  MSDNを探したけど見つかりませんでした.
  for /?やwindowsのヘルプでコマンド名で検索すればそのコマンドについての説明はでてくるのですが.
  網羅的なものや文法以外の事(例えば変数の扱いについてなど基本的なルール)が書かれている.
  文書が欲しいです.

  263 :名無し~3.EXE:2007/07/26(木) 01:20:39 ID:yErmTSil
  >>261
  コマンドでレジストリ読み書きできるのはXP/2003から.
  98ではできない.
  98のDOS窓でできる事を確認するには.
  ヘルプにコマンドラインリファレンスがあったかも.
  あるいはこれを立ち読みして確認しる.
  http://www.gihyo.co.jp/books/syoseki.php/4-7741-0636-4
  >>262
  とりあえずヘルプの「コマンド ライン リファレンス」見れ.
  物足りなければこういうの買うか立ち読みしる.
  http://www.gihyo.co.jp/books/syoseki.php/4-7741-1674-2

  264 :名無し~3.EXE:2007/07/26(木) 01:30:53 ID:gEngnIuG
  ネットで検索すればある程度は出てくると思うけど, 古い9x時代の頃の情報が多くて.
  最近のしっかりしたサイトは知らないなぁ. @ITくらいか.
  お金を出しても良いなら下手にWebで探すより書籍を買っちゃった方が早いかもね.
  自分も1冊買ったけど, 買って良かったと思ってる.
  あと自分の場合 craftlaunch 使ってるので CMD.EXE /C %arg /? > %arg.TXT みたいな.
  コマンド作っちゃって, 一発でコマンド名.txtが出来るようにしてる.
  ちなみに変数はPATH /?かCALL /?で一通りのことは分かると思うよ.

  265 :名無し~3.EXE:2007/07/26(木) 01:35:36 ID:gEngnIuG
  オレが買ったのも>263の奴だ. 結構良いと思うよ.

  266 :名無し~3.EXE:2007/07/26(木) 01:55:53 ID:kf5FBSiR
  とりあえずヘルプを読むといい.
  仕様は全てヘルプに書かれている.
  (ある特定コマンドについてはwin2000ではコマンドヘルプの方が詳しいものも一部ある.
    またどう使うか応用はサイトめぐりか本でも買え)
  まあ, ヘルプファイルを不要として削除しちゃってるバカもいるけど.
  一度は全部読み通してみるといい.

  267 :名無し~3.EXE:2007/07/26(木) 02:00:19 ID:kf5FBSiR
  >>264
  コマンドヘルプだけでは明らかに情報不足に陥る.
  それでは複雑なBATは書けない.

  268 :名無し~3.EXE:2007/07/26(木) 02:26:44 ID:p3iWQA+4
  適当に立ち寄った本屋にあったこれを買った俺は負け組み.
  http://www.amazon.co.jp/dp/4816332545

  269 :名無し~3.EXE:2007/07/26(木) 08:12:26 ID:5Vip6UWZ
  >複雑なBAT
  この時点で間違ってる.
  複雑な処理させたければWSHなりにしろ.

  270 :257:2007/07/26(木) 13:22:22 ID:Bs03WwTU
  >>260
  遅くなりましたが目的の情報を取得することが出来ました.
  このコマンドで他の情報も持って来れそうです.
  ありがとうございました.
  >>263
  260さんの記述でレジストリのデータを読めましたよ.

  271 :名無し~3.EXE:2007/07/26(木) 14:00:30 ID:gN9jmhD8
  >>269
  基本だが, 変数として有効な文字とか変数サイズの上限とか全体の総バッファ長とか.
  & && | ||  ;  ,  ^ とか, 0< 1> 2> 1>&2 2<&1とかWSHの呼び出し方とか.
  コマンドヘルプじゃわからないよ.

  272 :名無し~3.EXE:2007/07/26(木) 15:23:00 ID:Bs03WwTU
  wshって素のままのWindowsOS(95からxpまで)で.
  バッチみたいに使えるの?

  273 :名無し~3.EXE:2007/07/26(木) 15:50:08 ID:04gKUhKK
  95は素では無理.

  274 :名無し~3.EXE:2007/07/27(金) 01:06:16 ID:rXnUgSS7
  cd hoge >> log\normal.log 2>> log\error.log
  みたいに書いても正常に動作しないのですが,
  標準出力と標準エラー出力をそれぞれ別々のファイルに保存する方法を.
  教えていただけませんか?両方を1つのファイルに保存するなら.
  cd hoge 2>&1 >> ryouhou.log
  ですよね.

  275 :名無し~3.EXE:2007/07/27(金) 01:15:31 ID:dNpld2gr
  (cd hoge >> log\normal.log) 2>> log\error.log

  276 :名無し~3.EXE:2007/07/27(金) 01:19:42 ID:fMDvaNVV
  >>274
  どんな現象になるの?
  cd hoge >> log\normal.log 2>> log\error.log
  これでちゃんと動作したけど?

  277 :名無し~3.EXE:2007/07/27(金) 01:22:53 ID:rXnUgSS7
  >>276
  cdだと動作するかもしれませんが他のコマンドだとちゃんと動作してないような・・・.
  copy /Y とかで試してみると多分動かないかと. .
  正しい書き方を知らない物で  正当な書き方をお聞きしたいのですが・・・.
  >>275さんのが正しい書き方なのですかねぇ.
  この場合( ) の中が最初に評価されるから  仮になんらかの原因( normal.logファイルへの書き込み.
  権限が無かったり)で, コマンドの実行自体は成功しているのにnormal.logへ書き込めなかったから.
  エラーだと判断されて error.logにかかれたりはしないのかなぁ・・・.
  いまいちこの辺よく分からない.

  278 :名無し~3.EXE:2007/07/27(金) 01:24:50 ID:fMDvaNVV
  copy /y
  dir hoge
  で試したけど問題なく動作したよ.

  279 :名無し~3.EXE:2007/07/27(金) 01:37:52 ID:rXnUgSS7
  >>278
  マジですか・・・. じゃあリダイレクションの問題じゃなくて.
  私が何か間違えているのかも. Windows版 pdumpfsを動かして検証してみたところ上手く.
  いかなかった物で・・・. 失礼しました.

  280 :名無し~3.EXE:2007/07/27(金) 01:45:37 ID:/AUK6hlH
  >>279
  これって相対パス指定してるんだが, カレントディレクトリ配下に間違いなくlogフォルダはあるのか?
  無ければ当然の結果だけど.
  >指定されたパスが見つかりません.
  となる.

  281 :名無し~3.EXE:2007/07/27(金) 01:48:08 ID:rXnUgSS7
  pdumpfs.exe C:\data C:\saki >> log\normal.log 2>> log\error.log
  こんな感じ.
  実際には引数で渡して変数に格納して使っているので.
  %PRG% %MOTO% %SAKI% >> log\normal.log 2>> log\error.log
  こんな感じ.
  それでエラーが起きたときは error.logに書かれるのに.
  正常に実行できた時は normal.logに何も書かれないからおかしいなぁと思って.

  282 :名無し~3.EXE:2007/07/27(金) 01:48:48 ID:rXnUgSS7
  >>280
  コード中に.
  REM logフォルダがない場合は作成する.
  if not exist log\nul (
  mkdir log
  )
  ってあるのでlogフォルダは確実にあります.

  283 :名無し~3.EXE:2007/07/27(金) 02:57:22 ID:S6Sd4k6B
  >>282
  どこのコマンドを使ってる?
  ググってpdumpfs-w32-1.3.zipをゲットして試したら実行しても.
  標準(エラー)出力に何も出力されないまことに静かなるコマンドだったんだが?

  284 :名無し~3.EXE:2007/07/27(金) 08:13:51 ID:rXnUgSS7
  >>283
  http://www.monochrome.jp/~katsuwo/software/pdumpfs-for-windows/
  これです.
  で, 私の勘違いだったようで, なんだか.
  pdumpfs.exe C:\moto C:\saki >> normal.log 2>> error.log
  で動作しているようです. なぜ勘違いしたのか未だによく分かりませんがOTL
  お手数をお掛け致しました.
  しかし1つ気になる事が.
  pdumpfs.exe C:\moto C:\saki >> normal.log 2>> error.log
  で動作したのですが.
  (pdumpfs.exe C:\moto C:\saki >> normal.log) 2>> error.log
  こういう風に ()で囲った方がいいのでしょうか?どう書くのが慣例なのでしょう?
  また, ( )で囲った方がいいなら, その理由は? 質問の締めくくりとして.
  ご教示宜しくお願い致します.

  285 :名無し~3.EXE:2007/07/27(金) 11:30:18 ID:+rjyunv5
  誰も締めくくりたいなんて思っちゃいない予感.

  286 :名無し~3.EXE:2007/07/27(金) 21:28:47 ID:lyQPBbWY
  82C8
  82BE
  82AD
  82BD
  82C1
  82DC

  287 :名無し~3.EXE:2007/07/27(金) 21:33:47 ID:BKYgm8FZ
  まったくだな.

  288 :名無し~3.EXE:2007/07/28(土) 18:33:15 ID:a/qCxIPC
  有効なドライブの一覧を表示するコマンドってないですか.

  289 :名無し~3.EXE:2007/07/28(土) 18:50:31 ID:m2ZCRxis
  fsutil fsinfo drives

  290 :288:2007/07/28(土) 18:53:48 ID:a/qCxIPC
  どうもありがとう.

  291 :名無し~3.EXE:2007/07/30(月) 13:03:56 ID:BT+WwteJ
  携帯から失礼します超初心者スレとマルチになってしまいますが, 質問させてください.
  WindowsXP home editionを使用してるんですが,
  msconfig->システム構成ユーティリティから「BOOT.INI」にあるタブの「/SAFEBOOT(F)」にチェックを入れてセーフモードを機動したんです.
  セーフモードコマンドプロントの画面になり, そこから通常の時に戻れません.
  どうすれば元に戻せますでしょうか?

  292 :名無し~3.EXE:2007/07/30(月) 14:58:07 ID:le5R9q0P
  >>291
  感だから駄目かもしれないけど.
  cd c:\windows
  start

  293 :名無し~3.EXE:2007/07/30(月) 17:01:28 ID:7XlSPz/J
  コマンドライン上からmsconfigやexplorerを起動するなり,
  notepad c:\boot.iniするなり方法は色々あるはず.

  294 :名無し~3.EXE:2007/07/30(月) 17:23:16 ID:BT+WwteJ
  >>292
  >>293
  無事元に戻すことができました.
  ありがとうございました.

  295 :名無し~3.EXE:2007/07/31(火) 16:20:44 ID:8GY6o1TN
  Windows98のMS-DOSプロンプトで質問があります.
  cd C:\test
  dir /B /S > C:\WINDOWS\デスクトップ\test
  cd C:\test2
  dir /B /S > C:\WINDOWS\デスクトップ\test2
  [上矢印]のようなバッチでC:\testとC:\test2配下のディレクトリ構成を.
  テキストファイルとして保存したいのですが,
  C:\test2というフォルダが存在しない場合,
  バッチの実行結果では, dir /B /S > C:\WINDOWS\デスクトップ\testの内容を.
  test2のファイルとして残されてしまいます.
  C:\test2というフォルダが存在しない場合, 0kbのtest2ファイルとして.
  残す方法を御教示ください. よろしくお願いします.

  296 :名無し~3.EXE:2007/07/31(火) 18:43:44 ID:Hu1nS5yr
  0Byteのファイルの作り方がわからん.
  if exist C:\test2\nul echo.>C:\WINDOWS\デスクトップ\test2

  297 :名無し~3.EXE:2007/07/31(火) 18:45:01 ID:Hu1nS5yr
  >>296 ミスッた.
  if not exist 〜 ね.

  298 :名無し~3.EXE:2007/07/31(火) 19:25:23 ID:uQa6Hv3d
  if exist "c:\test\nul" dir "c:\test" /b /s > test.txt
  if exist "c:\test2\nul" dir "c:\test2" /b /s > test2.txt
  Windows98 の dir って処理先指定できないんだっけ??
  できなかったら無理だけど.

  299 :名無し~3.EXE:2007/07/31(火) 19:30:28 ID:uQa6Hv3d
  あ, 0byte のファイル作りたいのか....
  else とか () とか使えたっけ?もう分からん.
  使えるなら.
  if exist "c:\test\nul" (dir "c:\test" /b /s > test.txt) else (echo.> test.txt)
  if exist "c:\test2\nul" (dir "c:\test2" /b /s > test2.txt) else (echo.>
  test2.txt)
  使えないなら >298 に[下矢印]を追記.
  if not exist "c:\test\nul" echo.> test.txt
  if not exist "c:\test2\nul" echo.> test2.txt

  300 :名無し~3.EXE:2007/07/31(火) 19:36:10 ID:Hu1nS5yr
  いや echo.> test.txt だと2bytesになるっしょ.
  それと else とか () は使えない.

  301 :名無し~3.EXE:2007/07/31(火) 20:24:25 ID:1QfNp2Sl
  type nul > po.txt

  302 :名無し~3.EXE:2007/07/31(火) 20:42:45 ID:XA8WQJFO
  >301
  それ少なくともMS-DOS(3.3/5.0/6.2)/Windows95/98/Me/NT4.0/2000/XPでは正解.
  他のOSでは確認してないが.

  303 :名無し~3.EXE:2007/07/31(火) 20:44:51 ID:ChlSZmRF
  CreateObject ("Scripting.FileSystemObject").CreateTextFile ".\test2.txt", True

  304 :名無し~3.EXE:2007/07/31(火) 21:11:25 ID:mIH/KnHc
  俺は.
  copy nul hoge
  でやってた.

  305 :名無し~3.EXE:2007/07/31(火) 23:22:23 ID:XA8WQJFO
  >304
  そっちは確かNT系のWindowsのみ可能だったはず.

  306 :名無し~3.EXE:2007/07/31(火) 23:55:09 ID:IK31m5SS
  DOS/9x系なら.
  rem>hoge
  ってのもある.

  307 :名無し~3.EXE:2007/08/01(水) 13:15:29 ID:3O9k4hax
  0バイトのファイルを作る方法って定期的に出てくるよね.
  俺の一番のお気に入りは.
  rem>hoge.txt
  これを知ったのは20年ぐらい前のfj.os.dosあたりだったと思う.
  NTだと.
  .>hoge.txt
  ってのもある.
  エラーが出るけどファイルはちゃんと作られてる.
  文字数はこれが最小.
  エラーが出ない最小はなんだろう?

  308 :名無し~3.EXE:2007/08/01(水) 22:21:01 ID:9V4T7tMX
  cd.>fuga.txt
  98/2k/Vistaで確認.

  309 :名無し~3.EXE:2007/08/05(日) 16:18:47 ID:Bp/DvISo
  XPではダメですか.

  310 :>302, 305:2007/08/05(日) 20:54:33 ID:W6ka+1nd
  >308
  その手もあったか. XPでもできたよ. 俺は>301の方法が最も無難だと思ってるが.

  311 :名無し~3.EXE:2007/08/06(月) 21:13:46 ID:+YTckNXT
  20070805.txt
  20070804.txt
  20070803.txt
  上のようなログファイルがあり,
  日付が一番古いファイル(20070803.txt)を.
  バッチで削除したいと思ってます.
  dir /B /D > file で, ファイルを古い順に.
  並べられるのですが, 全てのファイル名が入ってしまいます.
  先頭の1行目だけにファイルにすれば, FOR文で抜き出して.
  削除できそうだと思うのですが, 何か良い方法が無いでしょうか.
  環境は, Windows2000とXPです. よろしくお願いします.

  312 :名無し~3.EXE:2007/08/06(月) 22:55:39 ID:XO1cJNnw
  @echo off
  call :sub
  del "%f%"
  goto :EOF
  :sub
  for /F "usebackq delims=" %%i in (`dir /B /D`) do (
  set f=%%~i
  goto :EOF
  )

  313 :311:2007/08/07(火) 22:19:14 ID:mOWz8I7r
  >>312
  遅くなってすみません.
  目的の動作が出来ました.
  ありがとうございました!

  314 :名無し~3.EXE:2007/08/08(水) 03:46:30 ID:bRJsedJb
  for /f "delims=" %%i in ('dir /b/a-d/on') do del %%i && goto :eof
  これだけでいいんでわ・・・.

  315 :名無し~3.EXE:2007/08/08(水) 23:50:03 ID:d9CU6bSI
  質問お願いします.
  set temp=おはよう.
  set temp2=こんにちは.
  set temp3=さようなら.
  set temp4=%temp%%temp2%%temp3%
  echo %temp4%
  このようなバッチを書くと結果が,
  おはようこんにちはさようなら.
  [上矢印]のようになります. これを,
  おはよう.
  こんにちは.
  さようなら.
  といった風に表示させたいのですが,
  変数の中に改行コードを入れる事は可能でしょうか.
  \n等をいれてみたのですが, そのまま表示されてしまいました.
  また, もし可能だとしたら, 変数には何文字くらい.
  代入が可能でしょうか.

  316 :名無し~3.EXE:2007/08/09(木) 00:23:38 ID:5dR+4Z7j
  >>315
  >変数の中に改行コードを入れる事は可能でしょうか.
  set temp=おはよう.
  set temp2=こんにちは.
  set temp3=さようなら.
  set temp4=%temp%^
  %temp2%^
  %temp3%
  echo !temp4!
  >変数には何文字くらい代入が可能でしょうか.
  XPの場合, 変数1つにつき 8192バイト,
  全環境変数の合計は変数名, 等号を含めて 65536KBまで.

  317 :315:2007/08/09(木) 00:40:16 ID:YG2BLxw3
  >>316
  すみません.
  XPで試したのですが, うまく行きません.

  318 :名無し~3.EXE:2007/08/09(木) 01:55:20 ID:c4/2tjXG
  >>317
  つsetlocal enabledelayedexpansion

  319 :名無し~3.EXE:2007/09/06(木) 22:13:52 ID:p7g9huyD
  お世話になります.
  コマンドプロンプトでヘルプを読むときに,
  dir /? 等と打つと, dirのヘルプを読めますが,
  全てのマニュアル内容を表示させることは出来るでしょうか?
  出来れば, ひとつのファイルにリダイレクトして,
  コマンドプロンプトのヘルプとして保存したいと思います.
  使用OSは, XPですが98やNT/2000での表示方法も違うようでしたら.
  ご教授頂ければ幸いでございます.
  よろしくお願いします.

  320 :名無し~3.EXE:2007/09/06(木) 22:24:57 ID:cBR0cADs
  (for /f "tokens=1" %a in ('help') do %a /?) >help.txt
  こんな感じのこと?
  ファイルが長ったらしいし必要なときに必要なコマンドのヘルプだけ参照した方がいいと思うけど・・・.

  321 :名無し~3.EXE:2007/09/06(木) 23:33:19 ID:p7g9huyD
  >>320
  そうです!助かりました. ありがとうございます!

  322 :名無し~3.EXE:2007/09/07(金) 01:47:00 ID:asFtjM75
  C:\WINDOWS\pchealth\helpctr\binaries\HelpCtr.exe /url
  ms-its:ntcmds.chm::/ntcmds.htm
  こっちだろ・・・.

  323 :名無し~3.EXE:2007/09/07(金) 01:52:31 ID:d+r8xArP
  start helpctr /url ms-its:ntcmds.chm::/ntcmds.htm
  または.
  hh ms-its:ntcmds.chm::/ntcmds.htm

  324 :名無し~3.EXE:2007/09/10(月) 13:18:02 ID:HtOy1mDZ
  BATの質問です.
  条件分岐はどの様にやれば宜しいのでしょうか.
  具体的には,
    メッセージ:    **を実行しますか?(Y/N)
    Yの時はラベルAのコマンド群をNの時はBAT終了.
  ご教示, よろしくお願いいたします.

  325 :名無し~3.EXE:2007/09/10(月) 13:51:50 ID:AyQQeB8K
  >324
  MD-DOS時代にはChoiceで選択できたらしい.
  今はそれが使えないからChoiceの代わりにこういう風にする.
  http://haoki.hp.infoseek.co.jp/MS-DOS/ExamplesOfBatchFiles.html

  326 :名無し~3.EXE:2007/09/10(月) 18:29:06 ID:HtOy1mDZ
  >>325
  うまくいきました.
  ありがとうございました.

  327 :名無し~3.EXE:2007/09/11(火) 14:51:32 ID:tSfBcypB
  WindowsNT/2000などの別売リソースキットに収録されてる CHOICE.EXE (CHOICE.COMじゃない)が.
  そのままXPでも使える.

  328 :名無し~3.EXE:2007/09/11(火) 16:52:42 ID:Coumuge0
  choice.exeは無償のものがMSからdownloadできる.

  329 :名無し~3.EXE:2007/09/13(木) 00:30:10 ID:ZL/yiW6X
  チョイっとね.

  330 :名無し~3.EXE:2007/09/16(日) 21:54:53 ID:3LXuaGLV
  リネームに関することで質問です.
  ファイル名のデータをエクセル内から取得することは可能でしょうか?
  例えば, B2のセルに「hoge」, C4のセルに「hage」と入っているとして,
  そのエクセルファイルをバッチファイルにドラッグ&ドロップすると,
  「hogehage.xls」とリネームされるようにしたいのです.
  リネーム前のファイル名は不定です.
  よろしくお願いします.

  331 :名無し~3.EXE:2007/09/16(日) 23:47:26 ID:tctmZAgJ
  >>330
  無理な気がする. WSHなら出来るかもしれないが.
  エクセルファイルがあるんなら, それをテキストファイルに落として,
  テキストファイルからリネームさせれば?
  それならバッチでもリダイレクト出来るだろう.

  332 :名無し~3.EXE:2007/09/17(月) 00:32:42 ID:1iW1pKfD
  Set Application=CreateObject("Excel.Application")
  MsgBox Application.ExecuteExcel4Macro("'C:\Documents and Settings\My
  Documents\[Book1.xls]sheet1'!R1C1")
  みたいに.

  333 :名無し~3.EXE:2007/09/17(月) 09:34:26 ID:Gub8Dds7
  ファイル名を変更の単純作業を命じられて途方に暮れてるんだろな.
  Excelからリストを含んだVBSかなんかを出力させるようにすりゃ良いんだよ.

  334 :名無し~3.EXE:2007/09/17(月) 09:56:58 ID:u5TAhrJD
  >>330
  エクセルからCVSにでも変換すれば何とかなるんじゃ?
  ただ, ファイル名にスペースが含まれる場合などは, きちんと対策しておかないと死ぬと思うので要注意.

  335 :名無し~3.EXE:2007/09/17(月) 10:12:35 ID:P35yenRW
  hoge.txtをmoveするときに目的フォルダに同名ファイルがあるとします.
  そのとき, 移動するファイル名に-002とかを付加してmoveすることは出来ますか?

  336 :名無し~3.EXE:2007/09/17(月) 11:43:28 ID:qFWL8DrH
  if exist でかくにんしれ.

  337 :名無し~3.EXE:2007/09/17(月) 13:40:32 ID:P35yenRW
  >>336
  ありがとう. やってみます.
  コマンドライン初心者ですけど, 頑張ります!
  フィル振り分けソフトってろくなのが無いので, バッチファイルが書けるまで頑張ります!

  338 :名無し~3.EXE:2007/09/18(火) 01:58:17 ID:gMM571jL
  hoge.exe に -foo -bar オプションを付けて.
  いくつものフォルダ(数百個)に分散した大量のファイル(約50万個)を渡したいんですが.
  バッチファイルでファイル名を書いたtxtを勝手に参照してもらう方法は無いでしょうか.
  あるいは他にもっと手っ取り早い方法はないでしょうか.

  339 :名無し~3.EXE:2007/09/18(火) 03:46:19 ID:gdYBVbuE
  for /f

  340 :名無し~3.EXE:2007/09/18(火) 20:52:10 ID:VaDU0MRP
  質問させてください.
  FireFoxとかインストールするときに次へ進むボタンとかあるけど.
  batだけで全部インストール処理できますか?

  341 :名無し~3.EXE:2007/09/18(火) 21:47:07 ID:y2b0bLvN
  インストーラにそーいうオプションスイッチがあれば可能.
  なければ無理. batでボタン押したりは出来ない. wsh使え.

  342 :340:2007/09/18(火) 22:17:18 ID:VaDU0MRP
  >>341
  ありがとうございます.
  ちょっと調べましたがwshで作ったコードを保存したら.vbsになりますよね.
  ということは全てのwindows環境で実行することができませんよね?
  できれば.exeとか.batでありませんでしょうか?

  343 :名無し~3.EXE:2007/09/18(火) 22:23:59 ID:OeER2hXe
  何を言っているんだ.

  344 :340:2007/09/18(火) 22:35:51 ID:VaDU0MRP
  >>343
  ごめんなさい. .vbsって実行できますよね.
  勘違いしてたみたいですね.
  ありがとうございました.

  345 :名無し~3.EXE:2007/09/19(水) 01:45:03 ID:fRhBg93X
  このスレのこのマターリ感が好きつーか殺伐とした俺漏れの仕事の疲れを癒してくれる.
  Pt.2かPt.3の頃から進化しないつーか深化しないと言えばそれまでだけど.
  けして悪口じゃなくて本心です.

  346 :名無し~3.EXE:2007/09/19(水) 04:12:41 ID:xdlzKm9f
  >>344
  >>.vbsって実行できますよね.
  できませんよ.

  347 :340:2007/09/19(水) 09:45:46 ID:+9iiRmg+
  >>346
  あ, やっぱできませんでしたか.
  じゃあやっぱ.batみたいな普通の環境で実行できるやつがいいな. .
  wsh以外でインストーラーのボタンを押せるもの何かありますか?

  348 :名無し~3.EXE:2007/09/19(水) 10:34:13 ID:hmqMAoL+
  なんでWSHが実行できないの?禁止されてる環境なのか?

  349 :名無し~3.EXE:2007/09/19(水) 22:42:31 ID:xdlzKm9f
  >>348
  Windows 3.1 とか, Win95(with out IE)とか.

  350 :名無し~3.EXE:2007/09/20(木) 11:01:44 ID:1uTHvdSs
  そういやWin95のOSR2でもWSHを使える環境と使えない環境を見た覚えがある.

  351 :名無し~3.EXE:2007/09/20(木) 11:52:07 ID:ylAti8AR
  そんな昔のOSは使ってないと思うよ.
  普通はvbsは実行できるはず.

  352 :名無し~3.EXE:2007/09/22(土) 14:17:28 ID:u6hq42dc
  95は場合によっては現役だったりするかもしれないけど.
  FireFoxってWin3.1で動くの?

  353 :名無し~3.EXE:2007/09/22(土) 14:41:01 ID:K4jH93N6
  FireFoxはNT4.0ならサポートしてるな.

  354 :名無し~3.EXE:2007/09/23(日) 00:11:23 ID:0zXrh7do
  FTPのコマンドに関する質問です.
  会社と家で同じファイルの同期をとり続けるためにFTPのコマンドを使おうとしています.
  (やりとりに使うサーバはさくらのレンタルサーバです)
  家ではうまく接続でき, 問題なくダウンロード, アップロードできるのですが,
  会社ではダウンロード, アップロードがうまくいきません.
  ブラウザではプロキシの設定をしているので, プロキシの設定が必要なのかと思い,
  Windows標準のFTPクライアントでは不可能っぽいので諦めていたのですが,
  FFFTPでは導入してすぐにダウンロードできているのでよく原因がわかりません.
  詳しい方ご教授お願いします.

  355 :名無し~3.EXE:2007/09/23(日) 00:29:56 ID:YiMPoOFi
  >>354
  ・FTPコマンド実行時, どの段階でうまく行かなくなるのか.
    実際に入力しているコマンドとそれによる標準出力を列記.
    (FTPサーバ名やユーザ名等, 個人情報はマスク)
  ・うまく行かない時に表示されるメッセージと挙動の詳細.
  まずは, 以上について説明して下さい.
  「うまくいかない」だけでは回答しようがないのです.

  356 :名無し~3.EXE:2007/09/23(日) 00:33:47 ID:0zXrh7do
  >>355
  すみません・・・・・・.
  今家で正確なエラーメッセージの確認はできないです. 月曜に確認してきます.
  ただ接続はうまくいっていて,
  getとputの段階でプロンプトが落ちる, という症状でした.
  ログは取っていたのでそこまでわかったのですが, エラー内容までは覚えていません.
  今言えるのはここまでです. 失礼しました.

  357 :名無し~3.EXE:2007/09/23(日) 09:46:45 ID:Tq1GuzbT
  月曜は休みだぞ.

  358 :名無し~3.EXE:2007/09/23(日) 10:06:36 ID:ZAaCzpBz
  うちの会社は出勤日だ.

  359 :名無し~3.EXE:2007/09/23(日) 12:54:59 ID:oPSAXKaI
  452

  360 :名無し~3.EXE:2007/09/23(日) 14:14:04 ID:r/hHw6Mr
  こんにちわ.
  renコマンドで, サブフォルダの中のファイルも一括で処理することはできますか?
  ものによっては/sというスイッチをつける物もあるようですが, renではできませんよね?

  361 :名無し~3.EXE:2007/09/23(日) 18:38:08 ID:BAQKEi+X
  そうですね.

  362 :名無し~3.EXE:2007/09/23(日) 18:57:58 ID:/Q7UHlkY
  >>356
  会社だとファイヤーウォールの内側なので.
  FTPのデータ転送コネクション確立のための外部からの接続要求は.
  ファイアーウォールによって弾かれ接続できない.
  従って, 内側から接続要求を出す必要がある.
  このためにはPASV(パッシブ)モードにして内部から接続要求を出す必要がある.
  が, windowsのftpサブコマンドにはpassiveが無いので.
  (2000までには無かった. たぶんXPやVistaにも無かろうと思う)
  もっと高機能なftpクライアントが必要.

  363 :名無し~3.EXE:2007/09/23(日) 19:01:43 ID:/Q7UHlkY
  なお, ftpコマンドでダメでもExplorerやInternet ExplorerではPASVモードを.
  サポートしてるのでアクセス可能.

  364 :名無し~3.EXE:2007/09/24(月) 01:51:00 ID:pRSpVT9A
  >>360
  拡張子をlog->txtにするなら.
  FOR /F "DELIMS=" %A IN ('DIR "E:\hoge hoge\*.log"/B /S /A-D') Do REN "%A"
  "*.txt"
  こんな感じかな.

  365 :名無し~3.EXE:2007/09/24(月) 06:50:04 ID:AiJMwWuW
  >>364
  できました!コマンドラインも奥深いわ. めっちゃありがとう.

  366 :名無し~3.EXE:2007/09/24(月) 19:00:56 ID:+Pu3qWa3
  >>362
  今日会社でその結論にたどり着きました.
  諦めてFFFTPでやりとりしようと思います.
  家では自動化できるだけマシと思いつつ・・・・・・.

  367 :名無し~3.EXE:2007/09/25(火) 09:21:29 ID:qp05KsMz
  FFFTPでも簡単なことならコマンドラインで指定できるけどね.
  ncftpを使ったほうがいいかも.

  368 :名無し~3.EXE:2007/09/29(土) 12:59:58 ID:rhAGaWpx
  ファイル名にAとBが含まれているのを選択してmoveしたいのですが, どうしたらいいのでしょうか?
  *A*B*と*B*A*と書く方法しか知らないので, ご教授をお願いします.

  369 :名無し~3.EXE:2007/09/29(土) 19:13:18 ID:ONh9+IA8
  WindowsのCUI, バージョンアップするたびに強化され, GUI経由でしか出来ないことが減ってきて.
  管理しやすくなってきたけど, Windows Server 2008ではついにエクスプローラシェルの排除まで.
  出来るようになるらしい.
  http://www.atmarkit.co.jp/fwin2k/winsv2008/01overview/01overview_04.html

  370 :名無し~3.EXE:2007/09/29(土) 19:18:04 ID:ONh9+IA8
  この勢いで次バージョンあたりでキャラクタコンソールのみのインストールオプションも付けてほしい.

  371 :名無し~3.EXE:2007/09/29(土) 23:04:46 ID:QieKgrdm
  >>366
  めっちゃ遅レス, かつ>>367もちょこっと言ってる事だけど, Win標準ftp.exeより.
  高機能なFTPクライアントは結構ある.
  例(シェアはシラン)
  http://www.abk.nu/~kattyo/freesoft.htm#prog_ftp
  =>使わなかったけど, if文とかつかえて面白そう.
  ftp-for-win32.zip
  =>UNIXの移植版 PASVが使えるけど, mget *でバグがあったような.
  http://www.geocities.jp/rich_slipper/soft/soft.html
  =>1ライナーで使えるのでバッチファイルとかに組み込みやすい.
  http://www.hi-ho.ne.jp/babaq/basp21.html
  =>WSH等で使える.
  自分もFTP操作自動化で最近悩んでたので, ついで.

  372 :名無し~3.EXE:2007/09/29(土) 23:16:34 ID:dWv53Cay
  >>368
  AとBはそれぞれ一個ずつなのか?それとも重複してもいいのか?例 aaabbaaa.txt
  また, aとbは文字通りの一文字なのか?それともwordなのか?
  まあ, forとfindstrを組み合わせて(必要ならパイプでデータ受け渡し), 正規表現でヒットさせろよ.

  373 :名無し~3.EXE:2007/09/30(日) 02:06:32 ID:i+tF55N1
  >>372
  ありがとうございます. 重複してもいいです.
  具体的にはファイル名に「福田康夫」と「国会」の2つを順不同で含むファイルをC:\福田康夫\国会へ移動したいのです.
  名前が100人分, 案件が各20件で計2000の振り分け条件で振り分けたいのですが, フリーソフトを使うとCPU使用率が100%に張り付くので.
  パッチ処理にトライしている次第です.
  ご教授の方法でトライします. 結果を報告できるようがんばります.

  374 :名無し~3.EXE:2007/09/30(日) 02:53:16 ID:D3bkO61x
  ほんの一例.
  dir/b | findstr 福田康夫 | findstr 国会 >tmp.txt
  for /f "delims=" %%I in ('type tmp.txt') do move "%%~I" c:\福田康夫\国会.
  del tmp.txt

  375 :373:2007/09/30(日) 05:04:24 ID:/1yS/Qr0
  >>374
  今, 酔っぱらっていますが, すっげー感激.
  明日, 素面になったらやってみます.
  マジ, 感激してます. ありがとう御座います.

  376 :名無し~3.EXE:2007/10/05(金) 08:18:44 ID:ysb+mHrv
  HDD内のデーターに, 操作するとCRC冗長エラー, を出すファイルがあったので.
  そのドライブに対して, CHKDSK ドライブ:  /R  をかけたら.
  昨夜から10時間以上やって29%しか進みせん.
  タスクマネージャー/プロセスでchkdsk.exeが仕事をしている様子も全然なし. (0%)
  1時間前には6%だったので完全には死んではいないと思うのですが・・・.
  (6%で長時間停止->動き出す->29%でまた停止)
  これはもうドライブが死亡間近と考えて新しい外付けにデータを退避させることも考えているのですが,
  現在やっているCHKDSK と  コマンドプロンプトを中断させるのは危険でしょうか?

  377 :名無し~3.EXE:2007/10/05(金) 08:42:31 ID:/YK8Gma1
  いつ中断してもいいよ.

  378 :名無し~3.EXE:2007/11/01(木) 15:30:20 ID:5dS7zZtr
  hosyu

  379 :名無し~3.EXE:2007/11/04(日) 07:04:04 ID:V+2wa1CI
  今日初めて知ったこと.
  C:\>set /a 7*7
  49
  C:\>_
  変数名書かなければ, 計算出来たのか.

  380 :名無し~3.EXE:2007/11/05(月) 00:18:42 ID:lgskxUHc
  C:\>set /a x=7*7
  49

  381 :名無し~3.EXE:2007/11/06(火) 16:25:05 ID:+zVUig6T
  バッチの中だと出ないのー.

  382 :名無し~3.EXE:2007/11/06(火) 21:22:54 ID:8wMnx2Yd
  変数名書こうと書くまいと.
  プロンプトからなら答えが出るし.
  バッチからだと出ない.

  383 :名無し~3.EXE:2007/11/07(水) 14:38:44 ID:TznxkJFx
  質問させてください.
  ドライブレターの変更ってどうやったらよいでしょうか?
  ハードディスクのレターがAになってるので, Cに変えようと思ったのですが,
  コマンドがわからず・・・.

  384 :名無し~3.EXE:2007/11/07(水) 14:52:48 ID:BlzrMWmf
  カレントディレクトリを変更したいのか,
  システム的にドライブレターを変更したいのか,
  どっち?
  カレントディレクトリの変更ならこのスレ的だろうけど,
  システム的にドライブレターを変更したいならここじゃないと思うよ.

  385 :名無し~3.EXE:2007/11/07(水) 15:09:18 ID:JFoxjGSq
  >>383
  HDDがAってどんな環境だ.
  PC-9821にWin98でも入れてんのなら, 基本的に再インストールしかないと思うよ.
  システムの入ったドライブは簡単には移動できないから.

  386 :名無し~3.EXE:2007/11/07(水) 18:04:53 ID:b7Qady4y
  Aドライブがハードディスクなら十中八九PC-9821だろ.

  387 :名無し~3.EXE:2007/11/07(水) 18:10:09 ID:TznxkJFx
  そうす.
  9821す.
  HDDをCにしたいって事です.
  でもドライブレター変更て, コマンドではできなかったでしたっけ?
  なんか, 駄目くさい気がしてきました・・・.

  388 :名無し~3.EXE:2007/11/07(水) 18:41:55 ID:fWyPbxkF
  >>387
  インスコ時, ATオプションをつけるとHDDがCになったような希ガス.
  外部コマンドのSUBSTでやりくりするとか.
  うろ覚えなのでゲイツにでも聞いてくれ.

  389 :名無し~3.EXE:2007/11/07(水) 19:05:03 ID:3xhNtlCa
  XPなら, コマンドでドライブレターの変更はできるが.
  それでもシステム, ブート, ページングのボリュームのドライブレターは変更できないよ.

  390 :名無し~3.EXE:2007/11/07(水) 20:43:48 ID:9JvKdpgS
  物持ち良いな, 98かぁ.

  391 :名無し~3.EXE:2007/11/07(水) 22:46:47 ID:TznxkJFx
  >>388
  ちょっとその方法試してみます.
  なんかダメポい気もするので, 駄目だったらおとなしくAで使っときます(^^

  392 :名無し~3.EXE:2007/11/07(水) 23:28:26 ID:XEtIoW0A
  HDDをCにするとA, Bが当然FDDになるんだけど.
  1FDDの場合間違ってBにアクセスするとブラックスクリーンになるんだよね〜.
  害はないけど.

  393 :名無し~3.EXE:2007/11/14(水) 01:13:59 ID:iPd4DuNf
  2003のコマンドプロンプトで入力途中ついTabキー押したら.
  ファイル名が補完されて驚いたよ.
  なんだいLinuxに負けず劣らず便利じゃねぇか.
  ついでに dir の代わりに ls で.
  ディレクトリ内容も表示してくれるといいなぁ.

  394 :名無し~3.EXE:2007/11/14(水) 01:25:55 ID:TY8Yz81u
  doskey ls=dir

  395 :名無し~3.EXE:2007/11/14(水) 01:29:57 ID:PZU5+JwT
  >>393
  doskey ls=dir /w $*

  396 :名無し~3.EXE:2007/11/14(水) 02:32:20 ID:M6m1VNvq
  >>393
  powershell入れたらいいと思うよ.

  397 :名無し~3.EXE:2007/11/15(木) 01:36:03 ID:wRAvcu5i
  >>394-396
  ありがとー.
  lsでディレクトリが表示されるのは非常に快適だ.
  わかっちゃいるんだがつい手がlsと打ってしまうからね.
  Powershellってのもなかなか良さそうだ.
  今度時間のある時に入れてみよう.

  398 :名無し~3.EXE:2007/11/24(土) 20:12:56 ID:77fPn1BF
  >>392
  subst b: c:\

  399 :名無し~3.EXE:2007/11/29(木) 20:34:39 ID:9IgcnDtW
  エクセルのファイルを右クリックすると印刷というメニューがでて.
  それを選択すると印刷ができますが,
  同様の挙動をDOSコマンドから得ることはできまつか?

  400 :名無し~3.EXE:2007/11/29(木) 22:37:36 ID:83NzChea
  rundll32.exe MSHTML.DLL, PrintHTML エクセルのファイル.

  401 :名無し~3.EXE:2007/11/30(金) 04:00:36 ID:tDpWdtj8
  マルチでつか?
  http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=2481299&SiteID=7

  402 :名無し~3.EXE:2007/11/30(金) 12:46:09 ID:tDpWdtj8
  >>399
  お探しのものはこれでつか?
  http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/oct04/hey1004.mspx

  403 :名無し~3.EXE:2007/12/02(日) 00:11:24 ID:xxMGDSmd
  スクリプト使わずにバッチファイルでできんのか?

  404 :名無し~3.EXE:2007/12/02(日) 09:46:33 ID:kErETC/K
  バッチファイルってバッチスクリプトを記述したファイルだと思ってたんだけど違うんですね.

  405 :名無し~3.EXE:2007/12/02(日) 23:19:31 ID:vAy7xVi5
  「バッチスクリプト」って単語を20年パソコン使ってきて初めて聞いた.

  406 :名無し~3.EXE:2007/12/02(日) 23:26:41 ID:Y59hieEz
  ヘルプには以下のようにある.
  >バッチ プログラムまたはスクリプトとも呼ばれるバッチ ファイルを使用すると,
  >簡単にルーチン作業または繰り返し作業を行うことができます.
  >バッチ ファイルとは, 純粋なテキスト ファイルで, 1 つ以上のコマンドが含まれており,
  >ファイル名拡張子として .bat または .cmd が付いています.
  >コマンド プロンプトでそのファイル名を入力すると, Cmd.exe によって.
  >ファイルに記述されている順番でコマンドが実行されます.
  >バッチ ファイルには, 任意のコマンドを記述できます. for, goto, if などの特定のコマンドを使用すると,
  >バッチ ファイル内のコマンドを条件に応じて実行できます.
  >たとえば, if コマンドでは, 条件の結果に基づいてコマンドが実行されます.
  >そのほかのコマンドを使って, 入出力を制御したり, ほかのバッチ ファイルを呼び出すこともできます.
  >ほとんどのアプリケーションが返す標準エラー コードは, エラーが発生していない場合は 0,
  >エラーが発生した場合は 1 (またはそれ以上の値) です.
  >特定のエラー コードの意味を調べるには, アプリケーションのヘルプ ドキュメントを参照してください.

  407 :名無し~3.EXE:2007/12/03(月) 19:35:11 ID:RVtK1L0R
  確かにあまり使わないけど, 解説本等では目にするよ.
  「バッチスクリプト」って.
  そもそもスクリプトじゃ何のスクリプトか分からんだろ.

  408 :名無し~3.EXE:2007/12/03(月) 23:25:21 ID:UMhrU1NK
  利用可能なコマンド一覧を表示するコマンド無いですか?

  409 :名無し~3.EXE:2007/12/03(月) 23:39:22 ID:uge6z7Xo
  ん?helpじゃいかんのか?
  それともパスの通ってるところにある全実行ファイルってこと?

  410 :名無し~3.EXE:2007/12/04(火) 00:39:55 ID:Y8Lltu0y
  某むゎかふぃーのサポート(しかも法人相手の有償サポ)は.
  「ウィルスが検知された時にバッチプログラムを実行する機能」が.
  正常にバッチを実行しない旨, 問い合わせをしたら.
  「EXEファイルしかサポートしてません」とホザきやがったよ.

  411 :名無し~3.EXE:2007/12/04(火) 00:44:09 ID:z2LH0I31
  WindowsはEXEファイルしか実行できないんだからそれで十分だろ.

  412 :名無し~3.EXE:2007/12/04(火) 00:47:38 ID:K6BIfF3b
  てゆーか.
  「ウィルスが検知された時にバッチプログラムを実行する機能」
  と銘打ってるんなら, ダメだろw動かなきゃ.

  413 :名無し~3.EXE:2007/12/11(火) 18:01:11 ID:m8423oGD
  Windows XPで.
  cmd.exeを実行したときのコンソールウィンドウの編集モードを.
  デフォルトで簡易編集モードに設定する方法はないのでしょうか?
  ショートカットや, 同じ名称のウィンドウなら個別で設定できるのですが.
  そうじゃなく常に簡易編集モードにする方法が知りたいです.
  参考(役に立たなかった説明)
  http://support.microsoft.com/kb/282301/ja
  WinXP ではコマンド プロンプトの簡易編集モードが既定で無効.

  414 :名無し~3.EXE:2007/12/11(火) 18:18:39 ID:hxLMQTTa
  レジストリに設定しておけばいい.
  [HKEY_CURRENT_USER\Console]
  "QuickEdit"=dword:00000001

  415 :名無し~3.EXE:2007/12/11(火) 21:40:52 ID:m8423oGD
  >>414
  お!すばらしいです.
  既にカスタマイズしたパラメータも下のキーにあるので.
  これで上書きすればよいですね.

  416 :名無し~3.EXE:2007/12/14(金) 15:39:39 ID:EG7UyQah
  E:\WORK\hoge>dir /b /o:n
  hoga.txt
  hoge.txt
  ho'''''ge.txt
  hogee.txt
  ho-----gee.txt
  hogo.txt
  なにやら不思議なソート結果に・・・何これ?

  417 :名無し~3.EXE:2007/12/15(土) 20:32:48 ID:J3SQ8eGY
  こんにちは, 質問させてください.
  DOSコマンドでアプリケーションを終了したいのですが,
  TASKKILLコマンドを使用して,
  taskkill/im realplay.exe/f/t
  とやっても, 「'taskkill'は内部コマンドまたは外部コマンド, 操作可能な・・・」
  といったメッセージが返ってきます.
  コマンドの問題箇所, もしくは他のコマンドがありましたら,
  教えてくださいませ, よろしくおねがいいたします.

  418 :名無し~3.EXE:2007/12/15(土) 20:59:33 ID:wVP0mofE
  taskkill /?

  419 :名無し~3.EXE:2007/12/15(土) 21:07:05 ID:83Egwg+h
  OSは?2000とかならtaskkillはないよ.
  サポート ツールにkillがある.

  420 :名無し~3.EXE:2007/12/15(土) 21:09:00 ID:dfEri7hZ
  XP Homeにもない.

  421 :名無し~3.EXE:2007/12/15(土) 21:21:03 ID:Uqxi5nec
  OSはXP HOMEです・・・.
  サポートツールってMICROSOFTのサイトですか?

  422 :名無し~3.EXE:2007/12/15(土) 21:28:37 ID:dfEri7hZ
  >>421
  taskkill簡易版というのがある.
  XP Professionalのtaskkillコマンドに似せた形式のコマンド.
  http://www.vector.co.jp/soft/winnt/util/se401845.html

  423 :名無し~3.EXE:2007/12/15(土) 21:34:47 ID:lBxshq29
  exitをSysExにして送信すればよい.

  424 :名無し~3.EXE:2007/12/15(土) 22:39:05 ID:5rIoihq9
  tskill/?

  425 :名無し~3.EXE:2007/12/15(土) 23:11:01 ID:L+mv8qPX
  >>422
  なるほど, こんなのあるんですね, ありがとうございました!!

  426 :名無し~3.EXE:2007/12/16(日) 02:07:48 ID:4FMgTbfK
  >>424は無視ですかそうですか.

  427 :名無し~3.EXE:2007/12/17(月) 23:08:28 ID:BFIgzHr0
  2000 Support Toolsのkill.exeやtlist.exはMSからダウンロードできない?

  428 :名無し~3.EXE:2007/12/19(水) 20:20:25 ID:AdtoV95K
  出来る.

  429 :名無し~3.EXE:2007/12/26(水) 00:33:00 ID:rbjdjGQz
  \aaaa\bbbb\
  [下矢印]
  \aaaa\bbbb
  のような最後の\だけ取ることってどうやれば出来ますか?

  430 :名無し~3.EXE:2007/12/26(水) 00:47:37 ID:HdyjgLd3
  if %var:~-1% equ \ set var=%var:~0, -1%
  だけどルート(C:\)の場合とかあるから, 無条件にとるのは止めたほうがいいぞ.
  どっちかというと逆に必ず\で終わるようにするロジックに変えたほうがいい.
  if %var:~-1% neq \ (set var=%var%\)

  431 :名無し~3.EXE:2007/12/26(水) 18:48:14 ID:Jz+7hx4Q
  しかし誘導厨とはウザいものだな.

  432 :名無し~3.EXE:2007/12/26(水) 19:00:57 ID:low3Iayr
  向こうのスレとの住みわけ範囲がよく分からない.
  何話したいんだろうな, 向こうは.
  forとifのオプションの話しか出来ないような気も.

  433 :名無し~3.EXE:2007/12/26(水) 22:59:07 ID:RLSVoyeP
  んなこたぁ無い.
  住み分けとかじゃなく, 単に捉え方の差だと思う.
  本来, 両方で存在してても全く問題ないと思うんだが.

  434 :名無し~3.EXE:2007/12/26(水) 23:06:03 ID:low3Iayr
  うん, まぁ住民の大半が被ってるとは思うんだけど.
  外部コマンドに頼る, 又は実用的なものはココ.
  文法的なこと, ロジカルな問題がアッチ, ってとらえ方であってる?

  435 :名無し~3.EXE:2007/12/26(水) 23:10:01 ID:50mfR39P
  いや.
  別に誘導する必要はまったく無い.
  区分けも不要.
  質問は各個撃破でおk

  436 :名無し~3.EXE:2007/12/27(木) 11:03:08 ID:X9+WkMgT
  ごみ箱にファイルがあるかないかを聞きたいのですが.
  XPで隠しファイルを表示にしてもrecycleフォルダがありません.
  レジストリから取得でもなんでもいいのですが.
  どうやったらいいのでしょうか.

  437 :名無し~3.EXE:2007/12/27(木) 13:01:44 ID:2TeHSSTX
  ごみ箱を空にするバッチファイルとVBScript
  http://www.vector.co.jp/soft/win95/util/se313491.html
  が参考になるんじゃね?

  438 :名無し~3.EXE:2007/12/27(木) 15:19:09 ID:X9+WkMgT
  >>437
  ありがとうございます.
  batファイルというかバッチコマンドだけというのは.
  無理そうですね・・・.

  439 :名無し~3.EXE:2007/12/27(木) 18:27:49 ID:3yzeEI0b
  つぎ誘導されてきたらそのまま誘導し返そうか.

  440 :名無し~3.EXE:2007/12/27(木) 20:54:45 ID:poBRtKPI
  やめとけ. 荒れるだけ.

  441 :名無し~3.EXE:2007/12/28(金) 01:19:39 ID:f9N/29cr
  基地害が誘導してきたものはそのまま誘導し返してok.

  442 :名無し~3.EXE:2007/12/28(金) 01:32:06 ID:yjdMHYge
  みんな, スルー力を高めようぜ.

  443 :名無し~3.EXE:2007/12/28(金) 07:44:57 ID:ElkJaKCc
  向こうってどのスレ?好奇心で覗きにいきたんだけど.

  444 :名無し~3.EXE:2007/12/28(金) 10:13:04 ID:70uw9AsQ
  [.cmd] バッチファイルスクリプト %2 [.bat]
  http://pc11.2ch.net/test/read.cgi/tech/1197881068/

  445 :名無し~3.EXE:2007/12/28(金) 16:31:06 ID:yjdMHYge
  どっちのスレで何聞いてもいいと思うんだが.
  状況知らない人に説明すると, 向こうのスレには基地外が.
  一人いて(こっちも見てるはず?)なんでもかんでも, こっちに.
  誘導しようとしている.

  446 :名無し~3.EXE:2007/12/28(金) 21:45:28 ID:LlF9YfFL
  >>438
  できるよ.
  http://pc11.2ch.net/test/read.cgi/tech/1197881068/75
  みたいに.

  447 :名無し~3.EXE:2008/01/18(金) 23:20:48 ID:j9d+PS7f
  「ブリーフケース」を作ろうとしてレジストリで  .bfc  という拡張子のところの.
  ShellNewのCommandが.
  %SystemRoot%\system32\rundll32.exe %SystemRoot%\system32\syncui.dll,
  Briefcase_Create %2!d! %1
  であることから, 次のようなコマンド.
  C:\WINDOWS\system32\rundll32.exe C:\WINDOWS\system32\syncui.dll,
  Briefcase_Create "D:\Tmp" ブリーフケース"
  をコマンドプロンプトから入れてみましたが, メッセージなどは出ませんでしたが,
  ブリーフケースは作成されませんでした. このコマンドラインをどのように修正すれ.
  ばいいでしょう?よろしくお願いします.

  448 :名無し~3.EXE:2008/01/19(土) 00:38:57 ID:sSEzOzL6
  [上矢印]なんかデスクトップにブリーフケースが出来たよ.

  449 :名無し~3.EXE:2008/01/19(土) 08:24:46 ID:/uF4QVUs
  >>448
  やってみてくださり, ありがとうございました. いまわたしも気がつきました.
  確かにデスクトップにできてました. なんで  D:\Tmp  にできないのか・・・・・,
  どこをどう直せばいいのでしょう??

  450 :名無し~3.EXE:2008/01/19(土) 09:27:24 ID:qyNXQNI1
  C:\WINDOWS\system32\rundll32.exe C:\WINDOWS\system32\syncui.dll,
  Briefcase_Create 1 C:\Documents and Settings\user\デスクトップ\新規ブリーフケース.

  451 :名無し~3.EXE:2008/01/19(土) 09:54:47 ID:/uF4QVUs
  >>450
  おお, この  1  が必要だったんですね!わかりました. ありがとうございました!!

  452 :名無し~3.EXE:2008/01/20(日) 19:37:05 ID:WxOVD6GN
  パンツ入れかよ.

  453 :名無し~3.EXE:2008/01/20(日) 20:49:39 ID:KKGepza4
  >452
  今の人はブリーフケース知らんかもな.
  確かWin98辺りまではあったよ. そういう機能が.

  454 :名無し~3.EXE:2008/01/20(日) 21:45:54 ID:/whP3Oqq
  95〜Vistaまで, すべて入ってるような気がするが・・・・.

  455 :名無し~3.EXE:2008/01/20(日) 22:27:18 ID:T0Gjpk8k
  俺は存在自体忘れてたがな.

  456 :名無し~3.EXE:2008/01/20(日) 23:58:23 ID:nLJrkLME
  名前は知ってるけど使い方は知らん.

  457 :名無し~3.EXE:2008/01/21(月) 01:01:11 ID:B/YHJUBh
  いつのまにかにclipなんてコマンドが加わってるんだね.

  458 :名無し~3.EXE:2008/01/21(月) 01:39:44 ID:fDwpgtYX
  >>453
  いま西暦何年か言えますか?

  459 :名無し~3.EXE:2008/01/21(月) 02:55:37 ID:Phaws+EF
  Win98以前は初期状態のデスクトップにブリーフケースが置かれていたんだよ.
  2000になって置かれなくなった.
  今でも新規作成から作ることはできるけど, 98以降は影が薄くなったのは確か.

  460 :名無し~3.EXE:2008/01/21(月) 08:24:29 ID:Gr9XxhBx
  昔, おじいさんがゲイツかなんかに.
  「わしは何年もつかっとるが未だにブリーフケースの使い道がワカランのじゃ」
  みたいに言うジョークがあったな.
  探してみたけど見つからない, コピペじゃないのかな.

  461 :名無し~3.EXE:2008/01/25(金) 00:18:26 ID:8TpBX6Fi
  Vista で, Linux の su や sudo に当たるコマンドはありますか?
  コマンドプロンプトで操作している時に, 一時的に管理者としてコマンドを実行したいのですが・・・.

  462 :名無し~3.EXE:2008/01/25(金) 00:41:00 ID:Bm6HNp9A
  >>459
  Vistaでも相変わらず作れるしな. 誰も使わないのに.

  463 :名無し~3.EXE:2008/01/25(金) 03:11:50 ID:u/EeCoz3
  >>461
  runas

  464 :名無し~3.EXE:2008/01/25(金) 19:52:16 ID:Bm6HNp9A
  >463
  ありがとうございます.
  でもこのコマンド, びみょ〜に使い勝手悪いなぁ・・・.
  利用して, 自分好みにバッチ組んでみます.

  465 :名無し~3.EXE:2008/01/28(月) 18:20:29 ID:a60OcUKA
  ---
  rem @echo off
  rem Filename: inFiles.bat
  rem ドラッグandドロップで 特定ファイルのディレクトリ-リストを 取得する 目論見.
  DIR /N %~DP1%~NX1 >%~DP1dir-%~NX1.txt
  ---
  これを 作業中フォルダに持ち込み 使用してます.
  ドロップファイルなしでも 思惑通り 作業中フォルダ(バッチ本体があるので)
  フォルダ全部のリストを取れる.
  ショートカット"inFiles.LIK"を作成し 作業中フォルダに持ち込み.
  ドロップファイルなしで 使うと バッチ本体がある場所のディレクトリを.
  バッチ本体がある場所に 作成する.
  当然といえば 当然で "そういう仕様だ" と言われれば それまでなんですが.
  ショートカット使用でも.
  バッチ本体を置いた時 と同様の 動作をする方法って ありますか?

  466 :名無し~3.EXE:2008/01/28(月) 18:32:38 ID:hAUaBHMX
  >>465
  何がしたいのか, よくわからないんだけど,
  具体的に, どんな場面で便利になるの?

  467 :名無し~3.EXE:2008/01/28(月) 18:45:32 ID:saC0IqhL
  >これを 作業中フォルダに持ち込み 使用してます.
  >ドロップファイルなしでも 思惑通り 作業中フォルダ(バッチ本体があるので)
  >フォルダ全部のリストを取れる.
  そんなはずないけど.
  >ショートカット"inFiles.LIK"を作成し 作業中フォルダに持ち込み.
  >ドロップファイルなしで 使うと バッチ本体がある場所のディレクトリを.
  >バッチ本体がある場所に 作成する.
  そんなはずないけど.
  なので.
  >ショートカット使用でも.
  >バッチ本体を置いた時 と同様の 動作をする方法って ありますか?
  意味ない.

  468 :名無し~3.EXE:2008/01/28(月) 19:01:55 ID:a60OcUKA
  >>466
  >具体的に, どんな場面で便利になるの?
  ん......ン 別段 便利には なりませんね. w.
  でも 実行ファイルの ショートカットが 本体と違う挙動を するのって 気になりません?
  エラーを悪用してるから 大きなことは 云えませんが. w.

  469 :名無し~3.EXE:2008/01/28(月) 21:33:41 ID:saC0IqhL
  >でも 実行ファイルの ショートカットが 本体と違う挙動を するのって 気になりません?
  そんなはずないけど.

  470 :名無し~3.EXE:2008/01/28(月) 21:49:04 ID:F8A0PSQA
  98の質問してよかですか?
  スクリプトを起動するバッチファイルがあります.
  スクリプトはjavascriptで作ってあり, 標準入力を扱いたいので, インタプリタはcscriptを使っております.
  こんな, 奴でつ.
  ---------- hoge.bat start ----------
  @echo off
  cscript %Windir%\hogehoge.js //Nologo %1 %2 %3 %4
  ---------- hoge.bat end -----------
  で, ですね.
  これに標準入力からデータ渡すとなぜかインタプリタがwscriptに変わってしまいます.
  こんな感じ.
  c:>c:\windows\hoge.bat <input.txt
  (このあと, hogehoge.jsがwscript経由で起動する)
  原因をご存知の方いらっしゃるでしょうか.
  ちなみに, この現象はwindows98の時のみ起き, windowsXPでは起こりません.

  471 :名無し~3.EXE:2008/01/28(月) 21:56:33 ID:qpO8RM3B
  ショートカットの作業フォルダに%0

  472 :名無し~3.EXE:2008/01/28(月) 22:00:27 ID:F8A0PSQA
  470です.
  なんか, 色々違ってました. スマン.
  ---------- hoge.bat start ----------
  @echo off
  cscript //Nologo %Windir%\hogehoge.js %1 %2 %3 %4
  ---------- hoge.bat end -----------
  こうだ.
  そして, wscriptが起動すんじゃなくて.
  パラメタが渡っていないようだ.
  c:>c:\windows\hoge.bat /a /b <input.txt
  '/a' '/b'がhogehoge.jsに届いていない.
  バッチファイルの中でechoすると渡ってる風なんだけどなぁ.

  473 :名無し~3.EXE:2008/01/29(火) 01:07:24 ID:HWw+z0EO
  http://pc11.2ch.net/test/read.cgi/tech/1197881068/158

  474 :名無し~3.EXE:2008/01/29(火) 16:44:24 ID:HWw+z0EO
  command /c c:\windows\hoge.bat /a /b <input.txt

  475 :名無し~3.EXE:2008/01/30(水) 16:21:48 ID:KYI6wfbS
  スレ違いかも知れませんが, コマンドプロンプトで無線LANの再設定?について詳しい方いませんか?

  476 :名無し~3.EXE:2008/01/30(水) 17:57:54 ID:Ho6Pm+4w
  >>475
  ipconfig /renew とかの話?
  無線パラメータの設定をコマンドラインでできるアダプタなんてあるのか?

  477 :名無し~3.EXE:2008/01/30(水) 20:01:10 ID:KYI6wfbS
  >>476
  詳しくないんで何ともなんですけど, 先月無線LANでPCを使用していた時ブレーカーが落ちて, ルーターの電源が切れて無線LANが使えなくなったんです.
  それで色々試せど復帰しなくて, プロバイダーのサポセンに電話したんですけど長々と待たされて, 繋がると私が色々試した事を2〜3回再度させられて,
  結局コマンドプロンプトで一度通信をリセットする?プログラムを指示してもらって復帰したんです.
  でも先週また同じトラブルがあって, またサポセンに電話するのも億劫で・・・と言う感じです.
  長文すみません.

  478 :名無し~3.EXE:2008/01/30(水) 20:15:41 ID:yq8XtZP7
  質問です.
  コマンドプロンプトのrename(ren)で.
  aaa123.txt
  bbb123.txt
  ccc123.txt
  の三つのファイルを.
  123を変えないまま.
  xxx123.txt
  yyy123.txt
  zzz123.txt
  一度で変更するにはどう打てばいいでしょうか?

  479 :名無し~3.EXE:2008/01/30(水) 20:50:24 ID:w7DIOj03
  ren aaa123.txt xxx123.txt|ren bbb123.txt yyy123.txt|ren ccc123.txt zzz123.txt

  480 :名無し~3.EXE:2008/01/31(木) 01:03:19 ID:eBoblFAp
  >>477
  初心者スレ池.

  481 :名無し~3.EXE:2008/01/31(木) 10:58:16 ID:Zu1cJ4hG
  >>480
  わかりました, すみません.

  482 :名無し~3.EXE:2008/01/31(木) 19:06:40 ID:CwN/BF0B
  >>474
  遅レスすまそ.
  command /c  で出来た. アリガトン.
  command.comが関係しとるとは思わなんだ.
  NT系列では必要の無い操作だから.
  wowの仕様が微妙に違うんだな.
  勉強になったよ.

  483 :名無し~3.EXE:2008/02/01(金) 01:45:58 ID:zNm7t6Hy
  9xなら JS2COM 使えば?

  484 :名無し~3.EXE:2008/02/01(金) 21:38:02 ID:uYx0CpkT
  >>483
  ウホッ. こりゃ便利.
  アリガトン.

  485 :名無し~3.EXE:2008/02/07(木) 01:18:24 ID:JJWunJvn
  1つの親フォルダの中に数百個のファイルと,
  それと同名のフォルダの組が並列に入っています.
  これらのファイルを, その同名のフォルダに移動するには.
  どうしたらよいでしょうか?
  aaa.txt bbb.txt ccc.txt ..... aaa.folder bbb.folder ccc.folder.....
  がありaaa.txtをaaa.folderの中へ.
  bbb.txtをbbb.folderの中へという感じで全て移動したいんです.
  あと関係ないんですけど.
  mklink /Dとmklink /Jは何が違うんですか?

  486 :名無し~3.EXE:2008/02/07(木) 09:48:44 ID:i1Y+9IDF
  for/?

  487 :名無し~3.EXE:2008/02/07(木) 19:35:04 ID:JJWunJvn
  >>486
  ありがとうございます!できました!

  488 :名無し~3.EXE:2008/02/16(土) 15:23:13 ID:bHZJ+HSt
  バッチファイルを作ってそれに対象のファイルをD&Dすることで作業を半自動化しています.
  でっすが困ったことにバッチファイルの中に%1を記述して, そこにD&Dしたファイルへの.
  絶対パスを格納しようとしてもその中に全角スペースがあると正常に動作しないのです. 例えば.
  C:\temp\aabbcc.txt
  みたいなファイルをD&Dする分には問題ないのですが.
  C:\temp\aa  bb  cc.txt
  みたいなファイルをD&DするとC:\temp\aaまでが第一引数.
  そのあとのbbとcc.txtはそれぞれ第二, 第三引数として扱われてしまうのです.
  コマンドプロンプトに直接記述したときは間に全角スペースがあっても全体で一つのパスとして.
  扱われますし, バッチファイル内の記述するときに引数を""で囲んでも解決しませんでした.
  どうすればよろしいでしょうか?

  489 :名無し~3.EXE:2008/02/16(土) 17:23:01 ID:gHdxG/Ym
  うそだろ, そんなわけない.

  490 :名無し~3.EXE:2008/02/16(土) 17:41:52 ID:gHdxG/Ym
  ごめん, ほんとだ. ドロップハンドラの障害だから,
  VBSFileのドロップハンドラをbatfileに指定してやればいいよ.

  491 :名無し~3.EXE:2008/02/16(土) 17:45:29 ID:bHZJ+HSt
  >>489
  自分もそう思いたいところなんですが・・・.
  @echo off
  echo %1
  echo %~1
  echo "%1"
  pause
  試しに上記の内容の.batファイルを作ってそこに前述の.
  C:\temp\aa  bb  cc.txtをD&Dしてみたところ, 表示結果が.
  C:\temp\aa
  C:\temp\aa
  "C:\temp\aa"
  続行するには何かキーを押してください . . .
  でした, 友人にもお願いして試してみてもらったところ同じ状況みたいです@XP SP2

  492 :名無し~3.EXE:2008/02/16(土) 18:29:02 ID:bHZJ+HSt
  >>490
  入れ違いになってしまいましたが, ありがとうございます.
  これは一種のバグ・・・でいいんでしょうか?
  問題は自分がVBSのことが全くわからないことですね. orz.

  493 :名無し~3.EXE:2008/02/16(土) 19:00:54 ID:gHdxG/Ym
  >問題は自分がVBSのことが全くわからないことですね. orz.
  VBSはかんけーねー.
  VBSFileのドロップハンドラを借用するだけ.
  あるいは, 回避策.
  c:\tempをc:\temp folderにすれば?

  494 :名無し~3.EXE:2008/02/16(土) 19:58:43 ID:gHdxG/Ym
  ドロップハンドラはかんけーねーみたい.
  cmd.exeの引数分離の障害仕様だね.

  495 :名無し~3.EXE:2008/02/16(土) 20:13:55 ID:bHZJ+HSt
  >>493-494
  どうもありがとうございます. ドロップパンドラはググっても理解できません.
  でしたが, これで踏ん切りがついたので回避策を使うことにします.
  仕様か, なんて全てを包み込むような包容力のある言葉なんd(ry

  496 :名無し~3.EXE:2008/02/28(木) 23:52:46 ID:hFNRGAEX
  Vistaのコマンドプロンプトに以前のようにファイルをドロップしたいのですが.
  ウラワザとかありませんか?

  497 :名無し~3.EXE:2008/02/29(金) 00:32:17 ID:le6aVPk+
  http://support.microsoft.com/kb/929457

  498 :名無し~3.EXE:2008/02/29(金) 00:41:18 ID:fnZx8Tum
  >>497
  具体的にどのセキュリティ強化が原因で使えなくなってるかわかりますか?
  「指が滑った時」対策だったら泣ける.

  499 :名無し~3.EXE:2008/02/29(金) 01:41:43 ID:MYE21105
  てかそんなこと出来たのか.

  500 :名無し~3.EXE:2008/03/01(土) 21:32:02 ID:2GYI1cga
  無線LANをつかっているのですがしょっちゅう回線が切れるので困ってます.
  ネットワークの修復をするとつながるようになるので,
  >>217を参考に以下の修復バッチファイルを作ったのですが,
  これをファイル出力させずに行うことはできますか?
  ---IP_recovery.bat-----------------------
  ping 192.168.11.1 -n 1 > C:\b.txt
  for /f "SKIP=3" %%A in (C:\b.txt) do if %%A NEQ Destination (echo %%A) else (
  shut
  ping localhost -n 5
  connect
  ping localhost -n 15
  ipconfig /release
  ipconfig /renew
  arp -d *
  nbtstat -R
  nbtstat -RR
  ipconfig /flushdns
  ipconfig /registerdns)
  del C:\b.txt
  --------------------------------------

  501 :名無し~3.EXE:2008/03/01(土) 21:32:41 ID:2GYI1cga
  回線が切れている時のb.txt---------------
  Pinging 192.168.11.1 with 32 bytes of data:
  Destination host unreachable.
  Ping statistics for 192.168.11.1:
  Packets: Sent = 5, Received = 0, Lost = 5 (100% loss),
  --------------------------------------

  502 :名無し~3.EXE:2008/03/01(土) 21:52:32 ID:INNPJ5X6
  XPならErrorLevelで.

  503 :名無し~3.EXE:2008/03/01(土) 23:48:41 ID:kJ7OZr7A
  for /f "SKIP=3" %%A in ('ping 192.168.11.1 -n 1 ') do if %%A NEQ Destination
  (echo %%A) else (

  504 :500:2008/03/02(日) 01:54:27 ID:W3Xs2/Nf
  >>502-503
  思ったように動かすことができました.
  ありがとうございます.
  情報を元にネットで調べて, 上2行を以下に変えたら動作がすっきりしました.
  ping 192.168.11.1 -n 1 | find "Destination host unreachable"
  IF ERRORLEVEL 1 GOTo eine
  IF ERRORLEVEL 0 GOTo Nutteloos

  505 :名無し~3.EXE:2008/03/03(月) 22:32:53 ID:uMn3e7q3
  質問があります.
  set n=1
  set a%n%=5
  とするとa1という変数に5を代入できますよね?
  でもif文でa%n%と値を比較しようとすると上手くいきません.
  ifで比較する前に.
  set /a hikaku=a%n%
  とやって.
  if %hikaku%==5 echo sex
  これは通るのですが.
  何か馬鹿っぽいですが他によい方法はありませんか?
  /iオプションを試してみてもうまくいきません・・・.

  506 :名無し~3.EXE:2008/03/03(月) 23:03:40 ID:criNZiK5
  つ 遅延環境変数.

  507 :名無し~3.EXE:2008/03/04(火) 00:32:51 ID:JYsrlTMe
  できました. 感動です.
  理屈はよくわからないですが大括弧小括弧みたいなイメージでいいんですか.
  とりあえずバッチでオセロ作るのを目標にがんばっています.

  508 :名無し~3.EXE:2008/03/04(火) 00:36:48 ID:Xq8J3uel
  つ遅延展開.

  509 :名無し~3.EXE:2008/03/04(火) 00:39:21 ID:VMDLSFIe
  >>507
  > 大括弧小括弧みたいなイメージ.
  全然違う.
  即時展開される変数は, バッチファイルを読み込んだ時点で置換されてるので.
  実行時は変数ではなく定数になっている.

  510 :名無し~3.EXE:2008/03/04(火) 00:57:01 ID:JYsrlTMe
  ん〜.
  たとえばA%n%という抽象的な変数に.
  具体的にn=1, 2, 3・・・.
  と繰り返し値を与えて.
  A1, A2, A3・・・という変数は作れるし.
  それぞれに値もセットできます. 遅延設定なしで.
  なのでバッチを読み込んだ時点で云々というのは腑に落ちないんですが.

  511 :名無し~3.EXE:2008/03/04(火) 01:03:31 ID:/r2l60M6
  1行実行するごとにバッチファイルを読み込みなおしてるんだよ.
  だから自己書き換え型のbatも作れる.

  512 :名無し~3.EXE:2008/03/04(火) 04:36:25 ID:Xq8J3uel
  遅延展開を使わずに.
  if A%n%==6 echo six
  てできるか?

  513 :名無し~3.EXE:2008/03/04(火) 10:52:48 ID:oHAbhod6
  お札の都市伝説発見!
  http://upload.wikimedia.org/wikipedia/commons/7/76/P103-2000Yen-%282000%29_front.jpg
  画像が表示されたら右クリック, Iを押す->Pを押す.

  514 :名無し~3.EXE:2008/03/04(火) 17:21:53 ID:JYzbQmWK
  しへいのいんさつははんざいですよ.

  515 :名無し~3.EXE:2008/03/04(火) 17:44:24 ID:r5xViyTY
  普通に印刷できちゃったんだけど.

  516 :名無し~3.EXE:2008/03/04(火) 17:49:28 ID:DEYMSbAn
  >>513
  すばらしい. 新種のソーシャルウイルスだな.

  517 :名無し~3.EXE:2008/03/05(水) 04:23:16 ID:OmO7J7IA
  できるのとやってはいけないのは別・・・.
  コピー機やオフセット印刷機はプロテクトがあって出来ないらしいけど.

  518 :名無し~3.EXE:2008/03/08(土) 13:02:22 ID:t1Hf5Bsj
  コマンドプロンプトで押したキーをそのまま取得する方法はないですよね?
  PAUSEで押したキーを変数にセットするような.

  519 :名無し~3.EXE:2008/03/08(土) 13:31:31 ID:ghC3PRgD
  set /p AAA=なんか入力.

  520 :名無し~3.EXE:2008/03/08(土) 15:53:09 ID:qQq+YK5u
  通りすがりです.
  set にオプションあったのかあ. 勉強になりました.

  521 :名無し~3.EXE:2008/03/08(土) 18:00:16 ID:t1Hf5Bsj
  すいません.
  set /p オプションは当然ながら使い倒しているわけですが.
  毎回エンター押さないといけないじゃないですか?
  PAUSEはエンター押さなくても先に進むから.
  PAUSEで(なくても良いが)押したキーを取得する方法があるのかなってことです.
  でもなさげですね.

  522 :名無し~3.EXE:2008/03/08(土) 18:37:48 ID:TBGhFK6F
  choice.exeを使え.

  523 :名無し~3.EXE:2008/03/12(水) 13:53:29 ID:EvP5WuBC
  >>517 線画で肖像とかがあったりすると誤認することがあるらしいな.

  524 :名無し~3.EXE:2008/03/12(水) 20:36:34 ID:ea+zIKS9
  すごく初歩的な質問なのですが.
  set wao=wa o
  if %wao%==%wao% echo wao
  って設定するとスペースが邪魔をしてエラーになりますが.
  この手のエラーを出さないための方針としては.
  何が一番良いんでしょうか.
  スペースを""ではさむと回避できるのですが.
  根本的な解決になっていないような気がして・・・.

  525 :名無し~3.EXE:2008/03/12(水) 22:16:39 ID:ujpaACV/
  >>513
  何が起きるの?
  プリンタないから確認できん.

  526 :名無し~3.EXE:2008/03/12(水) 22:24:33 ID:wj+st/27
  >>525
  ご飯が一日3度, 定期的に出ます.

  527 :名無し~3.EXE:2008/03/13(木) 00:17:06 ID:0XIdaW4C
  set wao=wa^ o
  if "%wao%"=="%wao%" echo wao

  528 :名無し~3.EXE:2008/03/13(木) 00:24:53 ID:eYgnqYL9
  >527
  ありがとうございます・・・.
  これでまた頑張れます.

  529 :名無し~3.EXE:2008/03/13(木) 02:09:43 ID:xekHwBEI
  setlocal enabledelayedexpansion
  set wao=wa o
  if !wao!==!wao! echo wao

  530 :名無し~3.EXE:2008/03/14(金) 21:41:09 ID:Fj5KIEt7
  パイプで渡された文字列を環境変数にSETするバッチを書くことって可能?
  ECHo HOGE | XSET.BAT で%XSET%にHOGEが入るような.
  もしくはそういう補助ツールってあります?ぐぐっても見つからんかった.
  結構よくやる処理なので, 手軽に使えるようにコマンド化できればな, と.

  531 :名無し~3.EXE:2008/03/14(金) 22:12:27 ID:k/rPIO78
  for /f %%x in ('more') do set xset=%%x

  532 :名無し~3.EXE:2008/03/14(金) 23:00:50 ID:Fj5KIEt7
  >531
  ありがとう.
  試しにCMD.EXEからECHo HOGE | XSET.BATをやってみたところ.
  SET XSET=HOGEは実行されるけど, バッチから戻ってくるときに.
  %XSET%の内容が消去(初期化?)されちゃってるみたいで.
  ECHo %XSET%しても%XSET%と表示される.
  単にSET=HOGEとだけ書いたバッチをCMD.EXE上から実行した場合は.
  戻ってきても保持されてるんだけど.
  なんでだ??
  よう分からん・・・.

  533 :名無し~3.EXE:2008/03/14(金) 23:15:53 ID:k/rPIO78
  パイプの前後はそれぞれ子プロセスで実行される.

  534 :名無し~3.EXE:2008/03/14(金) 23:24:24 ID:k/rPIO78
  for /f %%x in ('ECHo HOGE') do set xset=%%x

  535 :名無し~3.EXE:2008/03/14(金) 23:42:36 ID:Fj5KIEt7
  >533
  つまりバッチで>530を実現するのは無理ってことですか?
  >534
  530が出来ればバッチの中でそれやらなくても良いのにな.
  ってのがスタートだったので.

  536 :名無し~3.EXE:2008/03/15(土) 03:52:41 ID:1v13GlOD
  >もしくはそういう補助ツールってあります?ぐぐっても見つからんかった.
  それは子プロセスで実行される.

  537 :名無し~3.EXE:2008/03/15(土) 19:03:43 ID:/rgREz5R
  すいません, 行き詰ってしまったので助けてください. ワイルドカードを使って.
  指定ディレクトリ以下から条件に合致したファイル名を選び出し, それを.
  環境変数にセットするという方法まではわかりました.
  例)
  for /f "delims=" %%A in ('dir /b "C:\temp\test AAC PID * DELAY *ms.aac"') do (
    set aac_audio_source="C:\temp\%%A"
  )
  これを一歩進めて, ディレクトリから選び出したファイル名の中のさらに.
  一部分の文字列だけを選び出して環境変数にセットしたいのです.
  具体的には上記の例のうち二番目のワイルドカード, msの直前にくる文字列です.
  この部分はDGIndexという動画関係ソフトによって出力されたファイルのうち, 音声のファイルが.
  映像に対してどれだけの遅延をしているかを示しているものなのですが.
  当然DGIndexの処理が完了するまでこの値はわかりません.
  (それなりに時間がかかるのでバッチの最初の段階で処理させ, その後上記のディレクトリ検索を行う)
  実際に出力されたファイルの当該箇所には三桁以下の半角英数が書かれています, 加えて.
  その数字の前には"-"(マイナス半角)がついているケースとそうでないケースがあります.
  例) -254  112
  ただし半角二桁の数字は見たことがあるのですが, 半角一桁や逆に半角四桁以上.
  が実際にファイルに書き加えられることがあるのかは未確認のためわかりません.
  こうのような操作はバッチファイルで完結することは可能でしょうか?

  538 :名無し~3.EXE:2008/03/15(土) 19:13:01 ID:/rgREz5R
  書き忘れましたが・・・もしDGIndexに"test"という名前のファイルを入力した場合.
  それによって出力されるのが上で例に挙げたファイル名の"test AAC PID * DELAY *ms.aac"です.
  つまり"AAC PID * DELAY *ms.aac"の部分がDGIndexによって元のファイル名に追加される.
  部分であり, ここはワイルドカードで代替している箇所を除けば固定です.

  539 :名無し~3.EXE:2008/03/15(土) 20:29:29 ID:1v13GlOD
  set/?

  540 :名無し~3.EXE:2008/03/17(月) 19:17:48 ID:4TC48wem
  >>538
  "delims="とは区切りなしで「test AAC PID * DELAY *ms.aac」全部を%Aに入れることを意味する.
  バラバラで入れたければ区切り文字を設定してトークンで必要なものだけ取り出す.
  for /? をちゃんと読むべし.

  541 :名無し~3.EXE:2008/03/20(木) 01:44:51 ID:ZfuqeoxK
  すいません, 非常-に遅くなりましたが>>537-538です.
  >>539-540
  目を通してみたのですが, delims=で扱えるのは単一の文字だけですよね.
  文字列が扱えるのであればDELAY とms.aacを指定してtoken=2とかに.
  してやればよさそうですが, なにぶんファイル名が変動するのでそうもいかないようです.
  じゃぁsetの方で制御しようと考えた場合, DELAY とms.aacの間の文字数が.
  固定であれば%PATH:~-10%のような後ろから文字数をカウントしていって.
  抜き出し, さらにもう一度その抜き出した文字列を%PATH:~0, 4%のように頭から.
  カウントして抜きだせばいいのですが, 前述のようにこの抜き出したい文字列は.
  場合によって多少文字数が変動します.
  理想を言えば, 「"DELAY "と"ms.aac"の間に挟まれた文字列」という条件で.
  抜き出せるのが一番いいのですけれども・・・.

  542 :名無し~3.EXE:2008/03/20(木) 02:09:01 ID:vljTMuMh
  >>541
  1文字ずつ切り出して比較すりゃいいじゃん.

  543 :名無し~3.EXE:2008/03/20(木) 02:59:37 ID:TH4V7lbY
  要点を2行くらいで言えない?

  544 :名無し~3.EXE:2008/03/20(木) 05:21:26 ID:N1GwNiEt
  "test AAC PID * DELAY *ms.aac"(testと*は変動)から.
  *(-を含む数字, 桁数変動)を抜き出して環境変数にsetしたい.

  545 :名無し~3.EXE:2008/03/20(木) 05:26:18 ID:N1GwNiEt
  >539な気がする.

  546 :名無し~3.EXE:2008/03/20(木) 08:46:33 ID:YOGH1HJm
  *内にmが無いならスペースとmを区切り文字にして4番と6番をゲットすればいい.

  547 :名無し~3.EXE:2008/03/20(木) 09:28:52 ID:sC923knp
  testが空白やmを含まないとは限らないと思うよ.
  >537で"test AAC PID * DELAY *ms.aac"は既に.
  %aac_audio_source%に取得できてるわけだから.
  set aac_audio_source=%aac_audio_source:*DELAY =%
  set aac_audio_source=%aac_audio_source:ms.aac=%
  とかやって削ること考えた方が良いんじゃないかな.
  これもtestがDELAY を含んでたらアウトだけど.

  548 :名無し~3.EXE:2008/03/20(木) 10:16:11 ID:YOGH1HJm
  こういうのはWSH使って正規表現で一発でやりゃいいのによ.

  549 :名無し~3.EXE:2008/03/20(木) 13:38:49 ID:TH4V7lbY
  これにて一件落着.

  550 :名無し~3.EXE:2008/03/20(木) 20:02:59 ID:ZfuqeoxK
  いろいろとレスありがとうございます, 要点としては>>544>>547の通りです.
  >>547氏の方法は良さそうですね. testの部分は実際の運用では録画の.
  番組名になるのでWin上でファイル名に使える文字は何でも入る可能性が.
  ありますが, DELAYが番組名に使われることはまず無いので問題ないんでしょう.
  自分も*に入るのが4文字以下だと仮定して.
  set aac_audio_source=%aac_audio_source:~-14%
  としたあと"tokens=2 delims=m "という方法も考えましたが>>547の方が明らかにスマートでした.
  >>548-549
  もうバッチで一千行以上書いてしまったので今更後には引けないという. w.

  551 :名無し~3.EXE:2008/03/20(木) 20:07:48 ID:TH4V7lbY
  >もうバッチで一千行以上書いてしまったので今更後には引けないという. w.
  逆だな. バッチで一千行以上も書くようなら, やめたほうがいいな.

  552 :名無し~3.EXE:2008/03/20(木) 21:27:38 ID:YOGH1HJm
  俺もWSHなりで書き直した方がいいと思うぞ. 千行が百行になったりしてな.
  ・・・さすがにそれはないか?
  数百にはなりそうだが.

  553 :名無し~3.EXE:2008/03/21(金) 01:36:37 ID:undob5I3
  >544で2行でまとめられる内容を>537-538に渡って延々と.
  書き続けてるくらいだからバッチでも数百行にできるんじゃねーの? w.

  554 :名無し~3.EXE:2008/03/21(金) 01:38:20 ID:AMlsUloI
  情報小出しにされるより一千倍マシ.

  555 :名無し~3.EXE:2008/03/21(金) 03:56:18 ID:shXKIS+x
  具体的に何がしたいか?を書けば話題に飢えたこのスレの住人なら自分で作りそうな.

  556 :名無し~3.EXE:2008/03/21(金) 14:08:15 ID:1ACbc417
  >具体的に何がしたいか?を書けば.
  って何千行にもなりそうな.

  557 :名無し~3.EXE:2008/03/22(土) 01:00:18 ID:gZSy0T3O
  可愛い女の子とセクースしたいが自分じゃ無理だ.

  558 :名無し~3.EXE:2008/03/24(月) 02:50:55 ID:P1cfgm/y
  bashでゆうとこの, `cmd 〜〜` に値するコマンド若しくは表記のしかたはありますか?
  例.
  bash # rm -f `cat /var/tmp/delete_files.txt` -->
  delete_filesに記載されているfileをまとめて削除.
  いや, 別にこれは例えでなんで特に意味がありませんが,
  やりたいことは, 二つ目の(``に囲まれた)cmdの戻り値を, 一つ目のコマンドに引数として渡したいです.

  559 :名無し~3.EXE:2008/03/24(月) 02:52:27 ID:8aWQMqjf
  そのうち900行はコメントだったりして.

  560 :名無し~3.EXE:2008/03/24(月) 03:02:58 ID:PDxz0orZ
  >558
  for /?
  過去ログに山ほど例が載ってる.

  561 :名無し~3.EXE:2008/03/24(月) 04:01:30 ID:P1cfgm/y
  >>560
  ありがとうございます. 一応希望のことはできました.
  戻り値が一つでも, FORループ使わないといけないんですね.
  話は変わりますが, cmd.exeで, Unixのシグナル `kill 〜`に相当するcmdは,
  'taskkill'以外には無いんでしょうか?
  ググってみたり, msnってみたりしたんですが, 「Win32APIはシグナルを提供してない」
  みたいな記述を見つけたんですが・・・.
  それでも, サービスに登録されているbackgrundなサーバーアプリを.
  net stop 〜 で終了シグナルを送ってるんで, できそうなんですが・・.

  562 :名無し~3.EXE:2008/03/24(月) 07:10:08 ID:L0lX/0q/
  1つ答えると, また別の質問をする, 厨の典型的パターンだな.
  情報小出しにするなよ. WMIでも使っとけ.

  563 :名無し~3.EXE:2008/03/24(月) 14:21:07 ID:WUdOBBSC
  XP-Homeで起動コマンドを利用したいのですがうまく動作しません.
  以下のどちらもやりましたがまったく何も起こりませんでした.
  Homeでは利用出来ないコマンドなんでしょうか?
  start ***.exe
  start "C:\Program Files\***\***.exe"

  564 :名無し~3.EXE:2008/03/24(月) 14:53:08 ID:WUdOBBSC
  書き忘れてましたので追加します.
  EXEファイルのあるフォルダ内にバッチファイルを置いてクリックすると起動します.
  でもデスクトップに置いてクリックするとダメなようです.
  一つだけでなく複数のEXEファイルを起動したいのですが, どのように書けば良いのでしょうか?

  565 :名無し~3.EXE:2008/03/24(月) 15:09:10 ID:0QXfngW0
  >>563
  start /?
  特に, ""で囲った1つ目が何を意味することになるか良く考えること.

  566 :名無し~3.EXE:2008/03/24(月) 15:10:02 ID:mqeigdTH
  >563
  前者は, カレントディレクトリかパスの通ったディレクトリに***.exeが無いと動かない.
  後者はタイトルと認識されてしまうので.
  start "" "C:\〜\***.exe"
  と書いた方が良さげ.

  567 :名無し~3.EXE:2008/03/24(月) 15:10:06 ID:qluytLNu
  start/?

  568 :563:2008/03/24(月) 18:27:25 ID:GUB5eIlQ
  >>565-567
  うまく起動しました.
  本当にありがとうございました.
  やっぱこっちで聞いたのは正解でした. m(_ _)m

  569 :名無し~3.EXE:2008/03/25(火) 00:39:16 ID:XIhyPtz1
  >568
  それ, 向こうの普通の住人に軽く失礼だよ.

  570 :名無し~3.EXE:2008/03/25(火) 10:19:16 ID:KGCFsKLj
  >>569
  あそこのスレ覗いてみたら, 酷いから. w.
  まあ言われて当然だけどな.

  571 :名無し~3.EXE:2008/03/25(火) 11:42:47 ID:ivCYVsqO
  で, そのスレとはどこ?

  572 :名無し~3.EXE:2008/03/25(火) 11:44:47 ID:GVezYnPG
  あそこはリアル精神障害者の粘着がいて.
  なんでもかんでもここに誘導しようとするのな.

  573 :名無し~3.EXE:2008/03/25(火) 11:54:02 ID:1y11T6/h
  >>571
  スレっていうか板だけどな.
  ム板バッチファイルスレ.

  574 :名無し~3.EXE:2008/03/25(火) 19:01:19 ID:+d3VDJbp
  好きでキチガイの相手してるワケじゃないんだがなぁ・・・.
  バッチ以外の話は一切誘導しないのに, バッチの話が始まると.
  必ず, パソコンの使い方はWin板のコマンドスレへ, と誘導する.

  575 :名無し~3.EXE:2008/03/26(水) 13:18:41 ID:gE4+Tmq6
  >>561
  net stopが裏でやっていることとUnixシグナルの仕組みは別物.

  576 :名無し~3.EXE:2008/03/28(金) 12:02:59 ID:lhYUJs3e
  XP SP2 の call で exe も何でも実行できるのは仕様ですか?
  2000でも同じかな・・・.

  577 :名無し~3.EXE:2008/03/28(金) 20:48:29 ID:+6KAMnBD
  使用OSはXPのSP2なのですが, デスクトップヒープを見たいと思い,
  Desktop Heap Monitorを使用しようとしたのですが, インストールには成功しても.
  以下のようにドライバを読み込めなかったりなど行き詰ってしまいました・・・.
  どうすれば解決できるのかどうかよろしくお願いいたします・・・.
  http://sund1.sakura.ne.jp/uploader/source/up21168.jpg
  http://sund1.sakura.ne.jp/uploader/source/up21169.jpg
  http://sund1.sakura.ne.jp/uploader/source/up21170.jpg

  578 :名無し~3.EXE:2008/03/29(土) 01:08:36 ID:cjLqnGDe
  exe は実行できるが, 何でも実行できるわけないだろ.

  579 :名無し~3.EXE:2008/03/29(土) 02:13:39 ID:DDcV0gzf
  「何でも」にも限度はあると思うが,
  "関連付け"されたファイルなら, それこそ「何でも」実行できる.
  たとえば, txt ファイルはメモ帳や他のエディタに関連付けされてるから,
  下記のコードも問題なく実行できる.
  ------------
  call unko.txt
  ------------
  さらに, [下矢印]でもOK.
  ------------
  unko.txt
  ------------

  580 :名無し~3.EXE:2008/03/29(土) 02:32:04 ID:cjLqnGDe
  それは.
  xxxで実行できるものはほぼcall xxxで実行できる.

  581 :名無し~3.EXE:2008/03/29(土) 17:57:31 ID:e7BCQMf+
  call って start みたいなものなんだなって思ったんですが,
  むしろ cmd /c と等価と考えればいいのかな.
  start は cmd /k ですか.

  582 :名無し~3.EXE:2008/03/29(土) 18:04:25 ID:cjLqnGDe
  そういう妄想は無意味だ.
  所詮にてるところもあればちがうところもある.

  583 :名無し~3.EXE:2008/03/29(土) 18:20:32 ID:e7BCQMf+
  まあそうなんですが, そう考えると分かりやすいので・・・.
  明らかに違うのは, cmd /c だと当然のように cmd.exe がもう一つ.
  実行されることですね. これは環境変数に影響しますね.
  ほかにも違いはあるのかな.

  584 :名無し~3.EXE:2008/03/29(土) 18:27:52 ID:cjLqnGDe
  call notepad.exe
  cmd/c notepad.exe
  だけみれば.
  call =about= start
  cmd/c =about= start/w
  になるし意味ないだろ?

  585 :名無し~3.EXE:2008/03/29(土) 18:51:15 ID:e7BCQMf+
  なるほど. そういう動きしますね.
  確かに「等価」なんて書くのは乱暴でした.
  hoge.cmd がある環境と hoge.exe がある環境があって,
  これを呼び出すバッチを両方の環境で共通にしたいと.
  思っていたのですが, call dir とか何気なく実行して.
  みたら思いがけず結果がでてきて>>576を書きました.
  幸いexeはコンソールアプリケーションだったのでcallで.
  バッチもexeも実行できそうなんですが, そうでなかったら.
  やっぱり切り分けする必要がありそうですね.
  いろいろ知識が増えました. ありがとうございます.

  586 :名無し~3.EXE:2008/04/04(金) 16:11:15 ID:c0lFiKIy
  ちょっと先生方にお力を.
  ([下矢印]サンプル)
  FOR %i IN (*.txt) Do @echo %i
  で.txtをひらい出そうとすると.
  test.txt
  testtest.txt
  test.txttest        <-
  test.txttxt          <-
  test.txtAAAAAA  <-
  余分なものもひらってしまいます.
  *.txt*やってるわけじゃないのにコマンドプロンプトはどういう理屈で上のものをひらうでしょうか.
  .txtで終わってるテキストだけ正しく抽出するにはどうやったら.
  出来たら上のFORをベースに改良する方法でお願いします.
  現在FORで組んでしまってるので根本的に別方法はまずいので.

  587 :名無し~3.EXE:2008/04/04(金) 16:31:21 ID:O5RX4LBM
  FOR %i IN (*.txt) Do @if %~xi==.txt echo %i

  588 :名無し~3.EXE:2008/04/04(金) 18:42:54 ID:HotDOmeE
  >>586
  今気づいたけど dir も同じよくわからん仕様.
  dir *.txt -> 586の全部.
  dir *.txtt -> 該当無し.
  dir *.txttxt -> test.txttxt
  dir *.tx -> 該当無し.
  拡張子が3文字の時に限り後に何が付いていても全部表示する謎仕様.
  さらに, *.txt* だと名前順だが, *.txt だとベースは名前順だがtxt以降に.
  文字があるファイルはエントリ順になる超謎仕様.
  さすがMS.

  589 :名無し~3.EXE:2008/04/04(金) 18:49:16 ID:O5RX4LBM
  謎なものか.
  dir /x  してみ.

  590 :名無し~3.EXE:2008/04/04(金) 19:14:07 ID:c0lFiKIy
  >>587-589
  出来ました.
  こういう仕様になってるのには何か深い理由がありそうですね.
  こういう事情を知らずに各種ソフトの.iniファイルを別のものに一時交換するときに.
  .iniAAAAA  とかを多用しているので困っていました.
  どうもありがとうございました.

  591 :590:2008/04/04(金) 19:43:54 ID:c0lFiKIy
  わあああ, ちょっと実験したら今まで信じてきたやつも全部アウトか.
  *.txtAAAとかあればそれも全部混ざってコピーされてしまう.
  なんで気がつかなかったんだろう. 反省しろよ俺.
  無知は恐ろしいと実感反省した4月4日をMyコマンド記念日としよう.
  par1よりこれも全部アウト.
  「888 :名無し~3.EXE:2002/01/20(日) 13:05
  >>884
  @echo off
  for %%i in (*.txt) do type %%i >> new.txt
  これをバッチファイルとして保存してダブルクリックしろ.
  全てのテキストファイルが連結されて,
  new.txtというファイルが作られる.
  889 :名無し~3.EXE:2002/01/20(日) 13:21
  それだけなら copy *.txt new.txt でいいでしょ. 」
  たぶん中上級者の方々には既知の話だったんでしょうね.
  スレ汚しスマソ.

  592 :名無し~3.EXE:2008/04/04(金) 20:15:21 ID:7OrQUO4u
  8.3名の生成機能, もういい加減デフォルトOffにすべきだよなぁ. . .
  つーか10年くらい前でもよかった.

  593 :名無し~3.EXE:2008/04/05(土) 07:25:56 ID:16jOobyH
  DOS時代に「名前8文字」「拡張子3文字」だったのを未だに引きずってるんだなあ.

  594 :名無し~3.EXE:2008/04/05(土) 19:16:07 ID:oeBKfFDa
  重複行の削除を外部ソフトを入れずにやる方法をネットで検索したらこんなのがありました.
  --------------------------------------uniq.bat
  echo off
  set prev=
  if not exist "%1" goto error
  for /f "tokens=* delims=" %%L in ( %1 ) do call :sub %%L
  goto exit
  :sub
  if not "%prev%"=="%*" set prev=%*&&echo %*
  goto :EOF
  :error
  echo.
  echo 表示したいファイル名を指定してください.
  echo [例] uniq.bat file.txt
  echo.
  :exit
  空白改行等には対応してないとのこと.
  これは画面上に表示するだけなのでファイルに出力するために.
  echo  %*  の後に>>new.txtとかつけてもエラーが出ます.
  newファイルに出力するためにはどうしたらいいでしょうか?
  検索したサイトはなぜかサイトを開くたびにスクリプト警報が出まくるので.
  2chブラウザでもリンクさせないようにしましたのでご了解ください.
  www. fpcu. jp/dosvcmd/bbs/log/unixdoswindows/3-0062. html

  595 :名無し~3.EXE:2008/04/05(土) 19:19:45 ID:oeBKfFDa
  補足しますと.
  newファイル出力だけが必要で, 画面表示は必要ないということです.
  &&echo %*を&&(echo %*)>>new.txtとかに変えても全部エラーでした.

  596 :名無し~3.EXE:2008/04/05(土) 20:21:46 ID:opCsAdvJ
  uniq.bat >new.txt

  597 :名無し~3.EXE:2008/04/06(日) 13:45:44 ID:+PcLNC77
  uniq.bat file.txt>new.txt
  でしょ.
  ところで, 画面への出力とファイルへの出力を同時にやる方法は無いのかな?
  内部で交互に出力しなきゃダメ?

  598 :名無し~3.EXE:2008/04/06(日) 16:21:31 ID:nlrXvzZ0
  >uniq.bat file.txt>new.txt
  >でしょ.
  はて, なんか違ってるのかな?
  >ところで, 画面への出力とファイルへの出力を同時にやる方法は無いのかな?
  あるけど?

  599 :名無し~3.EXE:2008/04/06(日) 18:07:00 ID:wqKcgo9M
  >>598
  > はて, なんか違ってるのかな?
  > あるけど?
  無知蒙昧の煽り厨かよ.
  役立つ情報を書けないんなら書くなウ"ォケ!

  600 :名無し~3.EXE:2008/04/06(日) 18:31:05 ID:nlrXvzZ0
  >>599 >>599

  601 :名無し~3.EXE:2008/04/06(日) 18:47:07 ID:+PcLNC77
  >>598
  > あるけど?
  どうやんの?

  602 :名無し~3.EXE:2008/04/06(日) 18:49:15 ID:ejmUfes1
  アフィニティマスクで1を指定して設定した場合シングルコアで作動しますが.
  これをデュアルコアで作動するように戻すには数値は何を入れれば良いのでしょうか?

  603 :名無し~3.EXE:2008/04/06(日) 18:52:10 ID:ejmUfes1
  すいません書き忘れてました.
  クアッドコアの数値もお願いします.

  604 :名無し~3.EXE:2008/04/06(日) 18:55:56 ID:nlrXvzZ0
  >>601
  >>uniq.bat file.txt>new.txt
  >>でしょ.
  >はて, なんか違ってるのかな?
  のほうは?

  605 :名無し~3.EXE:2008/04/06(日) 18:58:08 ID:+PcLNC77
  >>604
  単なる煽りなのか?
  :error 以降の出力を得たいだけだったら別にfile.txtは要らんけどな.
  そんな池沼レスする気だったの?

  606 :名無し~3.EXE:2008/04/06(日) 19:06:41 ID:c2QC8Myi
  最近2chで増えつつある, 出し惜しみ厨の典型だな.

  607 :名無し~3.EXE:2008/04/06(日) 19:10:36 ID:+PcLNC77
  出し惜しみどころか最初から知らないような気がしてきたよ.
  やりたいことはmencoderの画面出力をそのままログファイルにも残したいってことなんだけど.
  stdoutをそのままファイルにリダイレクトしてしまうとエンコード中の進行度が見れない.

  608 :名無し~3.EXE:2008/04/06(日) 19:12:59 ID:nlrXvzZ0
  ぷっ.

  609 :名無し~3.EXE:2008/04/06(日) 19:25:04 ID:c2QC8Myi
  >>607
  tee.exe T 字型二股ソケット  でググれば, たぶんできると思う.
  が, 俺はやったこと無いが興味はあるので, 成功したら, やりかたと結果を書いてくれ.

  610 :名無し~3.EXE:2008/04/06(日) 19:35:33 ID:+PcLNC77
  >>609
  ありがとう.
  あんまり使ってないけどcygwinは入れてたんだった. 数種類のコマンドしか使ったこと無かったから.
  存在を知らんかった. orz.
  tee.exe あったよ. w.

  611 :名無し~3.EXE:2008/04/06(日) 19:51:04 ID:+PcLNC77
  >>609
  mencoder 色々オプション | tee -a log.txt
  これで画面出力と同じものをファイルにゲットできた.
  厳密にはちょっと違うけど, それは元々わかってた問題だからOK.
  どこかの口だけさんと違って感謝!

  612 :名無し~3.EXE:2008/04/06(日) 19:58:49 ID:nlrXvzZ0
  teeでなくてもできるけど. w.

  613 :名無し~3.EXE:2008/04/06(日) 20:22:49 ID:+PcLNC77
  もうこっちのやりたいことは終わったからレス不要.

  614 :名無し~3.EXE:2008/04/06(日) 22:12:32 ID:MGkgFDSO
  どなたか>>602-603をお願いします.

  615 :名無し~3.EXE:2008/04/06(日) 22:17:42 ID:MGkgFDSO
  すいませんよそ聞きます.
  失礼しました.

  616 :名無し~3.EXE:2008/04/12(土) 14:20:05 ID:psbvetMj
  cygwin使わずにできんのか.

  617 :名無し~3.EXE:2008/04/12(土) 21:34:37 ID:8rjR8tpP
  動画をバッチ処理したいのですが.
  解像度かアスペクト比で処理を分岐させたい場合.
  どのように書けばよいでしょうか?

  618 :名無し~3.EXE:2008/04/12(土) 21:55:12 ID:frEZV/rR
  if

  619 :617:2008/04/12(土) 22:10:27 ID:8rjR8tpP
  >>618
  もう少し具体的な回答をお願いします.
  例えば解像度が1280x720の場合.
  echo LanczosResize(428, 320)>> %avsfile%
  解像度が960x720の場合.
  echo LanczosResize(480, 270)>> %avsfile%
  と処理を分岐させたい時.
  どのように書けばよいでしょうか?

  620 :名無し~3.EXE:2008/04/12(土) 22:14:42 ID:bsDmcclx
  具体的にって言われても動画の解像度なんて映画館によってまちまちだろ?

  621 :名無し~3.EXE:2008/04/12(土) 22:16:01 ID:6vn8GrIL
  動画の解像度情報とかバッチファイル中でどうやって取得する気かと小一時間(ry
  いやもしそういったツールがあるなら俺も是非欲しいが.

  622 :名無し~3.EXE:2008/04/12(土) 22:40:15 ID:8rjR8tpP
  >>621
  クリップボードに解像度情報などを送るソフトはあります.
  http://kurohane.net/seisanbutu.phtml
  にある真空波動研SuperLite
  です.
  2行目に解像度などがクリップボードに送られるので.
  それを分岐処理に使いたいです.

  623 :名無し~3.EXE:2008/04/12(土) 22:47:17 ID:bsDmcclx
  クリップボードの解像度情報とかバッチファイル中でどうやって取得する気かと小一時間(ry
  いやもしそういったツールがあるなら俺も是非欲しいが.

  624 :名無し~3.EXE:2008/04/12(土) 22:58:29 ID:L9AzdWZJ
  クリップボードに解像度情報が入ってれば.
  cliputilなり何なりを経由してforででも.
  行解析すれば取得は可能じゃない?
  真空波動研は使ってないからコマンドラインから.
  操作できるか知らないけど.

  625 :617:2008/04/12(土) 23:09:06 ID:8rjR8tpP
  >>624
  真空波動研はコマンドラインから使えるのですが.
  行解析はどのように行えばよいでしょうか?
  クリップボードには.
  [cap20071129090938.avi]
  1920x1080 24Bit Motion JPEG(MJPG) 29.97fps 53943f 124553.95kb/s
  PCM 48.00kHz 16Bit 2ch 1536.00kb/s
  [RIFF(AVI2.0)] 00:29:59.898 (1799.898sec) / 28, 368, 765, 952Bytes
  真空波動研SuperLite 080308 / DLL 080308
  のようなデータが送られるので.
  1920/1080が1.7より大きいか小さいかで分岐処理を書きたいのですが.
  どのように書けばよいでしょうか?

  626 :名無し~3.EXE:2008/04/12(土) 23:53:40 ID:ma+dusF0
  面倒くせーからクリップボードの内容をテキストに出力して.
  そこから必要行を抜き出して分岐判断させれ.

  627 :617:2008/04/13(日) 00:16:33 ID:pAruhQL3
  >>626
  625のように2行目に.
  1920x1080 24Bit Motion JPEG(MJPG) 29.97fps 53943f 124553.95kb/s
  と書かれたテキストファイルから1920/1080の計算結果を得るには.
  どのように書けばよいのでしょうか?

  628 :名無し~3.EXE:2008/04/13(日) 00:42:52 ID:2Fn25r/4
  for /?
  find /?
  findstr /?
  if /?
  set /?
  辺りかな?

  629 :617:2008/04/13(日) 01:30:00 ID:pAruhQL3
  >>628
  http://www.tsg.ne.jp/GANA/S/cliputil/
  にあるクリップボードのテキストをDOSで扱うためのツールを使って.
  for /f "skip=1 tokens=1, 2 delims=x " %%A in ('C:\Plugin\cliputil.exe -paste')
  do
  で1920と1080を取り出せそうなのですが.
  ここから先がわかりません.
  どのように書けばよいでしょうか?

  630 :名無し~3.EXE:2008/04/13(日) 10:21:35 ID:q3/8LHKx
  typeでテキストを表示したアドレスをlynxにぶち込むにはどういう方法がありますか?

  631 :617:2008/04/13(日) 18:25:52 ID:pAruhQL3
  もうあきらめてPerlで処理しました.
  perlに頼ると負けた気分になるけど.
  今日中には終わらせたかったので.

  632 :名無し~3.EXE:2008/04/13(日) 19:43:28 ID:QXIVF9vj
  そういえば標準で数値計算に浮動小数点数使えるコマンドってあったっけ.

  633 :名無し~3.EXE:2008/04/13(日) 20:40:16 ID:U2MS+S2g
  >>631
  つか, バッチでどうしてもやらざるを得ない理由がなければ,
  Perlのほうが断然便利だよ.
  バッチは, OSのVersionによって解釈の意味が変わったり,
  コマンド直打ちとバッチ内で記述する書式が違っていたりと,
  とにかくクセがありすぎる.
  パズルを組み立てて楽しむ程度の心の余裕がないとムリ.
  即効性と実用度で言えばPerlが断然勝利.
  さいごに, 参考にPerlで解決した方法を書いてもらえれば,
  スレ的に有益になるだろう.

  634 :名無し~3.EXE:2008/04/13(日) 21:19:04 ID:bRCjXHsW
  連番数字を作るとき数字なら開始終わりSETPが使えるので(1.1.100)とかで.
  簡単に作れますよね, これを.
  アルファベットで連文字作りたいときはどうやったらいいでしょう.
  aaaaaa〜zzzzz
  シロートがリファレンス読んで何とか2文字バージョンまでは作ったけど.
  FOR %i IN (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
  w, x, y, z) Do @(FOR %j IN (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q,
  r, s, t, u, v, w, x, y, z) Do @echo %i%j)
  1)6文字バジョーンはどうやったらいいでしょうか?
  2)それと実際に使うとは全出力ではなくbaaaaa〜czzzzzまで出力とかしたいので.
  フレキシブルな出力変更可能なやり方で.
  1)2)を満たすもの. でも2)が困難だったら1)だけでも.
  どなたかお願いします.

  635 :631:2008/04/14(月) 01:48:28 ID:OkNafE+v
  >>633
  じゃぁ解決した方法だけをば.
  バッチ処理でfileリストと真空波動研の結果リストをファイルに保存.
  perlに処理を移して626さんのとおりの処理をさせて.
  エンコバッチファイルをperlに書き出させてそれをcall
  以上です.

  636 :名無し~3.EXE:2008/04/22(火) 11:20:21 ID:/OOwZtgR
  コマンドラインから, net use コマンドを使うことなく(ドライブ文字を割り当てないで)
  ファイルをコピーしたいのですが, 可能でしょうか?
  エクスプローラからの操作であれば, \\10. 1. 2. 30\ のように入力してUSER/PASSWORDを.
  入力すれば, ドライブレターを使うことなくファイルがコピーできますが, この操作がしたいのです.

  637 :名無し~3.EXE:2008/04/22(火) 11:27:10 ID:Zu/QpkUZ
  net use で必ずドライブに割り当てないといけないわけじゃないよ.
  net use \\host\path PASSWORD /user:USERNAME
  copy ほげほげ.
  net use \\host\path /delete
  とか.

  638 :636:2008/04/22(火) 11:46:48 ID:fvGqunE0
  >>637
  即レスありがとうございます.
  ドライブ名無しで試してエラーが出たので, net use はダメかと思っていたのですが,
  レス通りだとできました. 自分で試した構文が間違っていたようです. ありがとうございました!

  639 :名無し~3.EXE:2008/04/23(水) 14:50:16 ID:P+H+JVhc
  Ctrl+Cキーで中断したバッチ処理を再開するにはどうしたらいいのでしょうか?
  また, 中断されている処理があるかどうか確認する事は出来ますか?
  よろしくお願いします.

  640 :名無し~3.EXE:2008/04/23(水) 15:11:36 ID:aJ9ihgZR
  バッチ ジョブを終了しますか (Y/N)?

  641 :名無し~3.EXE:2008/04/23(水) 23:38:12 ID:wxDe1tZY
  Y

  642 :名無し~3.EXE:2008/04/24(木) 01:46:00 ID:PjPeKbCJ
  YES! YES! YES!

  643 :名無し~3.EXE:2008/04/24(木) 02:25:29 ID:/KwaoZJn
  How many files (0-15) ?

  644 :639:2008/04/24(木) 08:29:44 ID:OFIsBZW/
  >>640-642
  ありがとうございます. 教えて頂いた通りに「Y」を押すことで無事終了することが出来ました !
  いあ・・・すみません  中断してたのはバッチじゃなかったです・・・.
  もう少し調べてくるっス.

  645 :名無し~3.EXE:2008/04/24(木) 20:31:24 ID:s1mKrdXj
  ちょ.

  646 :名無し~3.EXE:2008/04/26(土) 06:53:32 ID:S2f4sNFX
  byteをMBに変換するために変数で割り算やってます.
  試しにこんな感じで事前の予備実験してみて上手くいったので.
  (わざと割り切れない数字でやってみた例)
  @echo off
  for /L %%k in (10485763, 1048575, 104857513) do (
  set /a NN=%%k/1048576
  echo=約!NN!MB
  )
  Pause
  上と同じ set /a NN=%%k/1048576 を使って, コレをやってみたら.
  全然だめなんです. 「32ビットなんたら」が出たり.
  エラーが出ないときは計算結果が間違ってたり.
  @echo off
  for /F "tokens=1-3 delims= " %%i in ('fsutil volume diskfree c:') do (
  set /a NN=%%k/1048576
  echo=%%i%%j約!NN!MB
  )
  Pause
  エラーメッセ-ジ"数値は 32 ビットで表記される数値です"
  をGoogleで検索してもヒット無しで得られる情報ゼロ.

  647 :名無し~3.EXE:2008/04/26(土) 09:16:13 ID:+HXIEmBQ
  32 ビットで表記される数値とは, -2, 147, 483, 648 から +2, 147, 483, 647 までの値の符号付き整数を表します.

  648 :名無し~3.EXE:2008/04/26(土) 10:13:23 ID:noTmo+SZ
  >>646
  for ... ( ... )
  って書き方は有効なのかな?

  649 :名無し~3.EXE:2008/04/26(土) 10:30:49 ID:noTmo+SZ
  ああ, ごめんなさい, 偉そうな書き方したけど間違った理解をしてました.
  ( ) のブロック内での変数の扱われ方ですね.
  if 1==1 (
    set xxx=hoge
    echo %xxx%
  )
  のようなとき, %xxx%はブロックに入る前の値しか参照できないようですね.
  で646をよくみたら・・・ ほんとにそれ動いたのって感じですね・・・.

  650 :名無し~3.EXE:2008/04/26(土) 10:50:19 ID:+HXIEmBQ
  >>648-649
  何いってんだ? cmd /? からやり直せ.

  651 :名無し~3.EXE:2008/04/26(土) 11:05:58 ID:noTmo+SZ
  >>650
  すんません, 理解しました. . .
  set hoge=aaa && echo %hoge%
  みたいなのが思った通りに動いてくれなかったのもこれなんだなぁ.

  652 :646:2008/04/26(土) 12:00:02 ID:dIylg/Sf
  >>647
  どうも. 直し方が分からないし変な横槍入ってめんどくさいので割り算は諦めて.
  バイト値の下6桁を削って簡易表示でやることにしました.
  約!NN:~0, -7!MB
  でわみなさんgood-by

  653 :名無し~3.EXE:2008/04/27(日) 01:37:19 ID:xz87xW1t
  if文の中にechoを入れたいのですが, そのecho文中に () があるとそれをifの.
  グループ化機能と誤認して構文エラーになってしまいます.
  echo文全体を () や '' で括ったり, ( と ) の前にそれぞれ^を加えてもダメでした.
  何か手はありませんか?

  654 :名無し~3.EXE:2008/04/27(日) 09:29:55 ID:Svy4QoHk
  >>653
  括弧の前に ^ をおいてエスケープ.

  655 :名無し~3.EXE:2008/04/27(日) 10:00:16 ID:0TiqPju+
  シングルで囲むとどーなるか.

  656 :名無し~3.EXE:2008/04/27(日) 11:09:18 ID:eQlwkWfL
  >>655
  自分で試せよ.

  657 :名無し~3.EXE:2008/04/27(日) 16:34:30 ID:xz87xW1t
  >>654
  ありがとうございます, ( ) がechoの文中で完結してる場合は必要ないけれども.
  複数のコマンドにまたがるようにして ( ) が使われてる場合 ^ が必要みたいですね.
  ところでif文中のechoは表示できる文字数に制限があるみたいで(半角英数120文字程度?)
  そのechoの内容をファイルにリダイレクトしようとしても途中までしか書き込めませんでした.
  今回に限って言えば, if文からgotoで抜け出し, そっちにechoを書いて.
  リダイレクトする判断は結果としては正しかったようです ^ ^;

  658 :名無し~3.EXE:2008/04/27(日) 18:58:17 ID:ec2ADBWt
  >>657
  > ところでif文中のechoは表示できる文字数に制限があるみたいで(半角英数120文字程度?)
  @echo off
  if 1==1 (
  echo aaa
  echo bbb
  echo (ccc^)
  echo ddd
  ) else (
  echo eee
  )
  if 1==1 (
  echo fff
  echo 12345678911234567892・・・中略300文字・・・1234567890
  echo 12345678911234567892・・・中略300文字・・・1234567890> tmp.txt
  )
  全く問題なし.

  659 :名無し~3.EXE:2008/05/10(土) 00:41:56 ID:jOW3pjRB
  batの引数について質問です.
  ---test.bat---
  if "%1"=="" goto Error
  set var=%1
  echo %var%
  perl aaa.pl %1
  goto End
  :Error
  echo 引数を入れて下さい...
  :End
  echo 終了します...
  ---終わり---
  の内容な.batを書いたんですが, これを > test.bat 01 02
  として実行させると, perl aaa.pl には "01"のみ引数として渡されます. (ここまではわかります. )
  で, 実はこの aaa.pl に複数の引数(場合によっては10個以上)を渡したいです. (しかも実行するごとに引数の内容が変わります)
  そこで,
  > test.bat "01 02" として実行させると, '02""=="" の使い方が誤っています. 'と怒られます.
  > test.bat "01 aa bb" とすると, 'aa の使い方が・・・'とやはり怒られて, 実行できません.
  これは, if "%1"=="" の部分で, %1が展開されて if ""01 02""=="" goto・・・ と,
  構文エラーになってしまうためかと思われます.
  そこで, if %1=="" としてやると, 一応ifの部分はパス出来ますが, perl aaa.pl "01 02"となってしまい,
  aaa.pl側からは一つの引数として扱われます. (perl側からは, 複数の引数として渡したい)
  さらにこの場合だと,
  > test.bat と引数なしで実行した場合は 'goto の使い方が誤っています. ' と言われてしまいます.
  今度もやはり if %1=="" が, if =="" goto・・・ と展開されてしまい, 構文エラーになってしまいます.

  660 :659:2008/05/10(土) 00:42:27 ID:jOW3pjRB
  長くなってしまいましたが, まとめますと,
  > test.bat "01 02 AA BB CC ・・・"  (引数の数は可変. 10個以上の場合もあり)
  と, コマンドラインから実行して,
  perl aaa.pl 01 02 AA BB CC ・・・  (.batの引数からダブルクオートを省いたものをそのまま.plに渡す)
  とゆうことがしたいです.
  さらに > test.bat と, 引数なしで実行されてしまった場合は, :Errorのブロックを実行して警告を出力させたいです.
  もうひとつついでに言いますと,
  goto Errorで飛んだ先の :Errorブロックのみを実行させたいんですが,
  上のスクリプトだと, その下の:Endブロックも実行されてしまい,
  引数を入れて下さい...
  終了します...
  と出力されてしまいます.
  :Endの前に exit を書き足すと, コマンドプロンプト自体が終了してしまいます. これもどうにかしたいです.

  661 :名無し~3.EXE:2008/05/10(土) 00:51:01 ID:2oG4P/Du
  perlが使えるなら, 全部perlで処理したほうが効率的では?
  バッチは, 代替がない環境で仕方なく使うものだと俺は理解しているが.

  662 :659, 660:2008/05/10(土) 01:02:51 ID:jOW3pjRB
  >>661
  ええ, 実は目的の動作はPerlだけですでに出来上がってるんですが, ふとbatでやってみようと思って,
  昨日一日かけて色々ググッてみたり, いくつかスクリプト書いたりしたんですが,
  どうしても出来なくて, ヒジョーにクヤシイ!!って思った次第です.
  で, こちらの達人方にご指導いただければと思いまして・・.

  663 :名無し~3.EXE:2008/05/10(土) 01:21:23 ID:eXbatmiN
  %*
  goto :eof

  664 :660:2008/05/10(土) 01:56:15 ID:jOW3pjRB
  >>663
  うおおお!!できました.
  引数が100個あってもちゃんと渡せます.
  感動しました. ありがとうございます.

  665 :名無し~3.EXE:2008/05/16(金) 22:13:06 ID:k4qTlZ8j
  フォルダの中を消すには, どうするとよいですか?
  rd /s
  だと, フォルダごと消える.
  複数あるのでバッチ処理したいが, 何かよい方法は無いですか?

  666 :名無し~3.EXE:2008/05/16(金) 22:19:39 ID:V84Krwca
  rd /s フォルダ\*
  でどですか.

  667 :名無し~3.EXE:2008/05/17(土) 07:37:18 ID:Tfmv5vbb
  rd /s /q フォルダ.
  md フォルダ.
  まぁタイムスタンプが変わってしまうけどな.

  668 :名無し~3.EXE:2008/05/17(土) 17:15:03 ID:948oFaXd
  cd フォルダ.
  rd /s .

  669 :名無し~3.EXE:2008/05/17(土) 23:39:45 ID:PBIKhabT
  バッチファイルでプログラムに00 01 02 03 ・・・といった連番になっている引数をわたしたい.
  普通にfor文でやると頭に0がつかないので複数のfor文を組み合わせて実行しています.
  ただ桁数が増えるとforと変数が多くなってわかりにくくなってしまします.
  もうすこしいい方法はないでしょうか?

  670 :名無し~3.EXE:2008/05/18(日) 00:15:50 ID:9CUWfmLK
  for /l

  671 :名無し~3.EXE:2008/05/18(日) 00:29:22 ID:Ox8jPhTX
  @echo off
  setlocal enabledelayedexpansion
  set args=
  set temp=
  for /L %%i in (0, 1, 12) do (
  set temp=00000000%%i
  set args=!args! !temp:~-4!
  )
  echo args=%args%
  pause

  672 :名無し~3.EXE:2008/05/18(日) 00:45:56 ID:Ox8jPhTX
  temp はまずかった.

  673 :名無し~3.EXE:2008/05/18(日) 01:37:13 ID:sec9T0KN
  for /L %%i in (0, 1, 9) do for /L %%j in (0, 1, 9) do (

  674 :名無し~3.EXE:2008/05/18(日) 01:43:47 ID:FcpR8lz9
  >>671
  ありがとうございます. できました.
  setと環境変数の勉強がたりなかったようなので勉強しなおそうと思います.

  675 :名無し~3.EXE:2008/05/18(日) 10:34:31 ID:TvxyqS1+
  質問です. お願いします.
  作成した下のbatファイルをdos窓からコマンド入力して.
  正常動作は確認できたんですが.
  windows xp で ファイル右クリックから呼び出すように.
  (SendToに置いて呼び出す)するとif文が一切判断されず.
  そこで終了してしまいます.
  実行時のDOSの種類が違うんでしょうか?
  --
  :start
  コマンド処理 %1
  shift
  IF "%1"=="" GOTo :eof
  goto start
  --

  676 :名無し~3.EXE:2008/05/18(日) 10:55:34 ID:paRoTs6C
  %1 を %~1 にするとかじゃね?
  どうでもいいけど, コマンドの大文字小文字は.
  統一したほうがいいよ.

  677 :名無し~3.EXE:2008/05/18(日) 13:43:59 ID:sec9T0KN
  >>675
  for %%1 IN (%*) Do コマンド処理 %%1

  678 :名無し~3.EXE:2008/05/18(日) 14:16:17 ID:L+mLCnGS
  shift したら %1 は無くなるだろ.

  679 :名無し~3.EXE:2008/05/18(日) 15:04:01 ID:ku4xMzVb
  >>676
  質問者じゃないけど, この2つの違いって何ですか?

  680 :675:2008/05/18(日) 19:43:39 ID:TvxyqS1+
  >>677 の方法で処理できました.
  if を大文字にしていたのは  試行錯誤の残骸で.
  shift の位置は確かに適切ではないですね.
  ありがとうございました >> all

  681 :名無し~3.EXE:2008/05/18(日) 20:49:26 ID:a9xwvrWi
  IF "%1"=="" GOTo :eof
  goto start
  [下矢印]
  set x=%1
  IF not defined x GOTo :eof
  goto start

  682 :名無し~3.EXE:2008/05/19(月) 08:20:58 ID:nvSZDr4K
  >>679
  %~1は二重引用符「"」を取ったもの.
  %1に「"abc"」という文字列が入っていた場合,
  if "%1"=="" goto :eof -> if ""abc""=="" goto :eof
  ""=="" なので常に goto :eof を実行.

  683 :名無し~3.EXE:2008/05/19(月) 13:26:33 ID:EjVEkl8f
  ちがうよ.
  if ""abc""=="" goto :eof
  を.
  if ""abc""=="" echo true
  ってやってみな.
  たぶん.
  if ""a c""=="" goto :eof
  でエラーになってるんだろ.
  バッチファイルの関連付けを.
  cmd /k "%1" %*
  に変えて実行結果を確認しろ.

  684 :名無し~3.EXE:2008/05/22(木) 22:06:39 ID:Vl7E04+C
  スンマソン.
  バッチでIPアドレスの設定は可能でしょうか?
  あとディスク使用量を出すコマンドはあるでしょうか?
  よろしくです.

  685 :名無し~3.EXE:2008/05/23(金) 07:17:56 ID:PYuFRnph
  >>684
  netsh interface ip set address name="ローカル エリア接続" source=static
  addr=192.168.1.1 mask=255.255.255.0
  netsh interface ip set address name="ローカル エリア接続" gateway=192.168.1.254
  gwmetric=0
  netsh interface ip set dns name="ローカル エリア接続" source=static addr=192.168.1.253
  register=PRIMARY

  686 :名無し~3.EXE:2008/05/23(金) 10:07:11 ID:ZLhGN8vH
  fsutil volume diskfree c:
  空きとドライブの全容量が出るからそこから逆算すれば.

  687 :名無し~3.EXE:2008/05/23(金) 19:00:56 ID:HPZlYjUP
  dir /s c:\

  688 :名無し~3.EXE:2008/05/25(日) 14:35:32 ID:o3W/fKZ/
  Accessのローカルのクライアントマシンに存在するmdbファイルを世代管理を使ってサーバーにバックアップを取る仕組みを考えております.
  世代管理は例えば今日からで言えば20080525.mdb 〜.
  20080601.mdbまで一週間分保持するものとし6/2になれば5/25日のバックアップファイルは消され一番古いものが5/26日となります.
  また同一日付でこのバッチが起動された場合は同じ日付のバックアップの保存先のmdbファイルが新しい方の日付で更新される仕組みを考えております.
  これをどうしてもコマンドプロンプトのbatファイルにて作成したいのですが, ベテランの方ご教授していただけますか?
  以前このような世代管理を行っていた方はいたのですが, 現状その方に聞ける事情ではなくインターネットで調べてもうまいような検索結果がヒットしません.
  どなたかご教授の程お願い致します.

  689 :名無し~3.EXE:2008/05/25(日) 14:59:19 ID:QPVRGIlk
  >>688
  日付をつけるとややこしくなりそうだし, どうせ消すのなら.
  backup_mon.bat
  copy xxxx.mdb backup_mon.mdb
  みたいなのを1週間分つくって,
  タスクマネージャで起動かけるとかじゃだめ?
  これだと古いのは勝手に消えるし.

  690 :689:2008/05/25(日) 15:03:40 ID:QPVRGIlk
  x  タスクマネージャ.
  o  タスクスケジューラ.
    . orz.

  691 :名無し~3.EXE:2008/05/25(日) 15:44:38 ID:wEJGvu77
  TXTファイルから各行の最後尾文字列だけ抽出するバッチファイル.
  1, 2332, 311133, 444, 555, 66666, 1行目成功.
  1, 2, 1111, 33333333333333333, 2行目成功.
  22444222, 1111, 333, 444, 5, 6, 7, 3行目成功.
  以下略.
  最後尾が何番目のトークンかは不定.
  最後尾の前に並ぶ文字列に規則性無し.
  上のTXTファイルから.
  1行目成功.
  2行目成功.
  3行目成功.
  以下略.
  と取り出すもの.
  *行成功というは仮に書いてるだけでこの文字列にも規則性は無し.
  検索したらniftyのフォーラムで同様の質問している人がいたが解答に出会えないまま.
  このバッチファイルは考え方としてどんなものがあるでしょうか?
  アイデアだけでも歓迎.
  ヒントをくれたらバッチファイルはしこしこ組みまする.

  692 :名無し~3.EXE:2008/05/25(日) 16:21:12 ID:zbkosXn7
  一般的な方法じゃないけど,
  各行の後ろの何文字かを取り出して,
  , をスペースに変換して,
  一番最後のワードを結果とするのはどうですかね.

  693 :名無し~3.EXE:2008/05/25(日) 18:25:46 ID:k5O0hNsJ
  for /f "delims=" %%L in (hoge.txt) do (
  for %%I in (%%L) do set str=%%I
  call echo %%str%%
  )

  694 :名無し~3.EXE:2008/05/25(日) 18:42:07 ID:wEJGvu77
  >>693
  出来ました<(_ _)>

  695 :名無し~3.EXE:2008/05/26(月) 12:03:03 ID:2uqHEmAT
  今更Windows2000なのですが, 画面の解像度とかカラーモードをバッチで設定することは可能ですか?

  696 :名無し~3.EXE:2008/05/26(月) 13:45:51 ID:SfOkgupv
  コマンド1個だけじゃ無理だろうね.
  いろいろ手順を踏めばできないこともないが,
  適当な外部ツールを起動させるだけのバッチを作ったほうが手間的に得.

  697 :名無し~3.EXE:2008/05/26(月) 13:56:06 ID:NdJLY4Hf
  >>695
  つhttp://www.vector.co.jp/soft/dl/win95/util/se310819.html

  698 :695:2008/05/26(月) 14:11:14 ID:2uqHEmAT
  即答ありがとうございます. >>697のツールを試してみることにします.

  699 :名無し~3.EXE:2008/05/27(火) 19:59:09 ID:/w3vmy7X
  コマンドプロンプトにおける, \"の挙動ってどうなっているのでしょうか?
  "s/'//g" | more
  という引数を渡すと "s/'//g" のみが引数として渡り.
  結果がページ毎に止まって出力されます. しかし.
  "s/'/\"/g" | more
  という引数を渡すと "s/'/\"/g" と "|" と "more" の3つが引数として渡ってしまいます.
  後者2つをそれぞれパイプ, moreとして扱って貰うにはどうしたら良いのでしょうか?

  700 :名無し~3.EXE:2008/05/27(火) 20:15:01 ID:/w3vmy7X
  ちなみに, いくつかのコマンドで試しましたが.
  どれもやはり | more が引数として取られてしまいました.
  >gawk "BEGIN{ for(i in ARGV) print ARGV[i]; }" "s/'/\"/g" | more
  gawk
  s/'/"/g
  |
  more
  >perl -e "print join' ', @ARGV" "s/'/\"/g" | more
  s/'/"/g | more
  >ruby -e "p ARGV" "s/'/\"/g" | more
  ["s/'/\"/g", "|", "more"]

  701 :名無し~3.EXE:2008/05/27(火) 22:24:26 ID:24yESl2I
  ^

  702 :名無し~3.EXE:2008/05/27(火) 22:43:51 ID:/w3vmy7X
  エスケープは ^ でしたっけ. しかしそうすると今度は.
  >perl -e "print join', ', @ARGV" "s/'/^"/g" | more
  s/'/^/g | more
  | more までが全て1つの引数として扱われてしまいました.

  703 :名無し~3.EXE:2008/05/27(火) 22:48:28 ID:hncFSdKH
  括弧は?

  704 :名無し~3.EXE:2008/05/28(水) 11:01:30 ID:ae35Ovs8
  cmdを起動する時に, 詳細設定の環境変数を弄らずに.
  path %path%;c:\bin やdoskey等を打ち込んだ状態にしたいのですが, どうすればできますか?

  705 :名無し~3.EXE:2008/05/28(水) 13:49:11 ID:PlLgl/L0
  cmd起動用のバッチでも書け.

  706 :名無し~3.EXE:2008/05/28(水) 14:16:28 ID:lcT2TWdz
  cmd /k "path %path%;c:\bin & doskey"

  707 :名無し~3.EXE:2008/05/28(水) 14:23:02 ID:lcT2TWdz
  \042
  \x22

  708 :名無し~3.EXE:2008/05/28(水) 14:47:27 ID:ae35Ovs8
  >>706
  ありがとうございます.

  709 :名無し~3.EXE:2008/05/28(水) 21:52:55 ID:bRtNuYLO
  >703
  こういうことでしょうか?
  >( perl -e "print join', ', @ARGV" "s/'/^"/g" ) | more
  More?
  More?
  More?
  More?
  >( perl -e "print join', ', @ARGV" "s/'/\"/g" ) | more
  More?
  More?
  More?
  More?
  More? が終わりません・・・.
  >707
  >perl -e "print @ARGV" "\x22"\042"" | more
  \x22\042
  すみません, よく分からないです・・・.
  どなたか, ダブルクォートを引数として渡して.
  パイプ以降はちゃんとパイプとして認識されるような書き方を知らないでしょうか・・・.

  710 :名無し~3.EXE:2008/05/28(水) 22:20:25 ID:wRMFx7lg
  バイナリファイルの先頭1MBだけコピーしたいのですが,
  この用途に適したコマンドまたはツールはないでしょうか.
  ファイルのハッシュを計算する際, フルにスキャンすると時間がかかるので,
  個体認識さえできればよい, という前提で探していますが,
  CUIツールは見つからず, ヘルプいただけると助かります.

  711 :名無し~3.EXE:2008/05/29(木) 01:18:04 ID:JW1TfnJu
  call :hoge > hoge
  more hoge
  del hoge
  goto :eof
  :hoge
  perl -e "print join', ', @ARGV" "s/'/^"/g"

  712 :名無し~3.EXE:2008/05/29(木) 02:05:00 ID:EjL5v9Ji
  ちょっと長くなりますがschtasksについて質問させてください.
  テキストファイルをリモートサーバ上にコピーするバッチcollect.batと,
  それをschtasksを使ってAdmin権限で実行するプレバッチについて.
  配布して実行した結果, プレバッチ内のschtasks処理がされずに.
  失敗したものがほとんどで, 成功したものは配布対象の1割程度.
  でした. バッチを作成した環境やテスト環境では成功していました.
  プレバッチでは.
  set LOGFILE=D:\LOG\collect.log
  echo [%TIME:~0, 8% start] >> %LOGFILE%
  schtasks /create /u:administrator /p:**** /tn collect
  /tr D:\collect.bat /sc once /start %TIME:~0, 5% >>%LOGFILE%
  schtasks /run /tn collect >> %LOGFILE%
  echo [%TIME:~0, 8% end] >> %LOGFILE%
  こんな感じにしていますが, なぜかschtasksコマンドの結果が.
  collect.logには何も残っていません.
  プレバッチの実行はこのログからも確実にされていることが.
  分かっています.
  Task Schedulerサービスは実行されていますが, サービス未起動.
  でもschtasksが返すメッセージが残るはずなので不思議です.
  成功した環境と失敗した環境との違いも, 今の所はわかりません.
  環境はWindowsXP Pro SP2です.
  schtasksが正常に実行されないのはなぜでしょうか?

  713 :名無し~3.EXE:2008/05/29(木) 11:03:38 ID:kmN2kcgk
  >>710
  dd でいいんじゃないかな.
  http://genluck.blog78.fc2.com/blog-entry-2.html
  cygwinとかgnuwin32とかにもあると思う.

  714 :名無し~3.EXE:2008/05/29(木) 13:15:02 ID:vznSjYc6
  >>712
  schtasksのエラーのメッセージは標準エラー出力に出るんじゃね?
  schtasks 〜 >> %LOGFILE% 2>&1

  715 :名無し~3.EXE:2008/05/29(木) 21:38:50 ID:wqEdMWdF
  >>713
  ありがとうございます. おかげさまで, かなり高速で処理できました.
  まさかWindows環境で, あの便利なDDが使えるとは・・・.
  /of  にHDDのデバイス名を割り当てたら死んでしまうので,
  バッチで作る際は, その点だけ要注意ですね.

  716 :名無し~3.EXE:2008/05/30(金) 20:58:00 ID:fOxd9QQm
  >711
  う〜ん, バッチファイルの話では無いのでこちらで聞いていたのですが.
  ・・・とりあえず, 色々考えてみます. ありがとうございました.

  717 :名無し~3.EXE:2008/05/30(金) 22:34:33 ID:9ky/2+Nz
  それより正規表現で>>707の意味を調べろよ.

  718 :名無し~3.EXE:2008/05/31(土) 01:06:58 ID:zEJ6JTHT
  \ ただの文字.
  " 開始引用符は終了引用符までのすべての文字をただの文字として扱う.
  ^ 引用符中でなければ次の文字が持っている機能をエスケープする.
  したがって s/'/^"/g となる. プログラムに "s/'/"/g" を渡したいのなら ^"s/'/^"/g^"
  となる.
  ただしプログラム側が " に対して特別な処理をしていてcmd.exeが渡した引数と異なる値.
  になるかもしれない.
  VC++ 2003ではs/'/^"/gはプログラム側でGetCommandLine()するとs/'/"/gだったが,
  argv[1]はs/'//gになった.
  s/'/^"""/g|moreはGetCommandLine()ではs/'/"""/gとなりargv[1]はs/'/"/gになった.
  コンパイラやプログラム側の処理でどうなるかはわからないが, たぶん正解は.
  s/'/^"""/g|more

  719 :名無し~3.EXE:2008/05/31(土) 12:55:23 ID:LVZHNqTn
  引数に空白とタブルクォートが両方入るならどうなる?

  720 :名無し~3.EXE:2008/05/31(土) 17:28:29 ID:W5p9QjDe
  このプログラム argecho.c をコンパイルして試してみた.
  #include <stdio.h>
  #include <string.h>
  #include <windows.h>
  int main(int argc, char **argv)
  {
  char *p;
  int i;
  p = GetCommandLine();
  if ( p == NULL ) {
  exit(1);
  }
  printf("GetCommandLine=[%s]\n", p);
  for ( i = 0 ; i < argc ; i++ ) {
  printf("argv[%d]=[%s]\n", i, argv[i]);
  }
  return 0;
  }
  >argecho s/" "'/\^"/g arg2 |more
  GetCommandLine=[argecho s/" "'/\"/g arg2 ]
  argv[0]=[argecho]
  argv[1]=[s/ '/"/g]
  argv[2]=[arg2]
  >argecho \^"s/" "'/\^"/g\^" arg2 |more
  GetCommandLine=[argecho \"s/" "'/\"/g\" arg2 ]
  argv[0]=[argecho]
  argv[1]=["s/ '/"/g"]
  argv[2]=[arg2]
  (VC++ 2003の)ランタイムルーチンがコマンドラインをargv[]に分解するときに \ は " をエスケープする意味があるのでこうなった.
  フリーのコンパイラ(Visual C++ 2005 Express Edition, Borland C++ Compiler
  5.5など)をインストールして追試してみてくれ.

  721 :名無し~3.EXE:2008/05/31(土) 22:11:49 ID:Uj21DRlS
  以前, 似たような試験をしてみたところ,
  Visual C++ 2005 Express Edition と MinGW の gcc は同じ結果で.
  Borland c++ 5.5 だけ結果が違ってた.
  Windows では, コマンドラインを解釈するのはランタイムライブラリ.
  コナパイラが変われば解釈も変わる.
  同じ Visual C++ でも将来のバージョンで変わるかもしれない.
  コンパイラに依存するような書き方をするのは不安だよね.
  危ない橋をわたるより, もっと確実な方法を取ったほうがいいよ.

  722 :名無し~3.EXE:2008/05/31(土) 22:20:32 ID:1exRLpNU
  んじゃ, batの結果.
  @echo off
  echo %%*=[%*]
  echo %%0=[%0]
  echo %%1=[%1]
  echo %%2=[%2]
  Vistaのcmd.exe
  C:\>arg s/" "'/\^"/g arg2 |more
  %*=[s/" "'/\"/g arg2]
  %0=[arg]
  %1=[s/" "'/\"/g arg2]
  %2=[]
  C:\>arg \^"s/" "'/\^"/g\^" arg2 |more
  %*=[\"s/" "'/\"/g\" arg2]
  %0=[arg]
  %1=[\"s/"]
  %2=["'/\"/g\" arg2]

  723 :名無し~3.EXE:2008/05/31(土) 22:36:47 ID:1exRLpNU
  ついでにVistaのcommand.com (dosonly)
  とても素直です.
  C:\>ARG s/" "'/\^"/g arg2 |more
  %*=[*]
  %0=[ARG]
  %1=[s/"]
  %2=["'/\^"/g]
  %3=[arg2]
  C:\>ARG \^"s/" "'/\^"/g\^" arg2 |more
  %*=[*]
  %0=[ARG]
  %1=[\^"s/"]
  %2=["'/\^"/g\^"]
  %3=[arg2]
  C:\>VER
  MS-DOS Version 5.00.500

  724 :名無し~3.EXE:2008/06/01(日) 00:09:57 ID:GAaQjz3F
  色々ありがとうございました.
  >718-723 の説明で完全に理解しました.
  私の勘違いはどうやらいくつかあったようで.
  ・\をcmdが処理していると思っていた.
    (cmd的にはただの文字であり, アプリ側で処理していた)
  ・引用符は空白の入った引数を括るためのものだと思っていた.
    (空白に限らず, "以外全ての文字をただの文字として扱わせるものだった)
  ・引用符は1つの引数全体を括るものだと思っていた.
    (引数の途中から途中を括ることができる)
  ・引用符中であろうと ^ はエスケープとして機能するハズだと思っていた.
    (引用符は空白を括るだけでなく ^ すらも文字列化してしまう)
  >702 は""の中に ^ があった為, エスケープされず.
  次の"で引用符としての効果が終了,
  /gの後が2つめの引用符の開始になってしまったのですね.

  725 :名無し~3.EXE:2008/06/01(日) 11:12:36 ID:dypgy/G+
  >723
  >ついでにVistaのcommand.com (dosonly)
  >とても素直です.
  ナイーブなまんま. 日本に来て英語喋り続けるんだYO!

  726 :名無し~3.EXE:2008/06/01(日) 22:21:54 ID:Sj5PJvNr
  すんません.
  すごい低俗な質問なんですが.
  ren(rename)がうまくいきませぬ.
  たとえばデスクトップにあるテストって名前のフォルダの名称を変更する場合.
  C:\Documents and Settings\****\デスクトップ>ren テスト テスト1
  こういうやり方をしてうまくいかないのは.
  やっぱりがおかしいんでしょうか. o....rz

  727 :名無し~3.EXE:2008/06/01(日) 22:29:59 ID:Sj5PJvNr
  いえきっと.
  やっぱり頭がおかしいんだといいたかった・・・.

  728 :名無し~3.EXE:2008/06/01(日) 23:30:35 ID:qvFoSpKB
  >>726
  普通にできるが?
  「テスト」内のファイルを使用中にリネームしようとしてるんじゃないの?

  729 :名無し~3.EXE:2008/06/01(日) 23:40:24 ID:Sj5PJvNr
  >>728
  いえ開いてなんていないですが・・.
  これであってるんですか.
  同見ても無反応・・・.

  730 :名無し~3.EXE:2008/06/01(日) 23:41:55 ID:Sj5PJvNr
  すません途中送信してしまた. orz.
  >>728
  いえ開いてなんていないですが・・.
  これであってるんですか.
  同見ても無反応・・・.
  で, renってファイルがデスクトップに作成されちまいやす.

  731 :名無し~3.EXE:2008/06/01(日) 23:58:36 ID:3OfuHUqF
  >>730
  まさか「デスクトップ>ren テスト テスト1」を打ってる?
  デスクトップにcdして, それから「ren テスト テスト1」だぞ.

  732 :名無し~3.EXE:2008/06/02(月) 00:04:46 ID:D3dgcEjP
  C:\Documents and Settings\****\デスクトップ>
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          [上矢印]これは「プロンプト」と言って, 入力しなくていい.
  ren テスト テスト1
  ~~~~~~~~~~~~~~~~~~
          [上矢印]あなたが入力するのは, コレ!
  つまり,
  C:\Documents and Settings\****\デスクトップ>ren テスト テスト1
  ~~~~~~~~~~~~~~~~ここだけ入力するとこ.

  733 :名無し~3.EXE:2008/06/02(月) 00:06:34 ID:Sj5PJvNr
  >>731
  cd<C:\Documents and Settings\Akihiko\デスクトップ.
  ren テスト テスト1
  こういうことでしたか無知ですいません.
  ググりまくったんですが.
  どこ見てもコマンドの説明とかあるんですが構成とかまったくなくて..o..rz
  ばかですいまそん.
  ほんとはファイルの名前だけ入れ替えとかやりたかったんですが.
  これだけのことにこんな手間取るなんて・・・.
  諦めて半年くらいROMってきます.
  ありがとう. orz.

  734 :733:2008/06/02(月) 00:08:33 ID:Cid0TIPt
  >>732
  ouch!
  レスがついてる!
  親切にありがとう.
  一番大事なとこが抜けてたんですね.
  バッチファイルが作りたかったんです. orz.
  ほんと素人すぎてすいまでした.

  735 :名無し~3.EXE:2008/06/02(月) 00:14:22 ID:Cid0TIPt
  すいまでした->すいませんでした.
  頭がパンクしました.. orz.

  736 :名無し~3.EXE:2008/06/02(月) 00:30:58 ID:1WXTzPCh
  ちったあ推敲してから書き込め.

  737 :名無し~3.EXE:2008/06/02(月) 13:54:20 ID:3tN2UbSe
  睡魔だったんだろ?解るよ.

  738 :名無し~3.EXE:2008/06/02(月) 17:53:55 ID:/+k/rMka ?2BP(802)
  オリンピックも近い事ですしね・・・.

  739 :名無し~3.EXE:2008/06/03(火) 18:08:38 ID:7j2Uu5Ce
  http://ossan.fam.cx/up/uploda2/src/up0801.jpg

  740 :名無し~3.EXE:2008/06/04(水) 15:09:56 ID:E/mtZnYt
  100個位のバッチを4個づつ走らせる方法を教えてください.
  具体的にいうと, XP homeでstartからのバッチでシングルスレッドのx264(とavisynth)を.
  よっつ同時起動して1つ終了するたびに1つ起動するようにしたいです.
  イメージとしては.
  start /min 000.bat
  start /min 001.bat
  start /min 002.bat
  start /min 003.bat
  :ここで条件判定.
  start /min 004.bat
  :ここでも条件判定.
  start /min 005.bat
  :ここでも...
  start /min 006.bat
  ...
  みたいな感じでやりたいです.
  /wait付けて4分割で良さそうですが, それぞれ計算量(計算時間?)は違うはずなので非効率的です.
  個々のバッチの最後に条件判定の種を仕込む方法もあると思いますが, もちろん同時に終了する可能性もあるので, それぞれのバッチでうまく同期?する必要が有ります.
  その辺も考慮した方法をお願いします.

  741 :名無し~3.EXE:2008/06/04(水) 15:16:49 ID:MFKCUv/N
  モレはふつーに, 100行あったら, 25行づつ4枚のBATファイル書いてるけど.
  特に問題無いよ.

  742 :名無し~3.EXE:2008/06/04(水) 15:26:33 ID:E/mtZnYt
  オレも今まではそうだったんだけど, もっと賢くできないかなぁ?とか思ったけど.
  オレに出来る範囲だとomp使ってexe作る位しか思いつかなかったから, 試しに聞いてみた.
  どうぞよろしく〜.

  743 :名無し~3.EXE:2008/06/04(水) 15:30:47 ID:znlAZcWV
  WSHでExec使えばえーがな.

  744 :名無し~3.EXE:2008/06/04(水) 15:41:12 ID:E/mtZnYt
  >>743
  正規表現がどうかしたの?とかおもったけど. w.
  調べてみたら割と簡単に出来そうで助かりました.
  ありがとうございましたノシ.

  745 :名無し~3.EXE:2008/06/04(水) 15:46:52 ID:E/mtZnYt
  訂正.
  X  ありがとうございましたノシ.
  O  ありがとうございましたm(_ _)m

  746 :名無し~3.EXE:2008/06/04(水) 16:03:08 ID:mGvFQhiJ
  >>742
  BATじゃなくて, AutoHotkeyやwshを使ったほうが確実だよ. 起動したバッチの.
  PIDを監視して, それが消滅したら次のタスクへ, なんてのも数行でできる.
  AutoHotkeyの例.
  Loop, 100
    {
    cmd=やりたいこと%A_Index%.bat
    runwait %cmd%, , Hide, pid
    if errorlevel<>0
      msgbox, エラーでたよ. PID=%pid%  errorlevel=%errorlevel% つづけたいならOK押せ.
    }
  「A_Index」は, ループ内で回った回数のこと. ループのたびに数値が1ずつ.
  上がっていくから, やりたいこと1.bat->やりたいこと2.bat->やりたいこと3.bat
  ・・・やりたいこと100.bat->END
  と, 順番に処理してくれる.
  hideは, ウインドウを一切表示させない意味. pidは実行した際のpidが入る.
  実行後, errorlevelが0以外なら, なんらかのエラーが出てるはずだから.
  そのときだけbeepを鳴らしたり, ダイアログを出すとかも可能.
  エンコ用途なら, ダイアログを10秒以上放置したら自動で次の処理とかもできる.
  このスレでも何度か出てるけど, いまどきBATをつかうのは.
  単独で起動させるプログラムにオプションを与えるための整理役と,
  緊急時や, 社内ポリシーの制限で「仕方なく」使うようなもの.
  わかりにくくて制限だらけのBATをパズルのように使いこなすよりも,
  もっと簡単に操作可能な方法を組み合わせたほうが効率的だよ.

  747 :名無し~3.EXE:2008/06/04(水) 17:57:35 ID:B4CJCE84
  んなアホな. それだったら.
  「質問された事をコマンドライン以外でやろうとしたらどうなるか?」スレになってしまう.
  ここは「それでも時代遅れのコマンドラインでなんとかやろうとしたらどうなるか?」と追求したり, それを質問をするスレだわ.
  コマンドラインが時代遅れである事は聞いてる人の側でもむしろ前提.
  746方式だと, これから誰かが何か聞いてくるたびに, 質問されても無い別のスクリプトを教えるつもりなのか?
  お勉強発表会は否定しないがその該当スレでやるか?ソフ板の総合質問系のスレでやるヨロシ.

  748 :名無し~3.EXE:2008/06/04(水) 18:18:50 ID:mGvFQhiJ
  >>747
  あーごめん. 言葉足らずだった.
  質問者が.
  >mp使ってexe作る位しか思いつかなかったから.
  ということだから, 質問者のやりたいことだけを手っ取り早く.
  実現するなら, 全部バッチでやるよりも簡単な方法があるよ, という話.

  749 :名無し~3.EXE:2008/06/04(水) 21:49:55 ID:7+YNsR+N
  すいません. 教えて下さい.
  ファイルをD&Dしたときにそれをコピーしてある名前にする.
  っていう単純なバッチが作りたいんですが.
  全角スペースを含む日本語ファイル名だとうまく動きません.
  いい解決方法ないでしょうか.
  @echo off
  cd /d "%~dp0"
  copy "%~1" temp.txt
  echo Finish.
  pause

  750 :名無し~3.EXE:2008/06/04(水) 22:09:00 ID:iEWLl5O8
  >>749
  >>488-495

  751 :名無し~3.EXE:2008/06/05(木) 09:36:57 ID:lU41qR+3
  >>750
  ありがとうございました.
  いろいろぐぐったんですがいい方法も見つからなかったので.
  スペースは手作業で消すことにします.

  752 :名無し~3.EXE:2008/06/05(木) 09:50:21 ID:wBw/Rao8
  set x=%2
  if defined x (copy "%*" temp.txt) else copy %1 temp.txt

  753 :名無し~3.EXE:2008/06/05(木) 10:27:50 ID:lU41qR+3
  >>752
  あーなるほど.
  分離してしまうならつなげろってことですか.
  気付きませんでした. orz.
  ありがとうございました.

  754 :名無し~3.EXE:2008/06/05(木) 18:41:34 ID:wBw/Rao8
  >>740
  set /a n=0
  for /f "delims=" %%I in (list.txt) do call :run %%I
  goto :eof
  :run
  for /f "skip=3 delims=" %%J in ('dir /b executing.*') do (
  sleep 5
  goto :run
  )
  set /a n+=1
  type nul >executing.%n%
  start cmd /c " %1 & del executing.%n%"
  goto :eof

  755 :名無し~3.EXE:2008/06/05(木) 22:03:49 ID:pkF1J8Bp
  毎日, 画像を三十枚以上, 縮小&リネームしています.
  手作業はしんどいので, 自動化しようと思いここにたどり着きました.
  リネームはDOSプロンプトで出来ることが分かりました.
  画像はWindows標準のPaintで縮小していましたが, DOSで同様の処理が出来ますでしょうか?
  ただし, 他のソフトをインストールできない環境です. 標準のソフトとofficeしか入っていません.

  756 :名無し~3.EXE:2008/06/05(木) 23:52:02 ID:BS+WRxse
  >>755
  imagemagick使う.
  インストールできないというのが実行ファイルを外部から持ってくるのも不可という場合は不可能と言うべきか?
  厳密には不可能じゃないけど・・・.

  757 :名無し~3.EXE:2008/06/05(木) 23:52:10 ID:2RA2pd/j
  質問スレで反応がなかったのでこちらで質問させてください. 補足ですが, XP PS3です.
  660 名無し~3.EXE sage 2008/05/29(木) 20:36:57 ID:0+d669Zv
    net sendコマンドとmsgコマンドは何が違うのでしょうか?
    Messenger serviceを有効にしてnet sendは機能.
    するのですが, msgコマンドは/server:で対象を指定しても.
    "エラー [5]:アクセスが拒否されました. "となってしまいます.
    対象を*にするとローカルには表示されます.

  758 :755:2008/06/06(金) 05:15:08 ID:eZBPSYq8
  >>756
  imagemagickは外部から持ってくることになるため, 避けたいです.
  厳密には不可能でないという方法をアドバイス頂けないでしょうか?

  759 :名無し~3.EXE:2008/06/06(金) 12:52:46 ID:TZUSZeSd
  WSH使え.

  760 :名無し~3.EXE:2008/06/06(金) 18:20:54 ID:b+c7iV0l
  >>755
  バイト雇え.

  761 :名無し~3.EXE:2008/06/07(土) 08:17:30 ID:9kLf9UVX
  ディスクの空き容量によって, 処理(制御)の流れを変えるバッチファイルを.
  作りたいのですが, 環境変数に空きディスク容量(ファイルのデータ)を.
  セットする方法が分かりません.
  今考えている手順は,
  dirの出力をファイルに落として, 空き容量の文字列を抽出し,
  それを環境変数にセットしてIF文で判定するというものです.
  ちなみに, 空き容量文字列の抽出は,
  別のScript言語で作るしかないのでしょうか?
  よろしくお願います.

  762 :名無し~3.EXE:2008/06/07(土) 08:17:58 ID:9kLf9UVX
  ディスクの空き容量によって, 処理(制御)の流れを変えるバッチファイルを.
  作りたいのですが, 環境変数に空きディスク容量(ファイルのデータ)を.
  セットする方法が分かりません.
  今考えている手順は,
  dirの出力をファイルに落として, 空き容量の文字列を抽出し,
  それを環境変数にセットしてIF文で判定するというものです.
  ちなみに, 空き容量文字列の抽出は,
  別のScript言語で作るしかないのでしょうか?
  よろしくお願いします.

  763 :名無し~3.EXE:2008/06/07(土) 13:40:11 ID:Ep8IequY
  >dirの出力をファイルに落として.
  for /f使え.
  詳しくはfor/?
  >空き容量文字列の抽出は.
  findかfindstr使え.
  詳しくはfind/?かfindstr/?

  764 :762:2008/06/07(土) 14:41:58 ID:9kLf9UVX
  >>763
  レスありがとうございます.
  制御変数へのセット(IF文での判定)はどうすれば良いのでしょうか?
  ここが一番悩みなんですが・・・.

  765 :名無し~3.EXE:2008/06/07(土) 14:50:39 ID:6Y503noJ
  あるプログラムを互換モードで動作させる場合, エクスプローラからそのプログラムを.
  右クリックして, プロパティから互換性タブを開いて設定すると思います.
  この作業をコマンドラインから行いたいのですが, どなたか方法をご存知ありませんか.

  766 :名無し~3.EXE:2008/06/07(土) 16:51:57 ID:Ep8IequY
  >制御変数へのセット(IF文での判定)はどうすれば良いのでしょうか?
  for /f使え.
  詳しくはfor/?

  767 :名無し~3.EXE:2008/06/07(土) 18:08:56 ID:616T7vii
  >>766
  部外者だが, 知ってるなら具体的に**オプション使えばできる, とか書いてよ.
  そんなオウム返しみたいなレス, スレが汚れるだけだからいらんよ.

  768 :名無し~3.EXE:2008/06/07(土) 18:22:09 ID:EguiI6zR
  答え: /f

  769 :762:2008/06/07(土) 21:23:09 ID:9kLf9UVX
  >>766, 767, 768
  レスありがとうございます.
  for /fしか, ないということですね.

  770 :名無し~3.EXE:2008/06/07(土) 22:56:00 ID:Ep8IequY
  サンプルコード欲しければ,
  http://pc11.2ch.net/test/read.cgi/win/1176558776/
  で^Fしてfor /fを検索すればいくらでも見つかるよ.

  771 :762:2008/06/08(日) 11:22:44 ID:1NIPO+wf
  for /fは分かったのですが, 数値比較がうまくいきません.
  if文で, 数字が小さいと正しく比較されますが,
  数字が大きくなると正しく比較されません.
  例えば 1000 leq 800は, 偽ですが,
  100000000000 leq 80000000000は, 真になります.
  どうすれば良いのでしょうか?

  772 :名無し~3.EXE:2008/06/08(日) 11:26:09 ID:yG6GqC1B
  桁削れ.
  set /?

  773 :762:2008/06/08(日) 14:02:03 ID:1NIPO+wf
  >>772
  レスありがとうございます.
  なんとか出来ましたm(_ _)m

  774 :名無し~3.EXE:2008/06/08(日) 19:37:43 ID:kTIPTXhe
  setで=を置換できない?
  set a=b=c
  echo %a:==d%
  ==d%
  の使い方が誤っています.
  echo %a:^==d%
  b=c

  775 :名無し~3.EXE:2008/06/08(日) 22:08:48 ID:/UhiE58u
  >>774
  ちゃんとできてるじゃないの. 何が問題なの?

  776 :名無し~3.EXE:2008/06/08(日) 23:25:48 ID:xSF5tFgW
  置換出来てるようには見えないが. w.
  774がaの値がb=cとか錯覚しやすい変な例を上げてるせいだが.
  set a==
  で.
  echo %a:==置%
  echo %a:^==置%
  どのやりかたでもダメだったと言いたいのだと思う.
  答えはシラネ. w.

  777 :名無し~3.EXE:2008/06/09(月) 01:25:45 ID:ChRGygE7
  >>755
  画像をUSBメモリで持ち帰ってフォトショップのマクロでやる.
  exeの持ち込みはダメなのにbatはいいってのがよくわからん管理状況だな.
  せめてOfficeとか入ってないの?VBA使えばそれこそなんでもできるよ.

  778 :名無し~3.EXE:2008/06/09(月) 01:29:52 ID:2VVefUuT
  >>777
  よく嫁.
  > 標準のソフトとofficeしか入っていません.

  779 :名無し~3.EXE:2008/06/09(月) 03:03:11 ID:ChRGygE7
  すまん. 素で読み落としてたわ.

  780 :名無し~3.EXE:2008/06/13(金) 08:48:10 ID:jt91+Q1n
  バッチ処理(〜.bat)をログオン時起動するように,
  設定したのですが, うまく実行されません.
  OSはVistaで, タスクスケジューラで状態を見ますと,
  「起動中」になっていますが,
  バッチ処理の中で, 処理が始まると表示するように.
  記述しているechoメッセージが表示されません.
  原因と対策を教えて下さい.
  よろしくお願いします.

  781 :名無し~3.EXE:2008/06/13(金) 11:21:22 ID:z034p4t+
  ログオン時起動するように設定した方法とechoメッセージまでのバッチの内容は?

  782 :780:2008/06/13(金) 19:38:13 ID:jt91+Q1n
  >>781
  レスありがとうございます.
  設定等は以下の通りです. よろしくお願いします.
  1. タスクスケジューラの.
  [全般]->[ユーザがログオンしているかどうかにかかわらず実行する]
          をチェック.
  [トリガ]->[タスクの開始]を[ログオン時]
          ->[特定のユーザ/グループ]をチェック.
  [操作]->[プログラムの開始]
          バッチファイルのパス名, ファイル名指定.
  2. バッチファイルの内容は.
  @echo off
  echo テスト.
      :
  です.
  あと, 関係があるかどうか分かりませんが,
  [コントロールパネル]の[タスクのスケジュール]の盾マークがついてます.

  783 :名無し~3.EXE:2008/06/13(金) 21:55:16 ID:eSs07QtP
  一瞬で終わってるから気づかないだけとかいうオチはないよね.

  784 :名無し~3.EXE:2008/06/14(土) 14:16:39 ID:2LQf8VmF
  MB温度, CPU温度, HDD温度をコマンドラインで取得したいです.
  Wmic.exeというのが使えそうなのですが, 使い方がいまいち分かりません.
  わかるから, 教えてください.

  785 :780:2008/06/14(土) 17:07:22 ID:pWOjAg5F
  >>783
  レスありがとうございます.
  「echo テスト」の次をpauseにしてますので,
  気づかないうちに終わったということはありません.

  786 :名無し~3.EXE:2008/06/14(土) 19:12:47 ID:gykffnVR
  >>785
  そもそもログイン前に実行したコマンドラインの内容って.
  ログイン後に表示されるの?
  出かけてるから試せないけど, ファイルつくるようなバッチだったら.
  どんな動きしてる?

  787 :786:2008/06/14(土) 19:15:56 ID:HScNwkhv
  ログイン前, じゃなくってデスクトップ表示前, ですね. orz.

  788 :名無し~3.EXE:2008/06/14(土) 20:43:48 ID:ZCY+j6Iz
  うごいてるのか,
  うごいてないのか.
  うごいてるのに目に見えないだけなのか.
  問題の切り分けをしろ.
  ECHo %DATE% %TIME% うんこヤロー>>UNKO.log

  789 :名無し~3.EXE:2008/06/14(土) 22:05:03 ID:HQrnnlE5
  >>780
  >「起動中」になっていますが,
  の原因は.
  >「echo テスト」の次をpauseにしてますので,

  790 :780:2008/06/15(日) 16:48:01 ID:HulyKHru
  レスありがとうございます.
  ECHo %DATE% %TIME% うんこヤロー  >>・・・を.
  echo テストの前に入れてみましたが,
  ファイルには何も書かれていません.
  要求時に実行をチェックして, [操作]->[実行]すると,
  タスクスケジューラの状態は実行中に変わりますが,
  やはり, ファイルには何も書かれていません.
  よろしくお願いします.

  791 :名無し~3.EXE:2008/06/15(日) 17:48:49 ID:Wz6x2KJY
  >>790
  そもそも, そのバッチをコマンドラインで実行したら, どうなる?

  792 :名無し~3.EXE:2008/06/15(日) 19:23:45 ID:JgbyKUVJ
  「ファイルには何も書かれていません」ってのが本当かどうか怪しいな.
  出力先に, ちゃんと絶対パスとドライブ名は入れてる?
  書けないと言っておきながら, tempディレクトリとかに.
  しっかり書き込まれて, 気づかない事例はよくある.

  793 :790:2008/06/16(月) 16:12:54 ID:jtToNX4P
  >>791, 792
  レスありがとうございます.
  コマンドラインで実行しても, バッチファイルをダブルクリックしても.
  正しく実行されます(ファイルに日付等が出力され, 次のechoコマンドの.
  メッセージが表示され, 「続行するには何かキーを押してください・・・」
  が表示されます(pause)).
  echo, pauseコマンドが処理されているのにメッセージ表示等が.
  正しく行われていないのか, そもそも処理されていないのかを.
  切り分けるためにファイル出力コマンドを入れています.
  ファイルに書き込まれていることに気付かないだけで,
  ファイル出力コマンドの処理が正常に行われていて,
  次の「echo テスト」「pause」コマンドが正しく処理されない.
  というのは考えにくいのではないでしょうか.
  ちなみに, タスクスケジューラでのバッチファイルのパス指定は.
  次のようになっていますが, 問題はないでしょうか.
  C:Users\アカウント名\バッチファイル名.

  794 :名無し~3.EXE:2008/06/16(月) 16:41:46 ID:qoH3tLVW
  なんで相対パス・・・・・・.

  795 :名無し~3.EXE:2008/06/16(月) 21:06:26 ID:TXDKiHGf
  どこが相対パス?

  796 :名無し~3.EXE:2008/06/16(月) 21:15:01 ID:dK6gjggp
  >>793
  Vistaで実行してるようですけど.
  リダイレクト先はどこにしてますか?
  権限をどう設定してるか分からないけど.
  C:\Users以下はUACの影響を受けたはずなので.
  その位置に書かれるか保証できないかも.
  Dドライブあたりにディレクトリ切ってみて.
  そこで試してみたらどんな結果になります?

  797 :796:2008/06/16(月) 22:40:05 ID:dK6gjggp
  >>790
  せっかくなので試してみました. (Vista-Ultimate x64)
  こんなバッチをタスクスケジューラに登録.
  echo | cd >> D:\test\aa.txt
  echo %date% %time% >> test.txt
  echo %date% %time% >> C:\Users\AcctName\test.txt
  echo %date% %time% >> D:\test\test.txt
  Dドライブにtestディレクトリを切って再ログイン.
  C:\Users\AcctName\ にはファイルは見あたらず.
  D:\test内のほうは.
    C:\Windows\system32
    2008/06/16 22:24:59.01
  の2行が生成.
  別ディレクトリを絶対パス指定しないとダメですね.
  (C:\Windows\system32にもファイルなし)
  それからログイン時のタスクで実行したタスクは.
  ログイン後のデスクトップ上に表示されない模様.
  Pauseは意味ないみたい.

  798 :名無し~3.EXE:2008/06/17(火) 02:07:19 ID:zYoM/dJA
  相対パス.

  799 :790:2008/06/17(火) 13:58:01 ID:zwWahSzn
  >>797
  レスありがとうございます.
  ファイルが作成されない原因は分かりました.
  ところで, 本来やりたい「デスクトップへechoメッセージを.
  表示してpauseで待つ」という処理が,
  ログイン時タスクで出来ないとすると, どうすれば良いのでしょうか?
  ログイン直後に自動起動してデスクトップへメッセージを表示して.
  キー入力を待つという処理はコマンドラインではできないのでしょうか?

  800 :名無し~3.EXE:2008/06/17(火) 14:26:27 ID:xgz+vgOu
  普通にスタートアップに登録すればいいんじゃね?

  801 :名無し~3.EXE:2008/06/17(火) 16:35:18 ID:zYoM/dJA
  >ファイルが作成されない原因は分かりました.

  802 :名無し~3.EXE:2008/06/17(火) 17:46:07 ID:1+L0u5+w
  教えて下さい.
  あるフォルダの画像ファイルのうち特定の物だけその日の日付+01.jpgのような二桁の連番にrenameしたいと思っています.
  1-9までは良いのですが10以降は三桁になってしまいどう対処すればいいのか判りません. よろしくお願いします.
  @echo off
  set /a N=1
  :LOOP
  for %%A in (abc*.jpg) do rename %%A %date:/=%0%N%.jpg > nul
  if "%N%"=="99" (goto EXIT)
  set /a N=N+1
  goto LOOP
  :EXIT

  803 :名無し~3.EXE:2008/06/18(水) 04:30:39 ID:Xiqhpdl5
  > ファイルが作成されない原因は分かりました.
  原因を説明せーよ.
  > ログイン時タスクで出来ないとすると, どうすれば良いのでしょうか?
  スタートアップ入れればいいじゃん.

  804 :名無し~3.EXE:2008/06/18(水) 10:13:29 ID:NUy0S7AO
  コマンド補完で, bashやnyacusのように候補一覧を並べるのではなく,
  zshのように候補を次々に表示していくシェルがあれば教えて下さい.
  こんな感じでできればいいなと思う例.
  環境変数path内に, 「testcommand01.exe」, 「testcommand02.exe」がある場合.
  testと打ち込み TABを1回打つと, testcommand01.exeが表示され,
  もう一度TABを打つとtestcommand02.exeが表示されるような感じ.

  805 :804:2008/06/18(水) 10:19:18 ID:NUy0S7AO
  すみません, よーく確認したらnyacusで, ほぼ同様の事ができるのでnyacus使わせてもらいます.

  806 :790:2008/06/18(水) 19:57:52 ID:kUYKhkJk
  >>803
  レスありがとうございます.
  表現が不適切でした. 原因は理解できていません.
  C:\Users\アカウント名の直下にバッチファイル等を置くと.
  ファイルに出力されないが, D:\等のドライブ名の直下に置くと.
  ファイルが出力される事が分かったという事です.
  あと, スタートアップ時でも, 現象は同じで,
  echoメッセージはデスクトップには出力されません.
  ログイン時に表示されないのは, OSの不具合なんでしょうか?
  (ログイン後ダブルクリックで起動したら, 表示されますので)

  807 :名無し~3.EXE:2008/06/18(水) 21:26:17 ID:kMRIsu4a
  で >>793 の相対パスは絶対パスに直したのかよ?

  808 :名無し~3.EXE:2008/06/18(水) 21:28:03 ID:xcv3f3Vr
  >>806
  まずは切り分けしてみては?
  スタートアップでもダメらしいですが.
  遅延時間を設定してデスクトップ表示後に.
  実行してみたり, 時間指定で動かすと.
  どんな挙動かを観てみてはどうでしょう.

  809 :名無し~3.EXE:2008/06/18(水) 21:53:26 ID:tm0Mfzl7
  女『車のエンジンがかからないの・・・』
  俺『バッテリーかな?ライトは点く?』
  女『昨日はちゃんと動いたんだけど・・・』
  俺『バッテリーかどうか知りたいんだけどライトは点く?』
  女『今日は**まで行かなきゃならないから車を使えないと・・・』
  俺『んでライトは点く?』
  女『前に乗ってた車ではこんな事無かったのに・・・』
  俺『ライトは点く?点かない?』
  女『*時に約束だからまだ時間はあるけど・・・』
  俺『死ね』
  [下矢印]
  女『ECHOが出力されないの・・・』
  俺『パスかな?絶対パスは点けてる?』
  女『スタートアップ後はちゃんと動いたんだけど・・・』
  俺『パスかどうか知りたいんだけどパスは点けてる?』
  女『今日はpingしたいからECHOを使えないと・・・』
  俺『んでパスは点けてる?』
  女『前に使ってたPCではこんな事無かったのに・・・』
  俺『パスは点けてる?点けてない?』
  女『pauseで待つ約束までまだ時間はあるけど・・・OSの不具合なのかな?』
  俺『死ね』

  810 :名無し~3.EXE:2008/06/18(水) 22:46:26 ID:kDIrIy9i
  テキストファイルの50行目から, 前後10行(40-60行まで)
  別ファイルにリダイレクトするって, コマンドプロンプトで.
  出来ますか?

  811 :810:2008/06/18(水) 22:49:13 ID:kDIrIy9i
  すみません. 環境は2K/XPです.
  出来ればNT4にも対応してると嬉しいです.

  812 :名無し~3.EXE:2008/06/19(木) 00:20:42 ID:o/4A0OYu
  unixのteeみたいに画面出力しつつファイルに落とすのってDOSでできますか?

  813 :名無し~3.EXE:2008/06/19(木) 00:32:47 ID:yke/11qL
  どこからか tee.exe をダウンロードして使うしか無いやろ.

  814 :名無し~3.EXE:2008/06/19(木) 00:33:42 ID:yke/11qL
  >>809
  そのコピペ, おもしろい. 名前を付けて保存・・・っと.

  815 :名無し~3.EXE:2008/06/19(木) 00:51:15 ID:o/4A0OYu
  >>813
  つまり, デフォルトでは無理ということですか.

  816 :名無し~3.EXE:2008/06/19(木) 01:58:58 ID:lAQJD2cS
  @if(0)==(0) echo off
  cscript //Nologo //E:JScript "%~f0" %*
  goto :EOF
  @end
  var FSo = new ActiveXObject("Scripting.FileSystemObject");
  var ForAppending = 8;
  var CreateIfNotExist = true;
  var OverWriteIfAlreadyExist = true;
  function write_file(filename, text, append_mode) {
  var file_stream;
  if(append_mode) file_stream = FSO.OpenTextFile(filename, ForAppending,
  CreateIfNotExist);
  else file_stream = FSO.CreateTextFile(filename, OverWriteIfAlreadyExist);
  file_stream.Write(text);
  file_stream.Close();
  }
  function main(args) {
  var append_mode = false;
  var i = 0;
  if(args[0]=="-a") {
  append_mode = true;
  i = 1;
  }
  var text = WScript.StdIn.ReadAll();
  WScript.StdOut.Write(text);
  for(; i<args.length; i++) {
  var filename = args[i];
  write_file(filename, text, append_mode);
  }
  }
  var args = new Array();
  for(var e=new Enumerator(WScript.Arguments); !e.atEnd(); e.moveNext())
  args[args.length] = e.item();
  main(args);

  817 :名無し~3.EXE:2008/06/19(木) 03:12:35 ID:Qc85Wdgr
  当日のイベントログの内容をCSV形式か, TXT形式で吐いてくれるバッチって作れますでしょうか?
  EVENTQUERY調べていたのですが・・・.
  イベントログ取りたいサーバーが, Windows NT Server および Windows 2000 Serverなので使えないみたいでした. . .
  その他のフィルタリングもできたらありがたいですが, できなければその後加工します.
  ヒントだけでもかまいませんので  よろしくお願いいたします.

  818 :802:2008/06/19(木) 08:08:58 ID:+4JJC5K4
  判りました. 1-9と10以上で条件わけすればよいのは判っていたのですが,
  なぜかうまく反映されなかったのが書き直したらうまくいきました.
  お騒がせしました.

  819 :名無し~3.EXE:2008/06/19(木) 10:44:22 ID:IU2H2q9l
  >>810
  前スレ833あたりでしてたよ. NT4に対応しているかは微妙.
  あと, head.exeとtail.exeを持ってくれば楽にできる.

  820 :名無し~3.EXE:2008/06/20(金) 02:14:08 ID:Tro/Oyn2
  >>816
  それじゃだめだろ.
  >画面出力しつつ.

  821 :名無し~3.EXE:2008/06/20(金) 13:43:58 ID:Tro/Oyn2
  powershellのstart-transcriptはどうだろ?

  822 :名無し~3.EXE:2008/06/20(金) 21:44:21 ID:NAkOQzpa
  >820
  出来るはずなんだが・・・.
  >816は標準出力と, 引数に指定したファイルに書き出すコードだぞ?
  標準出力をリダイレクトしたら表示されないかも知れんが・・・.

  823 :名無し~3.EXE:2008/06/21(土) 01:32:25 ID:LKJW76Gj
  >しつつ.

  824 :名無し~3.EXE:2008/06/21(土) 14:52:10 ID:k6N4oqjE
  >>822
  816って.
  dir *.* | tee.bat log.txt
  みたいな使い方するもんだよね?
  ちゃんと継続的に画面出力をログに出力してくれてるが・・・.
  進行度みたいな同じ行で更新されるタイプの出力を画面表示と同じように出力できるものってないかな.
  これはtee.exeでも同じなんだけど,
  1%
  2%
  3%
  ・・・.
  100%
  みたいに更新される毎に改行されてしまうんだな.

  825 :名無し~3.EXE:2008/06/21(土) 16:03:44 ID:zfiUXgMk
  hoge | tee.bat log.txt
  hogeが終了するまで画面に出て来ないだろ?

  826 :名無し~3.EXE:2008/06/21(土) 17:16:28 ID:gMbL69mY
  >>824
  title使えばいいじゃん.

  827 :824:2008/06/21(土) 18:23:16 ID:k6N4oqjE
  ごめん勘違い. >>816の奴ダメだわ.
  今までtee.exeを使ってた場所を816ので書き換えてやってみたつもりだったんだが.
  ちゃんと書き換わってなかった. tee.exeの動作を816の奴の動作と勘違いしていた.
  書き換えたらダメだった. 使えん.
  >>826
  進行度を出力してるのは自分が作ったバッチじゃなくて別の実行ファイルなんだ.
  だからタイトルに進行度を表示するってわけにはいかない.
  コマンドライン型のアンチウィルスとか, アーカイバのログを取ろうとしてるんだ.
  今は一旦冗長なログを出力してからいらないところを削除したりしてる.

  828 :名無し~3.EXE:2008/06/21(土) 19:53:34 ID:zfiUXgMk
  readallやめてread(1)でぐるぐる回せ.

  829 :名無し~3.EXE:2008/06/23(月) 13:15:13 ID:0z5/ZZHn
  ああ「しつつ」なのか.
  ちょっと書き換えれば可能だが・・・やってみようかな.

  830 :名無し~3.EXE:2008/06/23(月) 14:05:37 ID:0z5/ZZHn
  こんなもんか?
  @if(0)==(0) echo off
  cscript //Nologo //E:JScript "%~f0" %*
  goto :EOF
  @end
  Array.prototype.shift = function() {
      var r = this[0];
      for(var i=1; i<this.length; i++)
          this[i-1] = this[i];
      this.length--;
      return r;
  }
  var FSo = new ActiveXObject("Scripting.FileSystemObject");
  var args = new Array();
  for(var e = new Enumerator(WScript.Arguments); !e.atEnd(); e.moveNext())
      args[args.length] = e.item();
  var append_mode = false;
  if(args[0]=="-a") {
      append_mode = true;
      args.shift();
  }
  var files = new Array();
  while(args.length > 0)
      files[files.length] = (append_mode ? FSO.OpenTextFile(args.shift(), 8,
  true)
          : FSO.CreateTextFile(args.shift(), true));
  while(!WScript.StdIn.AtEndOfStream) {
      var c = WScript.StdIn.Read(1);
      WScript.StdOut.Write(c);
      for(var i=0; i<files.length; i++) files[i].Write(c);
  }
  for(var i=0; i<files.length; i++)
      files[i].Close();

  831 :名無し~3.EXE:2008/06/23(月) 14:31:26 ID:rv6IXUVV
  俺みたいなバッチしかやったことのない無能人間には,
  wshの行間で何をやってるかわからないので, 解説頼む.

  832 :名無し~3.EXE:2008/06/23(月) 14:47:47 ID:0z5/ZZHn
  ID:zfiUXgMk の指摘を元に >816 を改造しただけだよ.

  833 :名無し~3.EXE:2008/06/23(月) 20:53:55 ID:EzLG1D0g
  流れぶった切ってすまんが.
  CUI上で.
  複数のコマンドを同時に宣言する時って&っすよね?
  at 21:00 /interactive /every:M, T, W, Th, F "C:\TV.exe"&sutdown -s -t 10
  みたいな感じで.

  834 :名無し~3.EXE:2008/06/23(月) 21:04:03 ID:wbGXdlDD
  転載.
  条件付き処理記号を使うと, 同じプロンプトから複数のコマンドを実行して, コマンドの実行結果に基づいてコマンドを実行できます.
  アンパサンド (&) は, 単一のコマンド ライン上で複数のコマンドを区切ります.
  かっこは, 複数のコマンドをグループ化します.
  セミコロン ( ; ) またはカンマ ( , ) は, コマンド パラメータを区切ります.
  キャレット (^) を使うと, コマンド記号をテキストとして使用できます (その記号の特殊な意味は無視されます).
  二重のアンパサンド (&&) を使うと, この記号の後に続くコマンドは, 記号の前のコマンドが成功した場合にだけ実行されます.
  二重のパイプ (||) を使うと, この記号の後に続くコマンドは, 記号の前のコマンドが失敗した場合にだけ実行されます.

  835 :名無し~3.EXE:2008/06/23(月) 21:33:01 ID:EzLG1D0g
  ありがと  惚れたました.

  836 :名無し~3.EXE:2008/06/23(月) 21:36:29 ID:FTwpBN7+
  >>830
  素朴な疑問なんだけど,
  Arrayクラスが元からもってるshiftメソッドをわざわざ定義しなおしたり,
  せっかくEnumerator作ってるのにいったん配列に入れなおしたりしてるの.
  は何故?

  837 :名無し~3.EXE:2008/06/23(月) 21:39:41 ID:EzLG1D0g
  あと*秒後に, **コマンドを実行するっていうのはできるんですかね?
  shutdown -t 10
  とかは使えるのはわかるんですが.
  例えば, cd \を10秒後に行うとかってできるんですかね?

  838 :名無し~3.EXE:2008/06/23(月) 21:47:03 ID:ZzemjZm6
  >>834
  こいつは便利だ, 横からサンクス.

  839 :名無し~3.EXE:2008/06/23(月) 22:19:13 ID:rv6IXUVV
  >>837
  pingを自分宛に10回叩く.

  840 :名無し~3.EXE:2008/06/23(月) 22:20:49 ID:EzLG1D0g
  >>839
  やっぱりディレイコマンドっていうのはないんですね・・.

  841 :名無し~3.EXE:2008/06/23(月) 23:51:37 ID:F/aJ8ivT
  >>836
  そっとしといてやれよ.

  842 :名無し~3.EXE:2008/06/23(月) 23:53:35 ID:iWmWdG24
  >837
  clock.aviを再生して終わるのを待つ.

  843 :名無し~3.EXE:2008/06/24(火) 02:32:30 ID:pW0iI2Ae
  Sleep.exe: Batch File Wait
  > sleep /?
  Usage: sleep time-to-sleep-in-seconds
  sleep [-m] time-to-sleep-in-milliseconds
  sleep [-c] commited-memory ratio (1%-100%)
  rktools.exeでタダで配布されているmicrosoft公式サイト.

  844 :名無し~3.EXE:2008/06/24(火) 03:10:57 ID:SZVTbtHo
  日本語大丈夫ですか?

  845 :名無し~3.EXE:2008/06/24(火) 03:38:54 ID:pW0iI2Ae
  めんどくさいから主語と助詞を抜いてるのもわからないのか.
  行間補完しろアホ.
  こんな糞スレにキチガイ粘着がいるとは思わなかった.
  今後このスレでは二度と教えないから.
  Sleep.exeはrktools.exeでタダで配布されている. microsoft公式サイトで.

  846 :名無し~3.EXE:2008/06/24(火) 03:45:54 ID:pW0iI2Ae
  ていうかSleep.exe  rktools.exe  マイクロソフト公式.
  必要なキーワードはすべて網羅されてるからそれでわからなかったら人辞めろ.
  わかってるのに揚げ足取りやってるなら, クズ人間.

  847 :名無し~3.EXE:2008/06/24(火) 04:00:37 ID:dCCpwkqH
  スレ住民  -1

  848 :名無し~3.EXE:2008/06/24(火) 06:40:47 ID:rR1+Tu8K
  >836
  前者は古いバージョン用. 今のバージョンなら要らん.
  後者は単に俺が Enumerator 苦手なだけw  是非書き直してくれ.

  849 :名無し~3.EXE:2008/06/24(火) 12:32:47 ID:unYk+kQr
  >>837
  --- sleep.vbs ---
  WScript.Sleep WScript.Arguments(0)*1000
  ---------------
  C> cscript //nologo sleep.vbs 10&cd \

  850 :名無し~3.EXE:2008/06/24(火) 14:06:46 ID:SZVTbtHo
  >>845
  このスレの住人ならsleep.exeなんてあえて指摘されるまでもないでしょう.
  それより本当に大丈夫ですか?
  頭.

  851 :名無し~3.EXE:2008/06/24(火) 23:39:56 ID:p7Sm4rkZ
  おまいこそだいじょぶか. 変な犯罪に走ったりすんなよ.

  852 :名無し~3.EXE:2008/06/24(火) 23:47:18 ID:DPjkb0o1
  start /b aaa.exe
  start /b bbb.exe
  start /b ccc.exe
  という風に同時にコマンドを起動したあと,
  すべてが終了するのを待って.
  eee.exe
  を実行したいんですけど.
  どうすればいいですか?
  unixだったらwaitで待てるんだけど.

  853 :名無し~3.EXE:2008/06/24(火) 23:55:53 ID:pJKSc5OV
  >>852
  >>754

  854 :名無し~3.EXE:2008/06/25(水) 01:08:25 ID:pX/hdHEz
  >>852
  help start でヘルプを読め.

  855 :名無し~3.EXE:2008/06/25(水) 01:42:30 ID:6hXZ5y2y
  >>854
  /wait のことだったらこの場合使えないと思いますが・・.
  >>853
  754を参考にしてみようとおもうんだけど.
  start /b コマンド の前後にexecutingファイルの作成と削除を入れたいんですが,
  start /b type nul > executing.1 & command1 & del executing.1
  という風に書いても, DOSの場合は, 順番に実行されるわけではないんですか?

  856 :名無し~3.EXE:2008/06/25(水) 12:14:25 ID:o+wlXfey
  tasklistを回して終了を監視すればいい.

  857 :名無し~3.EXE:2008/06/25(水) 15:11:52 ID:Kh4xTa8p
  それぐらいならwsh使うわ.

  858 :名無し~3.EXE:2008/06/25(水) 16:57:52 ID:pX/hdHEz
  Set WshShell = CreateObject("Wscript.Shell")
  Set a = WshShell.Exec("notepad.exe a.txt")
  Set b = WshShell.Exec("notepad.exe b.txt")
  Set c = WshShell.Exec("notepad.exe c.txt")
  Do While a.Status = 0 Or b.Status = 0 Or c.Status = 0
  WScript.Sleep 1000
  Loop
  Set d = WshShell.Exec("msg * うんこ")

  859 :名無し~3.EXE:2008/06/25(水) 17:38:22 ID:pX/hdHEz
  @echo off
  start /B copy nul executing.1 ^& notepad ^& del executing.1
  start /B copy nul executing.2 ^& notepad ^& del executing.2
  start /B copy nul executing.3 ^& notepad ^& del executing.3
  :1
  cscript //nologo sleep.vbs 1
  if exist executing.1 goto 1
  if exist executing.2 goto 1
  if exist executing.3 goto 1
  msg * うんこ.
  ・・・ sleep だけは, バッチじゃ無理. どっかから探してくるか, >>849 使う.

  860 :名無し~3.EXE:2008/06/25(水) 19:56:59 ID:/gx/69id
  正直sleep.vbsじゃ.
  そのディレクトリ内にそのbatかvbsファイルないとできないじゃん.

  861 :名無し~3.EXE:2008/06/25(水) 19:58:40 ID:3V52NKTC
  低負荷の音声ファイルを再生させるとかで1つ.

  862 :名無し~3.EXE:2008/06/25(水) 21:27:48 ID:Kh4xTa8p
  ping.exe localhost -n 1

  863 :名無し~3.EXE:2008/06/25(水) 22:34:08 ID:pX/hdHEz
  >>860
  頭は生きてるうちに使うもの.
  echo WScript.Sleep WScript.Arguments(0)*1000>sleep.vbs

  864 :名無し~3.EXE:2008/06/25(水) 22:44:15 ID:S0FVI1+e
  >>863
  感動した.

  865 :名無し~3.EXE:2008/06/25(水) 22:55:12 ID:+Awhs3oR
  >>858
  >>859
  ほんとありがとうございます.
  sleepはvbsでごまかすようにして, コマンド群は一括で定義できるように.
  以下のように改造してみました.
  しかしcalcがないと怒られて終わってしまいます. 何が悪いんでしょう??
  @echo off
  set com=( calc notepad )
  for /f %%I in %com% do start /B copy nul executing.%%I ^& %%I ^& del
  executing.%%I
  :1
  set /a wtime=1*1000
  echo WScript.Sleep %wtime% > tmp.vbs
  cscript //NoLogo tmp.vbs
  if exist executing.* goto 1
  del tmp.vbs
  echo END

  866 :名無し~3.EXE:2008/06/26(木) 00:05:55 ID:bEvl4gH4
  calc | notepad & echo 終わった.

  867 :名無し~3.EXE:2008/06/26(木) 00:43:51 ID:rFcP4Uj1
  カレントにあるファイル.
  a_1.txt
  a_2.txt
  a_3.txt
  a_4.txt
  を.
  b_1.txt
  b_2.txt
  b_3.txt
  b_4.txt
  にリネームしたいんだけど,
  for でちょちょっとできないでしょうか.

  868 :名無し~3.EXE:2008/06/26(木) 01:20:04 ID:ak00y0pl
  わざわざfor /l %i in (1, 1, 4) do ren a_%i.txt b_%i.txtなんてやらんでもren a_?.txt
  b_?.txtでいいじゃん.

  869 :名無し~3.EXE:2008/07/01(火) 01:23:41 ID:06PZ+BPo
  すんません.
  コマンドの標準出力を変数にセットするにはどうすればいいですか?
  ちなみに.
  aaaa
  というプロセスがいるかを確認するために.
  tasklist | find "aaaaa"
  の結果を変数にぶちこんで, その変数がNULLかどうかで判定しようと考えています.

  870 :名無し~3.EXE:2008/07/01(火) 02:03:30 ID:TyLpt1NP
  tasklist | find "aaaaa" > unko.txt
  for %%I in (unko.txt) do if %%~zI == 0 echo ぬるぽ.

  871 :名無し~3.EXE:2008/07/01(火) 10:10:45 ID:GuapWfI5
  パイプ使ってfindなんかする理由がよくわからんが, こんなんでええちゃうの.
  for /F "tokens=1 delims= " %%i in ('tasklist.exe') do if "%%i"=="aaaaa.exe"
  (echo=aaaaa.exeを見つけた)

  872 :名無し~3.EXE:2008/07/01(火) 13:03:00 ID:NO9OOEqz
  if errorlevel 1だろ?

  873 :名無し~3.EXE:2008/07/02(水) 00:45:21 ID:3rsfgc1I
  tasklist | find "aaaaa" && echo ぷげら!

  874 :名無し~3.EXE:2008/07/02(水) 00:52:12 ID:yIB7/qFo
  >>871
  そういう風にやるなら,
  for /f %%i in ('tasklist /fi "imagename eq aaaaa.exe" /nh') do @echo %%iを見つけた.
  までやった方がいいかな.

  875 :名無し~3.EXE:2008/07/02(水) 17:21:27 ID:OMuiQSzS
  tasklistがないお.

  876 :名無し~3.EXE:2008/07/02(水) 21:09:37 ID:HUBiufFo
  windows2000でnetshを使って, IPアドレス設定バッチを作ったんですが,
  LANケーブルが抜けている状態だと正常に変更できません.
  もろもろの事情でLANケーブルが抜けている状態でも変更できるように.
  したいのですが, どうすればよいでしょうか?

  877 :名無し~3.EXE:2008/07/03(木) 06:48:55 ID:S7B7seB5
  >>876
  Windows で TCP/IP のメディア検出機能を無効にする方法.
  http://support.microsoft.com/kb/239924/ja
  試してはいないんだが, 多分このあたり.

  878 :名無し~3.EXE:2008/07/03(木) 08:48:56 ID:9ohMIDqz
  >>875
  実は俺もXPhomeだから長らくTasklist.exeが無かったがネットでもらって来た.
  http://www.computerhope.com/download/winxp.htm
  マイクロソフトのどこかでも落とせるらしいがそのURLは知らない.
  (こう書けば誰かが貼るかな)
  あそこのダウンロードサイトは迷路のようになっていて, ビルゲイツ会長でさえブチ切れさせる場所だから.
  なるべく近寄らないようにしている.
  http://www.technobahn.com/cgi-bin/news/read2?f=200806270311&page=2

  879 :名無し~3.EXE:2008/07/03(木) 11:47:27 ID:KH9cTY/t
  SPから抜けよ.

  880 :名無し~3.EXE:2008/07/03(木) 18:25:54 ID:m7fH+sfP
  フォルダであるかどうかをどうやって調べますか.

  881 :876:2008/07/03(木) 22:22:33 ID:JNY6wKZ3
  >>877
  試してみたところ変更できました.
  できればレジストリをいじらずに変更できるようにしたいんですが,
  可能でしょうか. (レジストリをいじることに抵抗があるもので・・・)

  882 :名無し~3.EXE:2008/07/03(木) 22:48:45 ID:JG6UUf4I
  >>880
  NUL を使え.
  IF EXIST C:\うんこ\NUL ECHo ちんこ.

  883 :sage:2008/07/03(木) 23:17:01 ID:EKdOSVCV
  >>882
  こんな技があるとは. . .
  助かりました. あざす.

  884 :877:2008/07/04(金) 06:21:02 ID:Egjxu5mx
  >>881
  MSがオフィシャルなサイトでレジストリをいじれと言ってるわけなんで,
  他の手はないものと思われ.
  もしGUIとかがあったとしても, いずれにせよ内部的にはレジストリの.
  同じエントリが変更されるんだろうし.
  複数台で変更するのが面倒とか自分以外の人間にやらせるのが不安とかなら,
  .regファイルを作るのが正解な気が.

  885 :名無し~3.EXE:2008/07/05(土) 00:18:46 ID:XqKTTUMO
  このスレとム板のバッチスレってどっちがレベル高いの?

  886 :名無し~3.EXE:2008/07/05(土) 00:54:45 ID:EUfbIAK/

  887 :名無し~3.EXE:2008/07/05(土) 01:05:41 ID:C3DX+t/z
  こっちのほうが高い. というか住人がみんな冷静.

  888 :名無し~3.EXE:2008/07/05(土) 02:06:07 ID:KsoT05Ul

  889 :名無し~3.EXE:2008/07/05(土) 13:58:04 ID:4ebRKxUn
  ム板のバッチスレは若干1名基地外が居るんだよな.
  ひたすらこのスレへ誘導する奴.

  890 :名無し~3.EXE:2008/07/05(土) 15:49:45 ID:puWbXOXI
  疎開スルー.

  891 :名無し~3.EXE:2008/07/07(月) 08:55:17 ID:WBvdDtox
  waitってどうするの?

  892 :名無し~3.EXE:2008/07/07(月) 12:57:56 ID:qBTBgohG
  子プロセスのいずれかが終了するまで呼び出し元のプロセスの実行を一時停止するんだよ.

  893 :名無し~3.EXE:2008/07/08(火) 20:20:58 ID:cRMgCh3I
  PAUSE

  894 :名無し~3.EXE:2008/07/10(木) 01:11:41 ID:QngBkBT/
  すみません. しつもんさせてください.
  例えば, バッチを作成していて.
  上のコマンドの命令を行えなかった場合, エラーを表示したいのですが.
  例で.
  di
  if errorlevel 1 echo a
  てやるとaって表示されるのですが.
  これをエラーの場合は, a, エラーでない場合は, dirを実行したい.
  と記述するにはどうしたらいいですか?

  895 :名無し~3.EXE:2008/07/10(木) 05:42:57 ID:3Yg2z5Jp
  di && echo a || dir

  896 :名無し~3.EXE:2008/07/10(木) 15:33:43 ID:X3fvq8uU
  if/?

  897 :名無し~3.EXE:2008/07/10(木) 22:00:40 ID:13vKihBB
  >>895
  ザンネン.

  898 :名無し~3.EXE:2008/07/10(木) 22:05:26 ID:13vKihBB
  IF %ERRORLEVEL% == 0 (dir) ELSE (ECHo a)

  899 :名無し~3.EXE:2008/07/11(金) 00:16:03 ID:Vdv4UCdi
  直前のコマンドが例えばdelの時はどうする?

  900 :名無し~3.EXE:2008/07/11(金) 01:26:51 ID:RkW4GqgN
  あ〜なるほどね. DEL は ERRORLEVEL を返さないな.
  DEL の前に IF EXIST するか,
  DEL の後に IF EXIST するか,
  樹海で祝ってやるか,
  どれかだな.

  901 :名無し~3.EXE:2008/07/11(金) 14:10:09 ID:lw6JvueF
  del hoge | find /v ""
  if errorlevel 1 echo error!

  902 :名無し~3.EXE:2008/07/11(金) 18:21:23 ID:NOWkZyK+
  一つ目のプログラムを引数つきで実行させて.
  それが終わったら次も同じって感じにするのはどうやったらいいでしょうか.

  903 :902:2008/07/11(金) 18:33:00 ID:NOWkZyK+
  流れ適には.
  cd カレントパス(batファイルのある場所)
  program -i カレントパスと指定文字列を足したファイル名.
  って感じです.

  904 :名無し~3.EXE:2008/07/11(金) 20:10:18 ID:lw6JvueF
  >>902
  :hoge
  hoge.exe hogehoge
  goto hoge

  905 :名無し~3.EXE:2008/07/12(土) 04:18:41 ID:yD5Tkok7
  CD %~dp0
  program -i %CD%\指定文字列.

  906 :名無し~3.EXE:2008/07/12(土) 23:58:16 ID:swkv5Ihd
  start /wait で終了待ち.

  907 :名無し~3.EXE:2008/07/13(日) 02:39:59 ID:rp/1UDNc
  Linuxのsplitのように, ファイルを分割するためのコマンドは, MS-DOSには, 存在しますか?

  908 :名無し~3.EXE:2008/07/13(日) 03:04:48 ID:ueztd13P
  ないんでねーの, 今時MS-DOS触らにゃならんとは大変ね.

  909 :名無し~3.EXE:2008/07/13(日) 03:06:30 ID:3wulhBBH
  Javaのコンパイルとかコマンドラインでやってるよ.

  910 :名無し~3.EXE:2008/07/13(日) 07:31:09 ID:mmwPdUKG
  >>907
  Native Win32 ports of some GNU utilities
  ダウンロードは http://sourceforge.net/projects/unxutils
  解説は http://unxutils.sourceforge.net/

  911 :名無し~3.EXE:2008/07/14(月) 13:57:41 ID:oDYeyaeV
  つdebug

  912 :名無し~3.EXE:2008/07/14(月) 19:43:37 ID:n25RoDk2
  xpにテルネットでファイルを編集したいんですが.
  デフォルトのコマンドのみで可能ですか?

  913 :名無し~3.EXE:2008/07/14(月) 20:51:29 ID:WHXSuf0b
  どんなマシンからどんなマシンへ接続するんだよ.

  914 :名無し~3.EXE:2008/07/15(火) 00:13:59 ID:xfeqMLQj
  それを言えば, できるようになるのかな???

  915 :名無し~3.EXE:2008/07/15(火) 00:22:15 ID:qYFgCPso
  vistaはeditが復活してたんですっ飛んできました.

  916 :名無し~3.EXE:2008/07/15(火) 00:45:59 ID:IxC+30HX
  edlin

  917 :名無し~3.EXE:2008/07/15(火) 01:24:43 ID:qYFgCPso
  edlinって人間にも使うことができるものなんですか!?

  918 :名無し~3.EXE:2008/07/15(火) 07:20:21 ID:4ChMkuSX
  一応使えるが普段はまず使わないな.
  起動してすぐ ? 打ってEnterで.
  一応一通りの使い方は解るはずだぞ.

  919 :名無し~3.EXE:2008/07/15(火) 19:37:07 ID:cCtJmu61
  Vistaではedlinもeditも日本語使えないんじゃ, 英語だけで済ますの?

  920 :名無し~3.EXE:2008/07/15(火) 21:08:10 ID:xfeqMLQj
  素直に「できません」と, なぜ言えない?決して恥ずかしい事では無いんだぞ.

  921 :名無し~3.EXE:2008/07/16(水) 01:44:51 ID:pxO0gOcj
  ほんとだEditがある. 英語だけど. w.

  922 :名無し~3.EXE:2008/07/16(水) 02:12:07 ID:u0dIEc5S
  @echo off
  setlocal
  set count=0
  :loop
  set flag=0
  set /a count=count+1
  set /a y=(count/3)*3
  if /i %y% equ %count% set flag=1
  echo %count% | find "3" >nul && set flag=1
  if %count% geq 40 set flag=2
  if /i %flag% equ 1 (
  echo %count%^G
  ) else (
  echo %count%
  )
  if /i %flag% equ 2 goto :end
  sleep 1
  goto :loop
  :end
  endlocal

  923 :名無し~3.EXE:2008/07/16(水) 03:24:31 ID:+miDdALN
  実際に使ってみると難しいエディタじゃないぞ <<EDLIN
  元々使う理由は無いけどVistaでは本気で使えなくなったな.

  924 :名無し~3.EXE:2008/07/16(水) 13:43:04 ID:o0wLnRgo
  >>912
  可能.
  for + set + echo

  925 :名無し~3.EXE:2008/07/16(水) 16:47:45 ID:CHcrAZte
  東京から沖縄まで歩いて行くことが出来ますか?

  926 :名無し~3.EXE:2008/07/16(水) 19:16:34 ID:50WktuQw
  海あるから泳がないと無理だろな.

  927 :名無し~3.EXE:2008/07/16(水) 22:09:57 ID:Syxd9oxK
  座って行けると思うが. w.
  >素直に「できません」と, なぜ言えない?決して恥ずかしい事では無いんだぞ.
  話しは少しずれるが, edlinやeditが本気で使えなくなったこと(日本語が使えない)を恥ずかしがる感性をMSが持ち合わせていたならばと思ってしまう.

  928 :名無し~3.EXE:2008/07/16(水) 22:40:22 ID:3tFT2zCk
  海底も歩けるよ!

  929 :名無し~3.EXE:2008/07/16(水) 23:11:31 ID:/0LA4MwY
  すんません.
  ftpを簡単にするにはどんな書き方がありますか?

  930 :名無し~3.EXE:2008/07/16(水) 23:43:01 ID:m92DBgjO
  >>929
  FTPコマンドの自動化について言ってるのであれば,
  FTP  スクリプチ.
  で検索して下さい.
  それ以外である場合, 回答できるAAAクラスのエスパーがこのスレにはいないと思われるので,
  どうしたいのか詳細を書いて下さい.

  931 :名無し~3.EXE:2008/07/17(木) 00:20:26 ID:s7qUL6sJ
  FTP  スクリプチの検索結果 11 件中 1 - 11 件目 (0.26 秒)

  932 :名無し~3.EXE:2008/07/17(木) 00:49:55 ID:avMHCYlH
  すくりぷち.

  933 :名無し~3.EXE:2008/07/18(金) 01:19:22 ID:nPyhhALC
  batファイルでコマンドラインエディタを作るというのは.
  どのくらい大変そうですか?

  934 :名無し~3.EXE:2008/07/18(金) 01:50:22 ID:XFnK5WyO
  コマンドラインエディタ.bat
  edlin %*

  935 :名無し~3.EXE:2008/07/19(土) 01:15:31 ID:v1awZW6K
  >>934
  天才.

  936 :名無し~3.EXE:2008/07/23(水) 15:49:22 ID:tOjBlxX+
  DOSのバッチでwget(外部コマンド)で複数ファイルをダウソするバッチを作っています.
  WEBサーバー(IIS)にパスワードがかかっていて.
  wget  --user=(ユーザ名) --password=(パスワード) http://.......
  でとってきてくれる.
  ここまではいいのですが, ユーザ名にスペースが使われていて.
  wget  --user=A BC --password=pass とやると.
  区切り文字はスペースだからユーザ名は"A"と判別してしまう.
  区切り文字をカンマ", "にすれば.
  wget, --user=A BC, --password=pass, http://.....
  とやってコマンドが通るような気がする.
  http://(ユーザ名):(パスワード)@www.
  ともかけるので.
  http://A BC:pass@w
  とやってみたが, 区切り文字がスペースなのでエラーになってします.
  どなたかお知恵を拝借願えないでしょうか.

  937 :名無し~3.EXE:2008/07/23(水) 16:15:43 ID:2vNzDCb6
  "--user=A BC" でいけそうな気がする.

  938 :名無し~3.EXE:2008/07/23(水) 16:43:57 ID:CMWfKaqy
  >>937
  "--user=A BC"
  --user="A BC"
  "を'にした,
  A^ BC
  A\ BC
  A%20BC
  だめだった.

  939 :名無し~3.EXE:2008/07/23(水) 18:54:02 ID:0Y5OUEnX
  --user=ABC で通らない?

  940 :名無し~3.EXE:2008/07/25(金) 00:00:00 ID:cCrHmHxM
  半角スペース含まれてるから, じゃねーの. >936にあるが.
  うちは--user"A BC"でいけてるが.

  941 :名無し~3.EXE:2008/07/27(日) 20:57:41 ID:dtq3Xkle
  dos窓でcdするときに, ドライブを跨ぐとなぜ/Dオプションなんてつける必要があるんですか?
  C:\>cd D:\hoge\hogeで通じるんじゃないでしょうか?

  942 :名無し~3.EXE:2008/07/27(日) 21:20:35 ID:X4TwxPee
  >941
  ドライブ毎にカレントディレクトリの情報を持ってるから, とでも言えば良いのかな.
  そもそも, カレントドライブ変更とカレントディレクトリ変更は本来別の操作.
  カレントドライブの変更は.
  d:
  と打てばDドライブへ.
  c:
  と打てばCドライブへ.
  カレントディレクトリの変更は, ご存じの cd コマンド.
  確か cd に /d オプションが付いたのは途中のバージョンからだったような.
  /d は「ドライブを跨ぐ」というより「ドライブ変更とカレントディレクトリの変更を同時にやる」って感じ.

  943 :名無し~3.EXE:2008/07/27(日) 23:51:39 ID:SRtDFAr7
  カレントディレクトリがドライブごとにいくつもあるって考え方自体がウンコすぎる.
  たとえば現在のカレントが(<-って変な文章だが)C:\ だったとして,
  CD A:\
  COPY A.TXT B.TXT
  とやっても, コピーされるのは C:\A.TXT であって,
  決して A:\A.TXT では無い.
  マイクロソフトはそのウンコさ加減に気づいたから, /D オプションを追加したんだろよ.
  PUSHD ははじめからドライブまたぎなんだし.

  944 :名無し~3.EXE:2008/07/28(月) 00:34:35 ID:GG94rwXw
  D:\000\111というフォルダ構成がある時, フォルダ111以下のファイル群を111.zipという名で圧縮して.
  そのファイルをフォルダ000に作ってからフォルダ111を削除する, ということをwinRARを使って作ってみました.
  cd /d "D:\000\111\" && "C:\Program Files\WinRAR\WinRAR.exe" a "..\111.zip" &&
  cd ..\ && rmdir /s /q "111\"
  この一文をコピペしてbatファイルを作って動かすと正常に動作するけれど, コマンドプロンプトを起動して貼り付けて.
  実行すると, winRARがエラーを出して処理が中断してフォルダ111下のファイルが消えてしまいます.
  どうもwinRAR圧縮中に圧縮対象のファイルが削除されているようです.
  &&で各コマンドを繋げているのに, なぜこうなるのですか.
  batファイルとコマンドプロンプトの挙動の違いを教えてください.

  945 :名無し~3.EXE:2008/07/28(月) 01:23:44 ID:+5Fl+5Tm
  >winRARがエラーを出して.
  なにかエラーメッセージのようなものは表示されないの?

  946 :944:2008/07/28(月) 01:31:07 ID:GG94rwXw
  >>945
  winRAR診断メッセージ 追加するファイルがありません.
  コマンドプロンプト プロセスはファイルにアクセスできません. 別のプロセスが使用中です.
  この時点でフォルダ111下のファイルは無くなってます. zipも作成されていません.

  947 :名無し~3.EXE:2008/07/28(月) 01:37:19 ID:+5Fl+5Tm
  じゃぁ, start /w を付ければいいんじゃないかな. こんなふうに.
  cd /d "D:\000\111\" && start /w "C:\Program Files\WinRAR\WinRAR.exe" a
  "..\111.zip" && cd ..\ && rmdir /s /q "111\"
  こっちは手元に WinRAR が無いから実際に試せない. 自分で試してみてね.
  (WinRAR と DEL がマルチタスクで同時に動いてるのかもしれない)

  948 :名無し~3.EXE:2008/07/28(月) 04:06:42 ID:lvsdyRXC
  STARTは最初の""をタイトルと判断する, みたいな仕様がなかったっけ?
  START "" /W "C:\Program Files\WinRAR\WinRAR.exe"の方が無難な感じ.

  949 :名無し~3.EXE:2008/07/28(月) 22:44:13 ID:Flw63PUR
  すいません.
  Dosのコマンドラインで, Unix系より優れていると言える所ってありますか?

  950 :名無し~3.EXE:2008/07/28(月) 22:49:37 ID:EkjbpQg3
  DOSコマンドが使える.

  951 :944:2008/07/28(月) 23:24:35 ID:GG94rwXw
  >>947, 948
  start "" /w の追加で正常に動くようになりました. ありがとう.

  952 :名無し~3.EXE:2008/07/28(月) 23:54:52 ID:gS9ca/Z8
  >949
  ホンモノのMS-DOS時代はDOSアプリが結構あったからまだ良いんだけど.
  コマンドプロンプトになってからは, 利点あんまり無いな.
  そもそも, GUIであるWindowsに取って付けたようなアプリケーションだし.
  Unix系はコマンドないと手が届かない部分が結構あるからこそ, 充実してるとも言えなくもない.

  953 :名無し~3.EXE:2008/07/29(火) 00:02:49 ID:UhTEv5gP
  ひとそれぞれじゃないか.
  コマンドに慣れて無い人は窓を使えばいい.
  無理してコマンド使うこたぁねぇよ.

  954 :名無し~3.EXE:2008/07/29(火) 00:04:07 ID:UhTEv5gP
  すいません.
  Windowsの窓アプリで, Unix系より優れていると言える所ってありますか?

  955 :名無し~3.EXE:2008/07/29(火) 00:13:06 ID:HMBDDzG4
  その歴史からWindowsのデスクトップアプリのほうが圧倒的に使える物が多いよ.
  まだ, かもしれないけどね.

  956 :名無し~3.EXE:2008/07/29(火) 01:54:15 ID:CkAA5d8W
  「Dosのコマンドライン」ってのが何を指してるのか分からないけど.
  最大のメリットは現状のトップシェアOSであるWindowsで標準で使える.
  ってことだと思う.

  957 :名無し~3.EXE:2008/07/29(火) 12:51:26 ID:luJdVJDk
  分からないならレスしなくていいです. すっこんでてください.

  958 :名無し~3.EXE:2008/07/29(火) 19:27:14 ID:dTIjqH8+
  Linuxがすべての面で優れててDOSが劣る存在だと主張するやつは人間として糞.
  NTメインになってDOSは確かに使わない時代になったとおもうよ. けど.
  唯物論はこのOS飽和時代に全く意味は無いだろ?好きなのを適宜習得すればいいの.
  >>954はWINDOWS板にわざわざやってきてごくろうさんね. 何を考えてるんだろうな.

  959 :名無し~3.EXE:2008/07/29(火) 19:31:59 ID:3B2nZuAV
  偉い人は下を見て馬鹿にする暇があるなら, 使いにくいUNIXのコマンドラインよりももっとすばらしいものを開発してください.

  960 :名無し~3.EXE:2008/07/29(火) 19:48:24 ID:s013n4jE
  PowerShell

  961 :名無し~3.EXE:2008/07/29(火) 19:51:35 ID:HMBDDzG4
  >>957-959
  レスのレベルからして自演にしかみえん. 面白くないよ.

  962 :名無し~3.EXE:2008/07/29(火) 19:55:48 ID:HMBDDzG4
  >>960
  マジレスでUNIX系のシェル超えててワロタ. w.

  963 :名無し~3.EXE:2008/07/29(火) 23:21:52 ID:luJdVJDk
  プッ・・・ゲイツのオナニーやん.

  964 :名無し~3.EXE:2008/07/31(木) 01:33:03 ID:7MvSvBeb
  DOS窓が使いにくいんだよ.
  tera termみたいのでつなげないの?
  自分にtelnet以外で.

  965 :名無し~3.EXE:2008/07/31(木) 01:36:22 ID:oJH/78M3
  ckwmodでも使ったら?

  966 :名無し~3.EXE:2008/07/31(木) 01:41:27 ID:7MvSvBeb
  >>965
  それなに?

  967 :名無し~3.EXE:2008/07/31(木) 06:48:12 ID:tRdZkavP
  すいません, 質問です.
  Dosプロンプトで, ファイルの更新日時やアクセス時刻を変更出来るコマンドはありませんか?
  (いわゆる, Unixでいうところのtouchや, utime関数に相当するものです. )
  一応ぐぐってみたのですが, それを実現するフリーのファイラーソフトとかはあるようなんですが,
  コマンドプロンプト(またはbatファイル)のみで(何も追加インストール等せずに)実現することは出来ないでしょうか?
  copyやxcopyでは, 元のファイルのタイムスタンプを保持してしまいます.
  ちなみにOSはXP-sp2です.

  968 :名無し~3.EXE:2008/07/31(木) 10:56:39 ID:CZC3VFh2
  >>967
  自分はNircmd使ってる. (他にも実現できるToolあると思うけど)
  標準cmdではコマンド無いんじゃないか?

  969 :名無し~3.EXE:2008/07/31(木) 12:12:43 ID:pmbkfmD5
  >>967
  type nul >>file

  970 :名無し~3.EXE:2008/07/31(木) 12:37:44 ID:Z+lCCPZ/
  >>968
  ありがとうございます. ちょっと調べてみます.
  >>969
  うおおお, そんな手があったとは・・・・.
  そういえば自分も, Unix環境でなら, 0byteのファイル作成したり,
  圧縮済みのlogファイルを切り詰める時に, cp /dev/null /path/to/file とかやったことがあります.

  971 :名無し~3.EXE:2008/07/31(木) 16:58:05 ID:pqUdStB6
  だったら,
  COPY NUL C:\path\to\file
  でいいんじゃない?

  972 :名無し~3.EXE:2008/07/31(木) 19:18:57 ID:pmbkfmD5
  COPY C:\path\to\file + NUL C:\path\to\

  973 :名無し~3.EXE:2008/08/01(金) 02:02:32 ID:cUFqKgt+
  A01.bmp , A02.bmp , A03.bmp , ・・・ の先頭に1文字付け足したいのですが, うまくいきません.
  1A01.bmp , 1A02.bmp , 1A03.bmp ・・・ にならないのはどうして? ren は文字数が増えるとダメなのかな?
  C:\picture>dir /b
  A01.bmp
  A02.bmp
  A03.bmp
  C:\picture>ren A0?.bmp 1A0?.bmp
  重複するファイル名が存在するか, またはファイルが.
  見つかりませんでした.
  重複するファイル名が存在するか, またはファイルが.
  見つかりませんでした.
  C:\picture>dir /b
  1A0.bmp
  A02.bmp
  A03.bmp

  974 :名無し~3.EXE:2008/08/01(金) 05:25:26 ID:AzeG6fL3

  975 :名無し~3.EXE:2008/08/01(金) 07:24:39 ID:KkABB+VG
  リネーム先のファイル名に?つける気持ちはわからんでもないが, その?は無意味.
  for %i in (A0?.bmp) do ren %i 1%i

  976 :名無し~3.EXE:2008/08/01(金) 22:00:53 ID:cUFqKgt+
  >>975
  ありがとうございました. * が1文字の変数のように機能すると勘違いしていました.

  977 :名無し~3.EXE:2008/08/02(土) 16:32:02 ID:lHCG365N
  ファイルの結合をコマンドラインでやろうと思ってます.
  でも一行に大量に記述すると動かなくなってしまいました.
  これを回避するためにはどうすればいいんでしょうか.
  複数行を一行として動かす方法などありましたら教えてください.
  [成功]
  COPY /B "0001"+"0002"+"0003"+"0004"+"0005"+"0006"  〜〜  +"0050" "temp.zip"
  [失敗]
  COPY /B "0001"+"0002"+"0003"+"0004"+"0005"+"0006"  〜〜  +"9999" "temp.zip"

  978 :名無し~3.EXE:2008/08/02(土) 16:43:39 ID:jABhh63U
  COPY /B "0001" "temp.zip"
  COPY /B "temp.zip"+"0002" "temp.zip"
  〜〜.
  COPY /B "temp.zip"+"9999" "temp.zip"

  979 :名無し~3.EXE:2008/08/02(土) 16:45:44 ID:lHCG365N
  >>978
  盲点でした  ありがとーございましたm(__)m

  980 :名無し~3.EXE:2008/08/02(土) 17:08:46 ID:elSen6IZ
  そのやり方じゃ処理速度が悪いけどな.

  981 :名無し~3.EXE:2008/08/02(土) 20:59:50 ID:lHCG365N
  >>978だと遅かったのでやっぱり200個ごとにまとめて処理->最後にまとめたやつをさらにまとめる  にしました.

  982 :名無し~3.EXE:2008/08/02(土) 23:16:35 ID:2oS7zYXl
  0000〜9999を一つのフォルダに纏めて.
  copy /b * ..\all.zip

  983 :名無し~3.EXE:2008/08/03(日) 02:46:10 ID:87Ih2WMQ

  984 :名無し~3.EXE:2008/08/03(日) 02:50:21 ID:87Ih2WMQ

  985 :名無し~3.EXE:2008/08/03(日) 03:05:42 ID:87Ih2WMQ

  986 :名無し~3.EXE:2008/08/03(日) 12:00:57 ID:87Ih2WMQ

  987 :名無し~3.EXE:2008/08/03(日) 12:23:56 ID:87Ih2WMQ

  988 :名無し~3.EXE:2008/08/03(日) 12:29:16 ID:87Ih2WMQ

  989 :名無し~3.EXE:2008/08/03(日) 12:30:22 ID:87Ih2WMQ

  990 :名無し~3.EXE:2008/08/03(日) 12:34:54 ID:87Ih2WMQ

  991 :名無し~3.EXE:2008/08/03(日) 12:41:59 ID:87Ih2WMQ

  992 :名無し~3.EXE:2008/08/03(日) 12:43:04 ID:uyRUdrj/

  993 :名無し~3.EXE:2008/08/03(日) 12:48:22 ID:87Ih2WMQ

  994 :名無し~3.EXE:2008/08/03(日) 12:50:53 ID:87Ih2WMQ

  995 :名無し~3.EXE:2008/08/03(日) 12:52:45 ID:87Ih2WMQ

  996 :名無し~3.EXE:2008/08/03(日) 13:06:12 ID:87Ih2WMQ

  997 :名無し~3.EXE:2008/08/03(日) 13:25:54 ID:LQkUy7Y5

  998 :名無し~3.EXE:2008/08/03(日) 13:38:42 ID:Ni7TLdDU

  999 :名無し~3.EXE:2008/08/03(日) 13:40:29 ID:LQkUy7Y5

  1000 :名無し~3.EXE:2008/08/03(日) 13:40:50 ID:LQkUy7Y5
  初心者〜管理者まで必読!コマンドライン(DOS Pt.7)
  http://pc11.2ch.net/test/read.cgi/win/1217738171/

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

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


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