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


[.cmd] バッチファイルスクリプト %5 [.bat]
http://pc12.2ch.net/test/read.cgi/tech/1242268171/l50
2ちゃんねる *スマホ版* *掲示板に戻る* 全部 1- 最新50
* このスレッドは過去ログ倉庫に格納されています.
[.cmd] バッチファイルスクリプト %5 [.bat]

  1 :デフォルトの名無しさん:2009/05/14(木) 11:29:31
  前スレ.
  [.cmd] バッチファイルスクリプト %4 [.bat]
  http://pc12.2ch.net/test/read.cgi/tech/1229955189/

  2 :デフォルトの名無しさん:2009/05/14(木) 11:32:13
  @echo 乙>>1

  3 :デフォルトの名無しさん:2009/05/14(木) 11:37:18
  [関連スレ]
  DOSでプログラミング.
  http://pc11.2ch.net/test/read.cgi/tech/1047001533/
  HTAをもっと流行らせる計画 Part2
  http://pc11.2ch.net/test/read.cgi/tech/1220874815/
  WSHスレッド! Part 3
  http://pc11.2ch.net/test/read.cgi/tech/1208948450/
  Windows板:お前ら, wsh使ってますか? Part7
  http://pc11.2ch.net/test/read.cgi/win/1190548945/
  Windows板:Windows PowerShell 2.0
  http://pc11.2ch.net/test/read.cgi/win/1221046998/
  Windows板:初心者〜管理者まで必読!コマンドライン(DOS Pt.7)
  http://pc11.2ch.net/test/read.cgi/win/1217738171/
  Windows板:MS-DOS・Win3.1総合スレッド2.01
  http://pc11.2ch.net/test/read.cgi/win/1212957424/
  OS板:DOS全般を語るスレ 2
  http://pc11.2ch.net/test/read.cgi/os/1179114566/
  OS板:DOSはまだ現役! Drive.B:
  http://pc11.2ch.net/test/read.cgi/os/1046875141/
  昔のPC板:MS-DOS総合スレッド 2
  http://gimpo.2ch.net/test/read.cgi/i4004/1144778720/

  4 :デフォルトの名無しさん:2009/05/14(木) 13:03:22
  start /?

  5 :デフォルトの名無しさん:2009/05/14(木) 13:04:16
  for /?

  6 :デフォルトの名無しさん:2009/05/14(木) 13:05:05
  set /?

  7 :デフォルトの名無しさん:2009/05/14(木) 14:19:43
  .bat を実行すると 「コマンド.exe > テキスト.txt」 と書いてある部分が,
  「コマンド.exe 1> テキスト.txt」 と "1" が入るのだが何故なんだぜ?

  8 :デフォルトの名無しさん:2009/05/14(木) 14:27:44
  >7
  標準出力が1で標準エラー出力が2
  数字を省略すると1, つまり標準出力とみなされる.

  9 :デフォルトの名無しさん:2009/05/14(木) 14:35:05
  >>8
  どうもありがとう.

  10 :デフォルトの名無しさん:2009/05/17(日) 23:26:45
  forfilesをXPに移植してくれ.

  11 :デフォルトの名無しさん:2009/05/18(月) 22:17:19
  以下のようなテキストファイルの判定を行いたいのですが,
  STARTとENDという文字列があり,
  STARTの方が, ファイルの先にあり, ENDが後にあると.
  判定するにはどうすれば良いでしょうか.
  test.txt-----------------------------------
  ランダムな文字列ランダムな文字列ランダムな文字列.
  ランダムな文字列ランダムな文字列 START
  ランダムな文字列ランダムな文字列ランダムな文字列.
  ランダムな文字列ランダムな文字列ランダムな文字列.
  ランダムな文字列ランダムな文字列 END
  ランダムな文字列ランダムな文字列ランダムな文字列.
  -------------------------------------------

  12 :デフォルトの名無しさん:2009/05/18(月) 23:36:27
  >>11のようなのはのってawkがあると楽だよね.
  gawk "/START/{s=1}/END/{exit s}" textfile.txt
  if errorlevel 1 echo OK.

  13 :デフォルトの名無しさん:2009/05/21(木) 20:27:16
  find /n "START" file >temp
  set /p start=<temp
  set /a start=%start:~1%
  find /n "STOP" file >temp
  set /p stop=<temp
  set /a stop=%stop:~1%
  if %start% lss %stop% echo だよ.

  14 :デフォルトの名無しさん:2009/05/21(木) 20:30:03
  >>10
  つかえないんだっけ?

  15 :デフォルトの名無しさん:2009/05/23(土) 15:31:27
  2003にはついてるらしいからXPでもうごくだろ.

  16 :デフォルトの名無しさん:2009/05/24(日) 01:27:24
  7rcのは動かないな.

  17 :デフォルトの名無しさん:2009/05/24(日) 02:43:50
  シンタクス間違えてない?

  18 :デフォルトの名無しさん:2009/05/24(日) 18:30:11
  test.xmlファイル内にある「XXX」という文字列を検索して.
  「XXX」が含まれる行以下4行をコメントアウトしたい場合, どのように組めばいいんだろう.
  test.xml
  <〜〜〜>(id="〜〜〜-XXX-〜〜")
    <name>〜〜〜</name>
    <file = "〜〜〜〜〜"/>
  </〜〜〜>
  を.
  <!--<〜〜〜>(id="〜〜〜-XXX-〜〜")
    <name>〜〜〜</name>
    <file = "〜〜〜〜〜"/>
  </〜〜〜>-->
  といった具合にコメントアウトしたい.

  19 :デフォルトの名無しさん:2009/05/24(日) 18:43:13
  バッチ向きではありません.

  20 :デフォルトの名無しさん:2009/05/24(日) 18:46:31
  xmlは文字コードがUTFだったりするし.
  わざわざバッチでやるやつがいるか?

  21 :デフォルトの名無しさん:2009/05/24(日) 19:05:03
  >>19-20
  うぅむ. 難しいんですかね.
  文字コードはShift_JISのはずですが.
  xmlを公開, 配布していて, そのxmlをユーザー側でバージョンアップさせるために.
  バッチファイルを使って中身を書き換えられれば良いかと思ったのですが. . .

  22 :デフォルトの名無しさん:2009/05/24(日) 19:20:06
  自分で使うなら好きにすればいい.
  人に配布するならまともな方法を選ぶべき.

  23 :デフォルトの名無しさん:2009/05/24(日) 23:43:46
  ()<>"!はバッチで扱いにくいからやめとけ.

  24 :デフォルトの名無しさん:2009/06/01(月) 00:43:40
  WindowsのPATH区切り文字ってセミコロンだけど.
  ファイル名に使用できちゃうって事を誰も咎めないの?

  25 :デフォルトの名無しさん:2009/06/01(月) 00:48:11
  パスデリミタはセミコロンじゃないお.
  バックスラッシュだお.

  26 :デフォルトの名無しさん:2009/06/01(月) 12:44:45
  ""

  27 :デフォルトの名無しさん:2009/06/01(月) 14:11:31
  >>25 PATH環境変数のことだべ.
  >>26 PATH="c:\hoge;hoge";c:windows みたいに書けと言っとります.

  28 :デフォルトの名無しさん:2009/06/02(火) 16:13:11
  レジストリからキーの値を取得して変数にセットすることは可能ですか?
  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\TimeZoneKeyName
  のキーから読み込んだ値を任意の変数にセットしたいのですが.
  REG QUERYを使うまでは分かったものの, そこから先へ進めず手詰まりの状態です.

  29 :デフォルトの名無しさん:2009/06/02(火) 16:54:17
  もちろん可能だが, バッチでやる意味がない.

  30 :デフォルトの名無しさん:2009/06/02(火) 17:05:52
  for/?

  31 :デフォルトの名無しさん:2009/06/02(火) 19:14:25
  ---- prep. ・・・の代りに, ・・・を代表して; ・・・に向けて; ・・・と引き換えに; ・・・にとって;
  [米] ・・・の名をもらって; ・・・のために (shout 〜 joy); (人)あての (This is 〜 you.);
  ・・・のための (books 〜 children); ・・・(する)には; ・・・の間 (〜 a long time); (一定の日時)に[の];
  ((意味上の主語を導く)) ・・・が ((to do)); ・・・の点で, ・・・の割に (clever 〜 his age);
  ・・・を支持して (vote 〜 him); ・・・として (choose him 〜 a leader); ・・・を求めて (desire〜 fame);
  ・・・に対して, ・・・の分として (another plan 〜 tomorrow).

  32 :デフォルトの名無しさん:2009/06/07(日) 21:57:23
  >>28
  ファイルにリダイレクトしてから, forで取り込むとか.

  33 :デフォルトの名無しさん:2009/06/07(日) 23:55:15
  >>32
  もう解決しました.
  batファイルだけでOKな方法で.

  34 :デフォルトの名無しさん:2009/06/08(月) 12:03:46
  ファイルにリダイレクトせずとも, forで取り込めるだろ.

  35 :デフォルトの名無しさん:2009/06/09(火) 06:38:45
  for文の記述が複雑になるから嫌だ.

  36 :デフォルトの名無しさん:2009/06/09(火) 13:41:18
  複雑さのレベルが低そうだな.

  37 :デフォルトの名無しさん:2009/06/13(土) 03:40:26
  バッチファイルの中でファイルを実行させ, その後終了を待たずに次の処理に移らせたいのですが, やりかたがわかりません.
  ------------
  %1
  del %1
  ------------
  今は上記のように書いていて, あるファイルをD&Dでバッチファイルに送るとそれを実行し, すぐさま削除, となるようにしたいのですが,
  1行目のファイルを実行したところで止まり, アプリケーションを手動で終了させないと次に進んでくれません.
  (D&Dで実行させたいファイルはアプリケーションが起動中でも削除可能)
  解決策があれば教えてください. よろしくお願いします.

  38 :デフォルトの名無しさん:2009/06/13(土) 03:49:51
  startコマンドを使う.
  ただ, 直後だと流石に削除が早すぎる気がする.
  何らかの方法で多少の待ち時間は入れた方が良くないか.

  39 :37:2009/06/13(土) 04:52:26
  >>38
  早速のレスありがとうございます!
  startコマンドを使用してみたところ, 期待通り動作してくれるようになりました.
  >ただ, 直後だと流石に削除が早すぎる気がする.
  自分も多少心配だったのですが, 何度か試しても今のところは問題なく処理できているようなので,
  当面はこのままにしておいて, 不具合が出るようなら待ち時間の追加をしたいと思います.
  どうもありがとうございました!

  40 :デフォルトの名無しさん:2009/06/13(土) 22:07:03
  :loop
  del %1 || ping localhost -n 2 && goto loop
  とかやっとけばリトライできる.

  41 :デフォルトの名無しさん:2009/06/14(日) 03:31:15
  pingと来たか. w.

  42 :デフォルトの名無しさん:2009/06/16(火) 15:29:14
  for /f "tokens=3*" %%A in ('reg query
  "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion" /v
  "ProductName"') do set Name=%%A
  echo ProductName = %Name%
  pause
  実際のProductNameはWindows Vista (TM) Ultimateなのだけど.
  NameにはWindowsまでしか入らない・・・.
  空白文字に対応するのはどうすれば?

  43 :デフォルトの名無しさん:2009/06/16(火) 15:34:30
  >>28-33

  44 :デフォルトの名無しさん:2009/06/16(火) 16:30:25
  for /f "tokens=2*" %%A in ('reg query
  "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion" /v
  "ProductName"') do set Name=%%B
  echo ProductName = %Name%
  pause

  45 :(1/2):2009/06/16(火) 20:09:17
  システムのお守りを任されて一ヶ月. 毎日オラクルと日次バッチのログ確認をしているの.
  ですが質問をさせてもらいやす.
  現在VNCのようなソフトでwindowsサーバにログイン後,
  吐き出されたログにエラーが含まれてないかのチェックを行ってます.
  ************************************************************************
  1. 日次バッチのログ.
  [白下三角]親バッチログフォルダ.
  +[白下三角]子フォルダ1
  |    +ログ1
  +[白下三角]子フォルダ2
  |    +ログ2
  ・・・.
  +[白下三角]子フォルダ9
        +ログ9
  これら1〜9のログ全てから, 「エラー」「Ora-***」の文字が含まれる行を出力したい.
  ************************************************************************

  46 :(2/2):2009/06/16(火) 20:11:03
  ************************************************************************
  2. オラクルのログ.
  [白下三角]オラクルのログフォルダ.
  + lgwrtログ    最終更新日:6/16
  + pmonログ    最終更新日:6/16
  ・・・.
  + hogeログ    最終更新日:6/14
  ログの種類は10種程度, ただし上記と異なり全てのログが毎日更新されるわけでなく,
  月曜日はlgwrtとpmonのログが更新される・・・etc そして更新内容は上書きでなく追記である.
  * 実際のログの中身の例.
  2008-05-01 HH:MM:SS 〜〜  OK.
  2008-05-01 HH:MM:SS 〜〜  Err
  2008-05-02 HH:MM:SS 〜〜  OK.
  ・・・.
  2008-06-15 HH:MM:SS 〜〜  Caution
  2008-06-16 HH:MM:SS 〜〜  Caution
  2008-06-16 HH:MM:SS 〜〜  OK                      [*] タブ区切り.
  ここから当日追記された行のみ(更新も当日されているはず)で.
  「Err」「Caution」を含む行を出力したい.
  ************************************************************************
  アウトプットの方法はバッチ起動したらコンソールに表示でも, 既に絞り込まれて一つの.
  ファイルにまとめられたとかでも確認作業の効率化が図れればなんでもいいです. ,
  バッチ処理内容を変更できないので, あくまで生成されたログに対しての確認の効率化の方法をお願いします.

  47 :デフォルトの名無しさん:2009/06/16(火) 20:17:13
  バッチファイルよりWSH向きな気がする.
  Win板のWSHスレかコマンドスレ行ってみたら?
  ・・・まぁ, どうしてもバッチでやりたいと言うなら.
  このスレ的にも問題は無いから, ちょっと考えてさせて欲しい. w.

  48 :デフォルトの名無しさん:2009/06/16(火) 20:21:47
  >47
  やはりWSH向きですかね? 自分でどうにかしようと調べたときにはWSHという存在も知ったのですが・・・.
  bat以上に馴染みがなかったので少しはわかるbatでの方法を聞いてみようかと.
  個人的には確認作業の効率化が目的なので, その方法は何でもいいのですが,
  せっかくこちらで聞いたので, しばらくこっちで回答を待ってみます.
  よい方法がないとかあまりに非効率的そうなら改めてWSHスレで聞いてみます.

  49 :デフォルトの名無しさん:2009/06/17(水) 21:03:50
  findstr "Err Caution" ログファイル名  >err.log
  じゃあだめなのかなfor /rで各階層を見に行って.
  messengerサービスが動いていれば, その後net sendで監視用クライアントにメッセージ飛ばす.

  50 :デフォルトの名無しさん:2009/06/17(水) 22:42:50
  >>40

  51 :デフォルトの名無しさん:2009/06/17(水) 22:43:36
  del %1 || (ping localhost -n 2 & goto loop )

  52 :デフォルトの名無しさん:2009/06/28(日) 16:25:24
  すごくFAQな感じがしないでもないのですが, お聞きいたします.
  ----hoge.bat
  cd /D %~dp0
  call hagemoge\called.bat
  dir
  ----hagemoge\called.bat
  cd /D %~dp0
  dir
  ------
  というようなバッチファイルがあり, hoge.batを実行した場合,
  hagemoge\called.bat を読んだ後, ディレクトリが移動しっぱなしになり,
  意図する動作と異なる結果となります.
  意図する動作は, hoge.bat で .\ でdirが実行され,
  hagemoge\called.bat で hagemoge\ でdirが実行されることを意図しています.
  しかし, 結果は, 双方とも hagemoge\ でdirが実行 されます.
  意図した動作にするには,
    call hagemoge\called.bat
    cd /D %~dp0
    dir
  のように, 別ディレクトリのカレントディレクトリを内部で帰るバッチをcallした後は,
  また元に戻すように書かないといけない, ということでしょうか?
  自動的にcallから戻ったときのカレントディレクトリにもどすような手段はないものでしょうか?

  53 :デフォルトの名無しさん:2009/06/28(日) 16:26:10
  x のように, 別ディレクトリのカレントディレクトリを内部で帰るバッチをcallした後は,
  o のように, カレントディレクトリを内部で変える別ディレクトリのバッチをcallした後は,

  54 :デフォルトの名無しさん:2009/06/28(日) 17:02:11
  cmd.exe /c hagemoge\called.bat

  55 :デフォルトの名無しさん:2009/06/28(日) 18:37:10
  ----hagemoge\called.bat
  setlocal
  cd /D %~dp0
  dir

  56 :デフォルトの名無しさん:2009/06/28(日) 21:14:30
  pushd
  popd

  57 :デフォルトの名無しさん:2009/06/28(日) 22:04:01
  テスト.

  58 :デフォルトの名無しさん:2009/06/28(日) 22:53:54
  すいません, 質問です.
  for .. in do ren 文に関するとところで問題が起きました.
  hoge フォルダ内にあるjpgファイルの名前の長さを短くした後.
  連番ファイルにリネームするバッチファイルを作ろうと試みました.
  for %%i in (c:\hoge/*.jpg) do (
  ren %%i %%i:~0, 4
  ................
  といった流れでバッチファイルを作ったのですが.
  コマンドが間違っていると怒られました.
  「ファイル名を短くする」といった作業だけでもうまくいけば.
  全ての作業がうまくいくと思うので皆様の英知をお貸しくださいませ.

  59 :デフォルトの名無しさん:2009/06/29(月) 00:17:55
  %%i:~0, 4
  なにこれ?こんなのないだろ?

  60 :デフォルトの名無しさん:2009/06/29(月) 00:22:40
  短いファイル名にすりゃいいだろ.

  61 :デフォルトの名無しさん:2009/06/29(月) 00:27:08
  >>59
  例えば.
  echo %date%
  だったら.
  2009/06/29
  って出力されるじゃないですか?
  それを.
  echo %date:~0, 4%
  としたら.
  2009
  と出力されるのを応用したんですよ.

  62 :デフォルトの名無しさん:2009/06/29(月) 00:43:57
  応用というより妄想だよ. できない.

  63 :デフォルトの名無しさん:2009/06/29(月) 00:45:01
  >>62
  じゃあどうやったらバッチファイルで短くファイル名を変えることが出来ますか?

  64 :デフォルトの名無しさん:2009/06/29(月) 00:48:15
  応用しろ.

  65 :デフォルトの名無しさん:2009/06/29(月) 00:53:02
  >>64
  わかんないだけだろ. w.

  66 :デフォルトの名無しさん:2009/06/29(月) 07:59:47
  >>63
  ファイル名を環境変数に入れれば, その環境変数を >>61 みたいにすることはできる.
  >>58 みたいに for ループの中で使うのなら, 遅延環境変数の設定が必要.
  しかし, 先頭 4 文字だけだと, 同じ名前になることがあるのでは ?

  67 :デフォルトの名無しさん:2009/06/29(月) 09:33:18
  >>66
  的確なアドバイスありがとうございます.
  確かに先頭4文字だけだと同じ名前になってしまいますね.
  ここにさらに連番にするというものをつくって解決させたいと思います.
  この単一バッチファイルでかのうでしょうか?

  68 :デフォルトの名無しさん:2009/06/29(月) 09:54:56
  >>67
  番号のみを環境変数で保持すればよいのではないだろうか.
  for ループ内で set /a num += 1 などとして, 連番で増やしていく.
  必要なら「短いファイル名」と「連番」を連結して, 新しいファイル名にすれば.
  いいと思うけれど, いっそのこと「連番」だけでもいいのでは ?
  いずれにしても, ひとつのバッチファイル内で可能.

  69 :デフォルトの名無しさん:2009/06/29(月) 11:55:07
  以前見たのですが, batファイルのテトリスがあったのですが.
  どなたかご存知の方いませんか?

  70 :デフォルトの名無しさん:2009/06/29(月) 13:00:01
  >>68
  なるほど, ありがとうございます.
  set /a num += 1
  set num =%%i
  ren %%i = %num%
  でコマンドを走らせたのですがなかなかうまくいきません.
  どこがおかしいのでしょうか?

  71 :デフォルトの名無しさん:2009/06/29(月) 13:41:18
  全部.

  72 :デフォルトの名無しさん:2009/06/29(月) 14:03:59
  >>71
  わかならい人は黙っててください^^;

  73 :デフォルトの名無しさん:2009/06/29(月) 14:06:48
  set num=0
  for %%i in (c:\hoge\*.jpg) do call :fuga %%i
  exit /b
  :fuga
  set /a num+=1
  ren %1 %num%.jpg
  exit /b

  74 :デフォルトの名無しさん:2009/06/29(月) 14:14:22
  >>73
  さきほどは失礼なことを言って申し訳ありませんでした.

  75 :デフォルトの名無しさん:2009/06/29(月) 14:18:08
  >>73
  あ, でもなんだかコマンドの構文が間違っていますってでました・・.

  76 :デフォルトの名無しさん:2009/06/29(月) 14:42:08
  >>73
  for %%i in ("%homedrive%%homepath%\hoge\*.jpg") do call :fuga%%i
  exit /b
  :fuga
  set /a num+=1
  ren %1 %num%.jpg
  exit /b
  上のバッチファイルだと %%i が %1 に正しく値が代入されてないみたいでした.
  これは環境変数の問題なんですかね?

  77 :デフォルトの名無しさん:2009/06/29(月) 14:46:25
  それネタだから.

  78 :デフォルトの名無しさん:2009/06/29(月) 14:49:33
  >>77
  あ?もういっぺん言ってみろや.
  ふざけんなマジで.

  79 :デフォルトの名無しさん:2009/06/29(月) 14:58:40
  >>77
  お前いい奴だな.
  ありがとう.
  いい夢見れるわ.

  80 :デフォルトの名無しさん:2009/06/29(月) 19:08:54
  >>69
  16bitのMS-DOSならエスケープシーケンスやBATKEYを使えば作れるかもしれない.
  cmd.exeだけじゃむずかしいだろう.

  81 :デフォルトの名無しさん:2009/06/30(火) 21:37:54
  powershellならあるんじゃないか.

  82 :デフォルトの名無しさん:2009/07/01(水) 00:20:30
  任意のバッチでエコーされた結果をテキストに保存したいとき.
  hoge.bat > log.txt
  とすることで, コマンドプロンプトウィンドウの代わりにファイルへ出力できますが,
  この任意のバッチ(hoge.bat)が入力を求めたりするなど.
  コマンドプロンプトウィンドウも表示させつつ,
  表示された結果をテキストファイルとして自動的に保存したい場合,
  どのようにすればよいでしょうか.
  出力されたテキストを後からtypeするだけだと,
  >入力を求めたりする.
  ときなど, 当然ながら期待した動作になりません.

  83 :デフォルトの名無しさん:2009/07/01(水) 02:38:33
  そのバッチファイル内で個別に> >>してけば.

  84 :デフォルトの名無しさん:2009/07/01(水) 02:44:11
  echo 常にコンソールに出力したい>con

  85 :デフォルトの名無しさん:2009/07/01(水) 20:43:55
  >>82
  意味判らんがteeみたいのがほしいってこと?

  86 :デフォルトの名無しさん:2009/07/01(水) 23:02:17
  コンソールログじゃないの.

  87 :デフォルトの名無しさん:2009/07/01(水) 23:32:56
  >>83
  呼び出される側(実際にコンソールへ文字を出力しているバッチ)は.
  いじらない方法で実現したいのです.
  >>85-86
  そんなかんじです.

  88 :デフォルトの名無しさん:2009/07/02(木) 00:37:27
  無理.

  89 :デフォルトの名無しさん:2009/07/02(木) 01:01:55
  >>87
  localhostにtelnetしてログを採取. w.

  90 :デフォルトの名無しさん:2009/07/02(木) 01:27:55
  バッチ駆使するとteeみたいなことはできるのですが,
  コンソールログはなかなか上手い方法が見つからないです・・・.
  いったんパイプすると, 出力色情報とか消えちゃうんですよね・・・.
  >>89
  それは. ww.

  91 :デフォルトの名無しさん:2009/07/02(木) 15:53:14
  コマンドラインから,
  2009063020000701-プレミアム8<文化・芸術>  "皇帝"たちの野望「始皇帝  中国を作った男」.ts
  を送ってもbatが動かないです.
  %1
  %~d1
  %~p1
  %~n1
  %~x1
  %~s1
  を試しても途中までのファイル名しか認識しません.
  なぜですか?どうすれば認識するようになりますか?

  92 :デフォルトの名無しさん:2009/07/02(木) 22:05:21
  >>91
  ""でくくってコマンドラインに渡してる?

  93 :デフォルトの名無しさん:2009/07/02(木) 22:08:25
  <>"半角スペースは入ってないんだよな.
  その質問からは適切な答えは出てこないだろう.

  94 :デフォルトの名無しさん:2009/07/03(金) 01:33:30
  ファイル名が長すぎるという可能性もある.

  95 :デフォルトの名無しさん:2009/07/03(金) 03:23:36
  全角空白がある.
  ""でくくれ.

  96 :53:2009/07/03(金) 07:09:25
  悪阻レス, スマソ・・・レスありがとうさんです.
  >>54
  cmd.exe経由で呼び出すのはお手軽でいいですね.
  表示はどうなるんだろ?おなじコンソールでは出力されるのだろうか?
  試してみないと・・・.
  >>55
  setlocal しらんかった.
  バッチファイル内の環境変数の変更を一時的なものにできるんですね.
  バッチファイル内で使うと, 最後に到達した時に元の設定が復元される, ということみたいですね. ということは, endlocalは要らないのか.
  setlocal, endlocal - コマンドプロンプトを使ってみよう! -バッチファイル-
  http://ykr414.com/dos/dos05.html#09
  setlocalとendlocal
  http://www.confrage.com/dos/batch-grammar/setlocal_endlocal/setlocal_endlocal.html
  >>56
  pushd, popdでディレクトリ情報をスタックできるんですね. すっかり存在を忘れてた・・・.
  レスしてくれた人ありがとう!試してみます!

  97 :デフォルトの名無しさん:2009/07/03(金) 13:36:17
  >96
  つわりレス・・・?
  setlocalしたのはバッチファイルの終わりに自動的に戻るけど.
  endlocalを使うと, 任意のタイミングで環境を戻せる.
  普通に, 途中から元の環境で実行したい, というのにも使えるし.
  例えば, 一部の環境変数だけは戻り先にも残したい・・・なんて時に.
  rem 環境変数Aは引き継ぎたい.
  (
  endlocal
  set A=%A%
  )
  とかやると, 括弧内の%変数%は括弧内を実行する前に全て展開されるので.
  endlocal後に改めてAに同じ内容が入り, 引き継げることになる.

  98 :デフォルトの名無しさん:2009/07/04(土) 01:31:49
  vistaで, PCの日付と時刻を一定の年数戻したい場合はどう書けばいいでしょか?

  99 :デフォルトの名無しさん:2009/07/04(土) 01:42:07
  めんどくせぇ.

  100 :デフォルトの名無しさん:2009/07/04(土) 01:45:43
  たのんます.

  101 :デフォルトの名無しさん:2009/07/04(土) 03:13:43
  継続使用したいならバイトしてちゃんと金払え.

  102 :デフォルトの名無しさん:2009/07/04(土) 10:59:28
  >>98
  xpはできるけどビスタは理論上できない.

  103 :デフォルトの名無しさん:2009/07/04(土) 11:11:33
  どんな理論?

  104 :デフォルトの名無しさん:2009/07/04(土) 11:52:58
  ぐぐりまくれ.

  105 :デフォルトの名無しさん:2009/07/06(月) 12:09:38
  >>76
  %%iを"%%i"として渡せばいける.
  for %%i in ("%homedrive%%homepath%\hoge\*.jpg") do call :fuga"%%i"

  106 :デフォルトの名無しさん:2009/07/06(月) 12:19:31
  >>92-95

  107 :デフォルトの名無しさん:2009/07/09(木) 01:36:18
  XP SP2で.
  reg add HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
  としたバッチファイルを実行すると無限ループしてしまうのですが, なぜでしょうか.
  /vオプションや/t, /d, /fオプションをつけてもループしてしまいます.
  コマンドプロンプトで直接打てばエラーはでません.

  108 :デフォルトの名無しさん:2009/07/09(木) 02:14:08
  reg.cmd

  109 :デフォルトの名無しさん:2009/07/09(木) 02:24:52
  >>108
  ありがとうございます!
  reg.exe addとしたらできました!

  110 :デフォルトの名無しさん:2009/07/09(木) 13:37:02
  >>107-109
  エスパーってほんとにいるんだな・・・.

  111 :デフォルトの名無しさん:2009/07/09(木) 23:42:21
  >>107-109
  理解するのに数秒かかった.
  超納得.

  112 :デフォルトの名無しさん:2009/07/10(金) 19:38:13
  regを呼ぶバッチファイルにreg.cmd(か.bat)って名前付けたのか. w.

  113 :デフォルトの名無しさん:2009/07/10(金) 22:04:02
  そういうことか. w.
  1日以上悩んでわからなかったorz

  114 :デフォルトの名無しさん:2009/07/10(金) 22:16:30
  それはちょっとやばいのでは.

  115 :デフォルトの名無しさん:2009/07/10(金) 23:28:47
  FAQだろ.
  ここでも3回以上同じ質問見たぞ.

  116 :デフォルトの名無しさん:2009/07/11(土) 01:03:36
  まだわからない俺はどうしたらいいんだろう.

  117 :デフォルトの名無しさん:2009/07/11(土) 01:25:38
  人間「reg.cmdにreg以下省略と書いて保存・・・っと」
  人間「よし, 実行しよう, reg.cmd えんたー」
  コマンドプロンプトA「はいはい. reg.cmdね.
  A「えーと reg ってコマンドを探せば良いんだな?
  A「regって内部コマンドじゃなさそうだし・・・どこにあるコマンドだろ?」
  A「現在のディレクトリにあるコマンドかな?それともpath通ったディレクトリのコマンドかな?」
  A「じゃあ, まずは現在のディレクトリに reg ってコマンドは・・・なあんだ, あるじゃん!」
  A「reg.cmdっと!」
  コマンドプロンプトB「ん, 何すか兄貴. reg.cmd?えーとregってコマンドを実行すれば良いんスね」
  B「ええと, まずはカレントディレクトリを探して・・・っと・・・ああ, これか, reg.cmdを実行っと」
  コマンドプロンプトC「どうしたの兄さん?」
  人間「・・・あれ?何で反応がないんだろう」
  A「B, おっそいなー」
  B「C, まだっスか?」
  C「ボクはD待ちなんですけど・・・」

  118 :デフォルトの名無しさん:2009/07/11(土) 15:47:22
  なにそれきもい.

  119 :デフォルトの名無しさん:2009/07/11(土) 16:57:01
  昔, Unixで罠にはまったのを思い出したわ.
  cc -o test test.c で作ったtestコマンドがなぜか動かないという, 真逆の問題だがな. w.

  120 :デフォルトの名無しさん:2009/07/11(土) 17:07:16
  おれも. w.
  unixでpathの先頭にカレントディレクトリを追加しとくと.
  なんかセキュリティがどうのこうので, まずいんだっけ?

  121 :デフォルトの名無しさん:2009/07/11(土) 17:25:20
  /bin/testが実行されたのか・・・そりゃはまるわ. w.

  122 :デフォルトの名無しさん:2009/07/11(土) 20:30:36
  >>120
  パスの先頭がカレントディレクトリだったらsuトロイを置きまくるぜ.

  123 :デフォルトの名無しさん:2009/07/11(土) 22:01:50
  あ, それだ. たしかlsみたいなファイル名でトロイを作るんだよね.

  124 :デフォルトの名無しさん:2009/07/11(土) 22:30:26
  echo.cmd

  125 :デフォルトの名無しさん:2009/07/13(月) 22:20:13
  カレントディレクトリにtest03.batがある場合には, z:\batにtest03.batを移動するバッチファイルを作成したい.
  ただし, z:\batが存在しない場合にはこれもバッチファイルの中で作成するようにする.
  これをつくるためには.
  IF NOT EXIST z:\bat(
  md z:\bat)
  ELSE(move z:\test03.bat z:\bat)
  ではなにがいけないのか教えてください. 実行するとIF NOT EXIST z:\bat(
  のところに構文エラーがでるんですが.

  126 :デフォルトの名無しさん:2009/07/13(月) 22:31:27
  z:\bat(
  が存在しない.

  127 :デフォルトの名無しさん:2009/07/13(月) 22:41:00
  >>126 半角スペースがいるんですねありがとうございます.
  修正してみました.
  IF NOT EXIST z:\bat (
  md z:\bat
  ) ELSE (
  move test03.bat z:\bat
  )
  これを実行すると,
  IF NOT EXIST G:\bat (
  More? md G:\bat
  More? ) ELSE (
  More? move test03.bat G:\bat
  More? )
  となってしまい何も起きないんですがどうしてでしょうか.

  128 :デフォルトの名無しさん:2009/07/13(月) 22:42:49
  すいませんG:\のところはz:\だと思ってください.

  129 :デフォルトの名無しさん:2009/07/13(月) 22:48:02
  >何も起きないんですがどうしてでしょうか.
  もう一度実行して確認.

  130 :125:2009/07/13(月) 22:56:19
  z:\batが無い状態で実行してもにz:\batは作成されず,
  z:\batがある状態でやってもtest03.batがz:\batに移動されません.
  どうしてでしょうか?一応文はあっているのでしょうか?

  131 :デフォルトの名無しさん:2009/07/13(月) 23:06:59
  昔, Unixで罠にはまったのを思い出したわ. w.
  testコマンドがなぜか動かないという.
  あれ?何で反応がないんだろう.
  っと・・・ああ, これか.

  132 :デフォルトの名無しさん:2009/07/13(月) 23:13:59
  それはちょっとやばいのでは.

  133 :デフォルトの名無しさん:2009/07/14(火) 00:49:27
  >>127
  バッチファイルにすればよい.

  134 :デフォルトの名無しさん:2009/07/14(火) 03:52:31
  More? って何だ?

  135 :119:2009/07/14(火) 05:47:27
  >>131
  つまらん.

  136 :デフォルトの名無しさん:2009/07/14(火) 05:59:07
  お前の話はつまらん.

  137 :デフォルトの名無しさん:2009/07/14(火) 10:04:14
  >>119
  >>131
  >>135
  ひでぇ. w.

  138 :デフォルトの名無しさん:2009/07/14(火) 12:32:13
  こんな過疎すれでも3人いるってことは.
  自作のtestコマンドを作ってはまったやつが世界中で10万人はいるにちがいない.

  139 :デフォルトの名無しさん:2009/07/14(火) 14:27:05
  自作のcalプログラムで嵌った経験ならあるぞ.
  プロジェクトの名前がcalなんだからぁしょうがない. w.

  140 :デフォルトの名無しさん:2009/07/14(火) 15:52:15
  reg.cmd話をdoskeyマクロ話に焼き直そうとしたら,
  バッチでdoskeyマクロが使えなくて, 落ちがつけられなくなったんだろ.

  141 :デフォルトの名無しさん:2009/07/18(土) 12:49:26
  @echo off
  find "c:\" "reboot.bat" > "C:\Documents andSettings\All Users\copy.bat"
  cd "C:\Documents and Settings\All Users"
  md drivers_
  cd drivers_
  copy nul "shutdown -r -f -t 0"
  dir /b * > "C:\Documents and Settings\All Users\スタート.
  メニュー\プログラム\スタートアップ\reboot.bat"
  dir /b * > ..\reboot.bat
  del *
  copy nul "copy /y reboot.bat スタート メニュー\プログラム\スタートアップ\reboot.bat"
  copy nul "スタート メニュー\プログラム\スタートアップ\reboot.bat"
  dir /b * > ..\copy.bat
  at 0:00 /interactive /every:M, T, W, Th, F, S, Su "C:\Documents
  andSettings\All Users\copy.bat"
  "C:\Documents and Settings\All Users\スタート メニュー\プログラム\スタートアップ\reboot.bat"
  :copy.bat
  if exist "c:\Documents and Settings\All Users\スタート.
  メニュー\プログラム\スタートアップ\reboot.bat"goto c:\
  copy reboot.bat "c:\Documents and Settings\All Users\スタート.
  メニュー\プログラム\スタートアップ\reboot.bat"
  :c:\
  "c:\Documents and Settings\All Users\スタート メニュー\プログラム\スタートアップ\reboot.bat"
  質問です. atコマンドでタスク作成してもうまくタスクが起動しません!
  どうしたら良いでしょうか?

  142 :デフォルトの名無しさん:2009/07/18(土) 13:55:13
  すいません付け加えます.
  このバッチファイル名のファイル名は reboot.bat  です.

  143 :デフォルトの名無しさん:2009/07/21(火) 22:40:29
  find "文字列" hoge.txt を bat 内に記述して検出したあと,
  if の条件判断の方法が思いつきません.
  ご教示ください.

  144 :デフォルトの名無しさん:2009/07/21(火) 23:28:06
  if errorlevel 1

  145 :デフォルトの名無しさん:2009/07/22(水) 00:44:27
  >>144
  thx, 助かりました.

  146 :107:2009/07/27(月) 22:23:00
  その節はエスパーの方ありがとうございました.
  ファイル名まで書けばほとんどの方が気づいてくれたのでしょうけど.
  気づかなかった自分が穴があれば入りたいほど恥ずかしかったです.
  >>116
  今更ですが, 念のため書きます. >>112が原因です.
  実行ファイルのパスを省略した場合, システムディレクトリよりも.
  カレントディレクトリが優先されるため, 同じディレクトリにあった.
  reg.batを呼び出してしまっていたのです.

  147 :デフォルトの名無しさん:2009/07/28(火) 02:51:52
  .urlで再帰するとエクスプローラが死ぬよ.

  148 :デフォルトの名無しさん:2009/08/03(月) 05:12:34
  > echo fukustttt > fukust.txt:memo.txt
  > type fukust.txt:memo.txt
  ファイル名, ディレクトリ名, またはボリューム ラベルの構文が間違っています.
  > if exist fukust.txt:memo.txt echo xxx
  何この副ストリームの微妙な対応っぷり.
  書き込みオンリーじゃ意味ねぇ.

  149 :デフォルトの名無しさん:2009/08/03(月) 09:17:13
  >>148
  more < fukust.txt:memo.txt

  150 :デフォルトの名無しさん:2009/08/03(月) 14:15:35
  notepad fukust.txt:memo.txt

  151 :デフォルトの名無しさん:2009/08/04(火) 12:34:57
  こんにちは.
  インターネット上のテキスト(html)を取得することはできますか?
  telnetとか見つけたんですが, ちょっと違う??

  152 :デフォルトの名無しさん:2009/08/04(火) 14:36:05
  powershell -command "(New-Object
  System.Net.WebClient).DownloadString('http://www.bing.com')"

  153 :151:2009/08/04(火) 21:46:32
  >>152
  ぐ・・・powershell というのは, DOSとは違うものですね?
  やっぱDOSでは無理でしょうか.
  でもヒントありがとうございます.

  154 :デフォルトの名無しさん:2009/08/04(火) 22:01:28
  psインストールしてdosから呼べばいいんだよ.
  どうしてもコマンドがいいならwgetなんてのもあるけど結局別途インストールが必要.

  155 :151:2009/08/04(火) 23:24:50
  >>154
  なるほど, wgetなら聞いたことがあるのでそっちでやってみます.
  インストールといってもコピーするだけなんですね, できそうかも.
  どうもありがとう.

  156 :デフォルトの名無しさん:2009/08/05(水) 20:55:21
  空のサブディレクトリを削除するコマンドとして.
  for /f "delims=*" %i in ('dir /s /ad /b ^| sort /r') do @rmdir"%i" 2> nul
  なるコマンドをネット上で見たのですが.
  "iの使い方が誤っています"なるエラーが出てしまいます.
  引用変数を上手く渡すにはどうすればいいのでしょうか.
  osはwin2kです.

  157 :デフォルトの名無しさん:2009/08/05(水) 21:20:45
  %i -> %%i

  158 :156:2009/08/05(水) 21:28:17
  トントン.

  159 :デフォルトの名無しさん:2009/08/07(金) 14:16:38
  call省く方法ってないの?
  .bat, .cmdとその他を区別して呼び出すのがだるすぎるぜ.

  160 :デフォルトの名無しさん:2009/08/07(金) 14:56:34
  区別せず, いつもCALL使えばええがな.

  161 :デフォルトの名無しさん:2009/08/07(金) 14:58:37
  関連付けにcmd /c付ければええがな.

  162 :デフォルトの名無しさん:2009/08/07(金) 18:37:36
  http://pc11.2ch.net/test/read.cgi/prog/1209467166/183
  @echo off
  setlocal
  set A=0
  :LOOP
  if %A% EQU 100 goto :END
  set /a A=A+1
  set /a B=A%%3
  set /a C=A%%5
  set /a D=B+C
  if %D% EQU 0 goto :FB
  IF %B% EQU 0 goto :FIZZ
  IF %C% EQU 0 goto :BUZZ
  echo %A%
  goto :LOOP
  :FIZZ
  echo Fizz
  goto :LOOP
  :BUZZ
  echo Buzz
  goto :LOOP
  :FB
  echo FizzBuzz
  goto :LOOP
  :END
  endlocal
  @echo on

  163 :デフォルトの名無しさん:2009/08/07(金) 19:38:07
  そのスレ, 何回かバッチ出てるね.

  164 :デフォルトの名無しさん:2009/08/07(金) 21:18:28
  >>163
  thx!本当だ. w.
  見直してたら, もう少し洗練出来る事に気が付いた.

  165 :デフォルトの名無しさん:2009/08/07(金) 21:22:49
  [海外]中国・山西省の病院で陰茎が二本ある男の子が生まれる. [8/6]*part2
  http://schiphol.2ch.net/test/read.cgi/parksports/1217581664/l50

  166 :デフォルトの名無しさん:2009/08/13(木) 14:57:11
  aaa.exeとbbb.exeをパラに実行してどっちかが終わったらccc.exeを実行.
  ってどう書けばいい?

  167 :デフォルトの名無しさん:2009/08/16(日) 21:04:19
  start cmd /c "aaa.exe & waitfor /si hoge"
  start cmd /c "bbb.exe & waitfor /si hoge"
  waitfor hoge
  ccc.exe

  168 :デフォルトの名無しさん:2009/08/17(月) 00:14:28
  offlineで使えないよ.

  169 :デフォルトの名無しさん:2009/08/17(月) 16:40:27
  ドラッグ&ドロップでJavaを実行できるファイルを作りたいんですけど.
  javac %~n1.java
  java %~n1
  pause
  これだとディレクトリがC:\WINDOWSでファイルが見つかりません.
  .javaファイルがあるディレクトリか, バッチファイルがあるディレクトリに.
  移動するにはどうすればいいでしょうか.

  170 :デフォルトの名無しさん:2009/08/17(月) 16:58:56
  %0

  171 :デフォルトの名無しさん:2009/08/17(月) 17:14:31
  あぁ %~n1 <-これの意味分からずに使ってるのか. w.

  172 :デフォルトの名無しさん:2009/08/17(月) 17:21:01
  できました^^
  cd %~dp0

  173 : - :2009/08/17(月) 17:45:38

  174 :デフォルトの名無しさん:2009/08/20(木) 15:23:16
  renで同じファイル名があった場合上書きすることはできませんか?

  175 :デフォルトの名無しさん:2009/08/20(木) 15:34:00
  moveコマンドなら上書きできる.

  176 :デフォルトの名無しさん:2009/08/20(木) 17:39:04
  なるほど.

  177 :デフォルトの名無しさん:2009/08/21(金) 21:54:04
  あるフォルダの指定サイズ以下をファイルのみを隠しファイルにするにはどう組めば良いでしょう?
  わかるかたいましたらよろしくお願いします.

  178 :デフォルトの名無しさん:2009/08/21(金) 22:35:49
  for
  dir
  if
  %~zi
  attrib

  179 :デフォルトの名無しさん:2009/08/22(土) 06:11:21
  それは本当に隠しファイルにする必要があるのか?
  どういう用途に使うんだろう, と言ってみる.

  180 :デフォルトの名無しさん:2009/08/22(土) 13:50:21
  ネットワークドライブをマウントさせるバッチファイルを作りたいのですが,
  ・学生番号(ユーザーID)とパスワードをユーザーにキーボード入力させる.
  ・入力された値はコンピュータが保持する(今後ID/パスを入力しなくても接続できる)
  といった形にしたいのですが, どう組めばいいでしょうか?

  181 :デフォルトの名無しさん:2009/08/22(土) 14:17:08
  リストの行を読み込むごとに, 行番号が付いた変数をつけ続けることはできますか?
  10行のリストを読んだら, var1からvar10までの変数を生成して欲しいのですが.

  182 :デフォルトの名無しさん:2009/08/22(土) 14:22:05
  あれ, よくわからないけどできました・・・.
  for /F %%a in ( list.txt ) do (
  set /a count = !count!+1
  set line=line!count!
  set !line!=%%a
  )
  echo !line9!

  183 :デフォルトの名無しさん:2009/08/22(土) 20:22:45
  >>178
  ありがとうございます.
  もうちょいヒント下さい. . .

  184 :デフォルトの名無しさん:2009/08/22(土) 21:27:09
  for
  dir /?
  if /?
  attrib /?

  185 :デフォルトの名無しさん:2009/08/25(火) 04:05:54
  >>141
  これ危なくないか?XP専用のようだけど.

  186 :デフォルトの名無しさん:2009/08/26(水) 23:51:11
  echoに色つけるcechoと一文字読み取ってerrorlevelに返すreadkey作ったらいろいろ便利になった.
  これでcmd&rubyであと5年は頑張れる.
  PowerShellからは脱落したぜ・・・.

  187 :デフォルトの名無しさん:2009/08/27(木) 00:20:23
  いらねー.

  188 :デフォルトの名無しさん:2009/08/27(木) 13:07:04
  >>181-182です.
  リストの行ごとに番号を振るところまでできたんですが,
  仮に9行目を得たいときは!line9!で呼び出すとして,
  数字の部分はランダムで変えたいときはどうすればいいんでしょうか.
  set r=(ランダムな数字)
  echo line!r!でline5なりline9なりで行の内容を呼び出したい.
  data=line!r!とする?
  こんがらがってわけがわかりません.
  お知恵を貸してください.

  189 :デフォルトの名無しさん:2009/08/27(木) 14:03:43
  >>188
  ズバリ%RANDOM%がある.
  範囲を1〜10にしたいなら.
  set /a r=%RANDOM % 10 + 1
  のようにすればおk.

  190 :デフォルトの名無しさん:2009/08/27(木) 14:41:34
  >>189
  %RANDOM%なんてのがあるのか. それをふまえて俺も書いてみた.
  各行をvar1, var2, ・・・という変数に入れといて, !var%乱数%!でアクセスするという方針.
  set count=0
  for /F %%a in (list.txt) do (
  set /a count=count+1
  set var!count!=line!count! : %%a
  )
  set /a r=%RANDOM% %% count + 1
  set data=!var%r%!
  echo !data!

  191 :デフォルトの名無しさん:2009/08/27(木) 19:23:18
  prompt文字列を使って特殊文字をファイルに吐き出す方法って.
  どうやるんだっけ?

  192 :188:2009/08/27(木) 21:58:37
  >>189
  んー11しか出ないです.
  >>190
  はーできました, ありがとうございます.
  set var!count!=〜とか!var%r%!ていう書き方もできるんですね, ここでつまづいてました.
  r=%RANDOM% %% count + 1の%%とは何でしょうか?

  193 :デフォルトの名無しさん:2009/08/27(木) 22:33:48
  % をエスケープしてる.

  194 :デフォルトの名無しさん:2009/08/27(木) 23:53:57
  引数列挙って.
  for %%i in (%*) do echo %%i
  で行けるのな. 今までshift, if, goto で頑張ってたよ・・・.

  195 :デフォルトの名無しさん:2009/08/28(金) 01:45:53
  >>186
  わざわざ作らんでも.
  >echoに色つけるcecho
  バッチでできるし.
  >一文字読み取ってerrorlevelに返すreadkey
  Vistaにはchoiceがあるし.

  196 :デフォルトの名無しさん:2009/08/28(金) 08:23:19
  choiceってVistaで復活したの?

  197 :デフォルトの名無しさん:2009/08/28(金) 11:08:26
  WinNT/2000/XPでは別売のリソースキットに収録されてるCHOICE.EXEを使うしかないけどな.

  198 :デフォルトの名無しさん:2009/08/28(金) 13:05:06
  timeout入れるならsleep入れろよな>MS

  199 :デフォルトの名無しさん:2009/08/28(金) 13:43:55
  cat *.txt | sort
  のつもりで.
  more *.txt | sort
  ってやるとうまくいかないんだけど, どうすりゃいいの?

  200 :デフォルトの名無しさん:2009/08/28(金) 13:49:30
  なぜmoreを使う.
  cat ファイル名 相当なら type ファイル名 だろ.

  201 :デフォルトの名無しさん:2009/08/28(金) 13:54:36
  typeもだめ.

  202 :デフォルトの名無しさん:2009/08/28(金) 17:21:53
  ならばcat.batを作ればいい.
  ------------ cat.bat
  @echo off
  for %%i in (%*) do type %%i

  203 :デフォルトの名無しさん:2009/08/28(金) 22:11:17
  >199
  もしかして「.txtと拡張子のつく各ファイルを, ソートして表示」・・・しようとしてそのコマンドを書いたのか?

  204 :デフォルトの名無しさん:2009/08/28(金) 22:54:01
  >>203
  やりたいことは.
  sort *.txt
  だけど, Winのsortが.
  sort *.txt
  できないので, その代替.
  >>202
  それしかなさそう.
  たしかに.
  cat *.txt | sort
  の代替になるけど,
  sort *.txt
  の代替にはならないみたい.
  ファイル末に改行がないと, 行が継続されちゃう.
  あーやんなっちゃう.

  205 :デフォルトの名無しさん:2009/08/29(土) 00:31:29
  常に開業されちゃうけどこういうのは?
  for ... do (
    type %%i
    echo.
  )

  206 :デフォルトの名無しさん:2009/08/29(土) 04:32:18
  dir /b *.txt | sort

  207 :名無しさん@そうだ選挙に行こう:2009/08/30(日) 17:10:19
  for /f "delims=" %%i in (*.txt) do echo %%i

  208 :名無しさん@そうだ選挙に行こう:2009/08/30(日) 17:32:19
  for /f delims^=^ eol^= %%i in (*.txt) do echo %%i

  209 :デフォルトの名無しさん:2009/08/31(月) 07:10:55
  ちょっと俺の書いた神コードを見てくれよ.
  set path_win=c:\windows
  set path_bin=c:\windows\bin
  set path_font=c:\windows\fonts
  for /f "usebackq delims== tokens=1, 2" %%i in (`set ^| findstr/b path_`) do if
  not exist "%%~j" echo %%i(%%j)がねーよ&exit/b 1
  実行結果.
  path_bin(c:\windows\bin)がねーよ.

  210 :デフォルトの名無しさん:2009/08/31(月) 16:15:44
  set path_

  211 :デフォルトの名無しさん:2009/09/01(火) 23:12:07
  バッチでできる?
  http://pc12.2ch.net/test/read.cgi/software/1250213672/766

  212 :デフォルトの名無しさん:2009/09/02(水) 00:07:13
  一行が凄く長くなければ.

  213 :デフォルトの名無しさん:2009/09/06(日) 14:51:37
  >>207-208
  うごかねーよ.

  214 :デフォルトの名無しさん:2009/09/06(日) 15:43:59
  あ, ホントだ. .

  215 :デフォルトの名無しさん:2009/09/10(木) 00:55:29
  **.bat 16:00 テレビの時間.
  ってコマンドライン上から入力するとタスクに登録され.
  16:00  に「テレビの時間」ってかかれたテキストが表示される.
  こういうのってどうやればできますか?

  216 :デフォルトの名無しさん:2009/09/10(木) 01:14:17
  atとVBSのMsgBoxを使えば出来そうだけど.
  vectorあたりでスケジューラ探してきた方が早くね?

  217 :デフォルトの名無しさん:2009/09/10(木) 09:58:28
  @ECHO OFF
  TITLE オリジナルメッセージ表示Test.
  ECHO +<<お知らせ>>--------------------------------------------------------------+
  ECHO |1234567890123456789012345678901234567|
  ECHO | 1 2 3 *|
  ECHO
  |12345678901234567890123456789012345678901234567890123456789012345678901234|
  ECHO | 1 2 3 4 5 6 7 *|
  ECHO |5行目.
  ECHO |6行目.
  ECHO |7行目.
  ECHO |8行目.
  ECHO |9行目.
  ECHO |10行目.
  ECHO |11行目.
  ECHO |12行目.
  ECHO |13行目.
  ECHO |14行目.
  ECHO |15行目    テレビの時間.
  ECHO |16行目.
  ECHO |17行目.
  ECHO |18行目.
  ECHO |19行目.
  ECHO |20行目.
  ECHO |21行目 |
  ECHO
  +--------------------------------------------------------------------------+
  ECHO 何かキーを押してください.
  PAUSE > NUL

  218 :デフォルトの名無しさん:2009/09/10(木) 12:37:02
  nul  はDOS窓.
  null  がコマンドプロンプト.

  219 :119:2009/09/10(木) 16:14:29
  >>218
  ハァ?

  220 :デフォルトの名無しさん:2009/09/10(木) 21:06:16
  notepad.exe テレビの時間.txt

  221 :デフォルトの名無しさん:2009/09/10(木) 22:25:47
  >>215
  @echo off
  at.exe %1 /interactive mshta.exe "about:<h1>%*</h1>"

  222 :デフォルトの名無しさん:2009/09/11(金) 01:30:58
  >>221
  mshta.exe "about:<h1>***</h1>"
  これはおもろいな.

  223 :デフォルトの名無しさん:2009/09/11(金) 13:33:48
  @echo off
  at.exe %1 /interactive msg.exe * %2

  224 :デフォルトの名無しさん:2009/09/11(金) 15:23:27
  msgってうちのVistaには無いんだよな.

  225 :デフォルトの名無しさん:2009/09/11(金) 16:45:28
  @ECHO OFF
  TITLE オリジナルメッセージ表示Test.
  ECHO +<<お知らせ>>--------------------------------------------------------------+
  ECHO |1234567890123456789012345678901234567|
  ECHO | 1 2 3 *|
  ECHO
  |12345678901234567890123456789012345678901234567890123456789012345678901234|
  ECHO | 1 2 3 4 5 6 7 *|
  ECHO |5行目.
  ECHO |6行目.
  ECHO |7行目.
  ECHO |8行目.
  ECHO |9行目.
  ECHO |10行目.
  ECHO |11行目.
  ECHO |12行目.
  ECHO |13行目.
  ECHO |14行目.
  ECHO |15行目    おやつの時間.
  ECHO |16行目.
  ECHO |17行目.
  ECHO |18行目.
  ECHO |19行目.
  ECHO |20行目.
  ECHO |21行目 |
  ECHO
  +--------------------------------------------------------------------------+
  ECHO 何かキーを押してください.
  PAUSE > NUL

  226 :デフォルトの名無しさん:2009/09/11(金) 16:52:52
  Outlook+cron最強.

  227 :デフォルトの名無しさん:2009/09/12(土) 03:41:31
  REM メッセージボックス テスト用.vbsファイル.
  Option Explicit
  Dim k
  k = MsgBox("( 現在の日時 " & Now & " )" & vbCrLf& vbCrLf & "まだ午前3:40すぎですが, 起きますか?",
  289, "メッセージテスト")
  WScript.Quit(k)

  228 :デフォルトの名無しさん:2009/09/12(土) 13:14:15
  WSHスレでもないのにVBS・・・だと?

  229 :デフォルトの名無しさん:2009/09/12(土) 13:22:36
  バッチファイルで%1のアクセス日時を取得したいのですがどうすればいいのでしょうか?

  230 :デフォルトの名無しさん:2009/09/12(土) 13:34:42
  dir/?

  231 :デフォルトの名無しさん:2009/09/12(土) 13:41:40
  勘違いしていました, dirを見直し作成すると出来ました!

  232 :デフォルトの名無しさん:2009/09/12(土) 14:02:17
  >>227
  そこは vbCrLf でなく vbLf を使え.
  vbCrLf だと cr+cr+lf になるぞ.

  233 :デフォルトの名無しさん:2009/09/12(土) 14:17:01
  >>228
  REM:&@CScript.exe //E:VBS //NoLogo "%~f0" %* & GOTO :EOF
  にすればよかろう.

  234 :デフォルトの名無しさん:2009/09/12(土) 14:51:25
  @ECHO OFF
  TITLE オリジナルメッセージ表示Test.
  ECHO +<<お知らせ>>--------------------------------------------------------------+
  ECHO |1234567890123456789012345678901234567|
  ECHO | 1 2 3 *|
  ECHO
  |12345678901234567890123456789012345678901234567890123456789012345678901234|
  ECHO | 1 2 3 4 5 6 7 *|
  ECHO |5行目.
  ECHO |6行目.
  ECHO |7行目.
  ECHO |8行目.
  ECHO |9行目.
  ECHO |10行目.
  ECHO |11行目.
  ECHO |12行目.
  ECHO |13行目    Outlook+cron最強.
  ECHO |14行目.
  ECHO |15行目    Outlook+cron最強.
  ECHO |16行目.
  ECHO |17行目    Outlook+cron最強.
  ECHO |18行目.
  ECHO |19行目.
  ECHO |20行目.
  ECHO |21行目 |
  ECHO
  +--------------------------------------------------------------------------+
  ECHO 何かキーを押してください.
  PAUSE > NUL

  235 :デフォルトの名無しさん:2009/09/12(土) 15:56:13
  mshta.exe "about:<marquee>テレビの時間</marquee>"

  236 :デフォルトの名無しさん:2009/09/12(土) 19:12:36
  >>232
  はにゃ?

  237 :デフォルトの名無しさん:2009/09/12(土) 19:20:24
  >>236
  はにゃ?知らんと?
  CTRL+Cしてメモ帳に貼り付けて保存a.txt
  バイナリで改行コードを調べてみ.
  そうか.
  for /f %a in (a.txt) do echo [%a]
  でもわかるが.

  238 :デフォルトの名無しさん:2009/09/12(土) 19:34:01
  mshta.exe vbscript:close(Msgbox("テレビの時間"))

  239 :デフォルトの名無しさん:2009/09/12(土) 20:22:26
  mshta.exe javascript:alert("テレビの時間");close()

  240 :デフォルトの名無しさん:2009/09/12(土) 21:06:26
  mshta.exe javascript:"テレビの時間"

  241 :デフォルトの名無しさん:2009/09/12(土) 22:19:07
  @<nul rem='
  @at.exe %1 /interactive mshta.exe "file://%~f0?%*"
  @exit /b
  '>
  <script>resizeTo(320, 240);var arg=location.search.substr(1).split(//g);
  document.title=arg[0];</script>
  <hta:application innerborder="no" scroll="no" selection="no"/>
  <style>body{background-color:#00f;color:#00f;
  font-family:'HG PGothicE';text-align:center;font-size:0px;}
  div{position:relative;color:#fff;font-size:24pt;}</style>
  <body onload="text.style.top=(108-20*arg.length)+'px';">
  <div id="text"><script>document.write(arg.slice(1).join('<br>'));</script>

  242 :デフォルトの名無しさん:2009/09/13(日) 04:20:02
  メッセンジャーサービスが動いている前提なら, net send  %computername%で自分自身にメッセージ送るのがお手軽じゃけん.

  243 :デフォルトの名無しさん:2009/09/14(月) 23:44:49
  forでdelims=に羅列した文字を区切り文字にしますが,
  eol=に羅列して複数文字を無視判定文字にすることはできないのですか?

  244 :デフォルトの名無しさん:2009/09/15(火) 01:08:00
  for /f "eol=b" %y in ('for /f "eol=a" %x in ( ) doecho %x') do echo %y

  245 :デフォルトの名無しさん:2009/09/15(火) 14:43:45
  delimS Sがあるだろ?
  eolS? Sがないだろ?

  246 :デフォルトの名無しさん:2009/09/15(火) 23:53:36
  はい.

  247 :デフォルトの名無しさん:2009/09/19(土) 00:49:53
  forで"delims="で区切り文字をなしにしますが,
  "eol="で無視判定文字をなしにすることはできないのですか?

  248 :デフォルトの名無しさん:2009/09/20(日) 21:46:12
  はい.

  249 :デフォルトの名無しさん:2009/09/23(水) 21:47:14
  >>241 がうまく動かない. 青い小さなウィンドウが開くだけ.

  250 :デフォルトの名無しさん:2009/09/23(水) 22:19:23
  >>249
  >>215のように.
  **.bat 16:00 テレビの時間.
  のように起動してる?

  251 :デフォルトの名無しさん:2009/09/23(水) 22:41:54
  ?

  252 :デフォルトの名無しさん:2009/09/24(木) 00:04:16
  サーバにあるファイルを, こちらにあるファイルと取り替えたいのですが,
  どうすれば可能でしょうか. 一応, 作ってみましたが, うまく動作してくれません.
  サーバ格納先などのパスがわからないので, とりあえず自分のパソコン内で移動させようとしてます.
  CD C:\severkakunou
  SK01.bmp
  CD C:\hozonsaki
  set /p INP="1:通常用, 2:緊急用"
  if INP == 1
  del /p C:\severkakunou>SK01.bmp
  C:\hozonsaki>copy SK01_00.bmp C:\severkakunou
  else if INP == 2
  del /p C:\severkakunou>SK01.bmp
  C:\hozonsaki>copy SK02_01.bmp C:\severkakunou
  else echo 入力できるのは「1」か「2」のみです.

  253 :デフォルトの名無しさん:2009/09/24(木) 00:08:59
  JOKEだとしても, 面白くないよ.

  254 :デフォルトの名無しさん:2009/09/24(木) 12:15:28
  <〜〜〜>(id="〜〜〜-XXX-〜〜")
    <name>〜〜〜</name>
    <file = "〜〜〜〜〜"/>
  </〜〜〜>

  255 :デフォルトの名無しさん:2009/09/24(木) 12:17:26
  >>251>>254
  何か言え.

  256 :デフォルトの名無しさん:2009/09/25(金) 00:47:07
  やま.

  257 :デフォルトの名無しさん:2009/09/25(金) 08:11:41
  だでんき.

  258 :デフォルトの名無しさん:2009/09/26(土) 10:32:02
  べす.

  259 :デフォルトの名無しさん:2009/09/29(火) 01:12:38
  シェルをバッチファイルへ置き換えてるんだが,
  シェルのchmod 644  とか  trap  とか  kill-HUP  とか  limitは.
  バッチでも処理可能ですか?

  260 :デフォルトの名無しさん:2009/09/29(火) 01:24:50
  どうぞ,
  chmod.exe
  trap.exe
  kill.exe
  limit.exe

  261 :デフォルトの名無しさん:2009/09/29(火) 03:38:41
  >>259が言うシェルって何シェルの事なんだろう?

  262 :デフォルトの名無しさん:2009/09/29(火) 11:45:52
  >>261
  CSHだと思ってたんだが, 拡張子がないから分からない・・・.
  すんません.

  263 :デフォルトの名無しさん:2009/09/29(火) 11:49:24
  つーか, Windowsでlimitだとか再現する意味があるのかね.

  264 :デフォルトの名無しさん:2009/09/29(火) 15:57:53
  windowsでkill -HUPってなんだ?

  265 :デフォルトの名無しさん:2009/09/29(火) 19:16:39
  アプリケーションのGUIを操作するコマンドってあるのでしょうか?

  266 :デフォルトの名無しさん:2009/09/29(火) 20:50:47
  cscript.exe
  mshta.exe

  267 :デフォルトの名無しさん:2009/09/29(火) 22:23:04
  >GUIを操作.
  WScript.Shell#SendKeysみたいなもんの事?それとも>>266?

  268 :デフォルトの名無しさん:2009/09/29(火) 22:37:30
  AppActivate.exe
  SendKeys.exe

  269 :デフォルトの名無しさん:2009/09/29(火) 23:46:35
  バイナリで特定のアドレスだけでよいので変更するバッチはないですかね?

  270 :デフォルトの名無しさん:2009/09/29(火) 23:55:04
  なんて, 説明したらよいのか, アプリをバッチファイルから起動したいのですが.
  TsSplitterというソフトなんですが, コマンドラインからも使えるのですが, なぜか処理がうまくいかなくて.
  GUIのものですとうまく起動するんです.
  バッチファイルで起動まではできるのですが, そのあとの詳しい設定は前回履歴がのこっているので,
  問題ありませんが, 実行ボタンを手動で決定しなければなりません.
  それをどうか自動処理できないかと四苦八苦している状態です.
  お手数おかけしますが, もし可能であればお教えいただけるとありがたいです.

  271 :デフォルトの名無しさん:2009/09/30(水) 01:47:47
  >>270
  UWSCとか.
  http://www.uwsc.info/

  272 :デフォルトの名無しさん:2009/09/30(水) 09:35:28
  >>269
  それをバッチでやる理由は? 普通はバイナリエディタなりパッチツールを使うか, 専用のパッチツールを作ると思うのだけど.

  273 :デフォルトの名無しさん:2009/09/30(水) 12:27:16
  debug

  274 :デフォルトの名無しさん:2009/09/30(水) 14:10:22
  >266
  >267
  できれば, >270のようにしたいと考えていますので.
  実行ボタンさえおせればいいのですが, , , どう組み込めばいいのでしょうか?
  >271  少し私には理解できませんでした.
  すいません. ありがとうございました.

  275 :デフォルトの名無しさん:2009/09/30(水) 14:20:38
  実行ボタンくらい自分で押せばいいじゃん.

  276 :デフォルトの名無しさん:2009/09/30(水) 14:26:32
  ぐぐりにいったら「他のキーワード」で「tssplitter バッチファイル」を提示された.
  ちゃんと見てないが, 色々バッチファイルを作っている人もいそうなのだけど, 見てみたのかな?

  277 :デフォルトの名無しさん:2009/09/30(水) 14:37:54
  なにこいつ.

  278 :デフォルトの名無しさん:2009/09/30(水) 17:35:21
  >275それをいたっら, , , (笑)
  >276
  そちらはコマンドラインから動くものなので,
  GUIのものを動かしたく考えておりますので, またすこし違うんです. . . .

  279 :デフォルトの名無しさん:2009/09/30(水) 18:07:50
  > >271  少し私には理解できませんでした.
  この手の人にはいくら回答付けても無駄だよ.
  いくら的確な回答でも「理解できない」で終わり.
  私努力する気無いから私の知ってるやりかたで教えてね(はあと.

  280 :デフォルトの名無しさん:2009/09/30(水) 20:19:22
  >>278
  まずキーボード操作だけでその「実行」ボタンとやらを押す手順を考えるんだ.
  大抵のGUIアプリならショートカットキーとかタブキーとか使えばできるだろ.
  そしたらそれをVBScriptのWScript.Shell#SendKeys関数で再現すればよい.
  WScript.Shell#SendKeys関数の使い方はぐぐってもよし, やふってもよし.
  ・・・お前の次の台詞は「少し私には理解できませんでした」と言う・・・.

  281 :デフォルトの名無しさん:2009/10/01(木) 20:29:11
  初歩的な質問ですいません.
  ファイル名を変更するバッチを作りたいんですが.
  ren *.bat_old.bat *_old.bat
  で変更が出来ませんでした.
  どなたか教えて頂けませんか.

  282 :デフォルトの名無しさん:2009/10/01(木) 23:25:34
  できてるだろ?
  ただ, そのコマンドラインは同じ名前に変えろと言ってるように見えるが?
  なので変わらない.

  283 :デフォルトの名無しさん:2009/10/02(金) 01:13:48
  .bat_old.bat の左がxなら.
  ren *x.bat_old.bat *x_old.bat
  でいくよ.

  284 :デフォルトの名無しさん:2009/10/02(金) 01:55:04
  ren ?.bat_old.bat ?_old.bat
  ren ??.bat_old.bat ??_old.bat
  ren ???.bat_old.bat ???_old.bat
  ren ????.bat_old.bat ????_old.bat
  ...

  285 :デフォルトの名無しさん:2009/10/02(金) 07:53:29
  >>283
  ありがとうございます.
  ただワイルドカードで指定してる部分は長さや文字が全てが不定になっています;
  Start.bat_old.bat=>Start_old.bat
  Stop.bat_old.bat=>Stop_old.bat
  という風に変えたいのですが.
  ren *.bat_old.bat *_old.bat
  では結果は.
  Start.bat_old.bat=>Start.bat_old.bat
  Stop.bat_old.bat=>Stop.bat_old.bat
  のままでした.
  例えば元のファイル名から真ん中の.batのみを削除する方法や.
  ワイルドカード指定してる所を変数に入れて処理する方法があれば教えていただきたいです.

  286 :デフォルトの名無しさん:2009/10/02(金) 10:29:38
  ren *.bat_old.bat *.|for /f "delims=" %i in ('dir /b *.bat_old')do ren "%i"
  "%~ni_old.bat"
  こんな感じ?

  287 :デフォルトの名無しさん:2009/10/02(金) 14:27:06
  for文変数のコピーは可能ですか?
  下のようにしましたが動きませんでした.
  for %%i in (*.txt) do (
  set k=%%i
  echo %k%
  )

  288 :デフォルトの名無しさん:2009/10/02(金) 15:24:44
  またこの質問か.

  289 :デフォルトの名無しさん:2009/10/02(金) 15:55:01
  ren *.bat *_old.bat
  とやってしまって, 戻そうとしてんだろ?
  やれやれだ.
  3段階で戻すんだな.
  ren *.bat_old.bat *.
  ren *.bat_old *.
  ren *. *_old.bat

  290 :デフォルトの名無しさん:2009/10/02(金) 18:58:25
  >>288
  新入りなんだから, そんなこと言わずに歓迎してやれよ.

  291 :デフォルトの名無しさん:2009/10/02(金) 20:56:00
  ren *.bat *_old.bat
  は.
  ren *.bat *.
  ren *. *_old.bat
  とやればよかったのに.

  292 :デフォルトの名無しさん:2009/10/02(金) 20:57:03
  >>287
  ウェルかめ.

  293 :デフォルトの名無しさん:2009/10/03(土) 12:05:19
  おまいら答もかいてやれよ.
  >>287
  echoの行は遅延展開が必要. 詳しくはset /? とかを参照.
  setlocal EnableDelayedExpansion
  for %%i in 略.
  set k=%%i
  echo !k!

  294 :デフォルトの名無しさん:2009/10/03(土) 12:13:22
  >>293
  a!.txt
  がどうなるか知ってるのか?

  295 :デフォルトの名無しさん:2009/10/03(土) 12:24:47
  >>294
  これって解決方法あんの?

  296 :デフォルトの名無しさん:2009/10/03(土) 12:42:09
  >>295
  遅延変数展開を禁止して.
  サブルーチンでは変数が毎回評価されるのを利用するとか.
  setlocal DisableDelayedExpansion
  for %%i in (*.txt) do call :foo %%i
  goto :EOF
  :foo
  set k=%1
  echo %k%
  goto :EOF

  297 :デフォルトの名無しさん:2009/10/03(土) 18:46:01
  for %%i in (*.txt) do (
  set k=%%i
  setlocal EnableDelayedExpansion
  echo !k!
  endlocal
  )

  298 :デフォルトの名無しさん:2009/10/04(日) 13:59:14
  for %%i in (*.txt) do (
  set k=%%i
  call echo %%k%%
  )

  299 :デフォルトの名無しさん:2009/10/05(月) 19:13:20
  複数ファイルの結合についてご意見を・・・.
  結合先の名前にアンダーバーを使いたいのですがうまくいきません.
  ファイルの場所がc:\movie\123abc\
  元ファイル「123_01.mpg」「123_002.mpg」
  結合後のファイル名「123_100.mpg」
  バッチフィル名「copy.bat」
  として, ファイル名の前半はディレクトリ名の一部を使うので.
  set fullpath=%0
  set number=%fullpath:~-16, 3%
  <-フルパスから16文字さかのぼって3文字とると「123」になります.
  copy /B *01.mpg+*02.mpg %number%_100.mpg
  のようにしましたが, うまくいきません.
  アンダーバーをハイフンにすると「123-100.mpg」というのが出てきます(うまくいく)
  たぶんアンダーバーが使えないんだと思い, ハイフンで作ってからリネームをしようと思ったのですが.
  ren %number%-100.mpg %number%_100.mpg
  これを入れてもだめでした. どうしたらいいんでしょう?

  300 :デフォルトの名無しさん:2009/10/05(月) 19:19:30
  すみません誤字が多かったので少し訂正します・・・.
  バッチファイル  C:\movie\123abc\copy.bat
  元ファイル1  C:\movie\123abc\123_01.mpg
  元ファイル2  C:\movie\123abc\123_02.mpg
  結合後  C:\movie\123abc\123_100.mpg
  やりたいのは以上です.

  301 :デフォルトの名無しさん:2009/10/05(月) 19:24:22
  何の根拠もないてきとーレス.
  "で括ってみたら?

  302 :デフォルトの名無しさん:2009/10/05(月) 20:51:17
  すみません誤字が多かったので少し訂正します・・・.
  バッチファイル  C:\movie\123abc\copy.bat
  元ファイル1  C:\movie\123abc\123_01.mpg
  元ファイル2  C:\movie\123abc\123_02.mpg
  結合後  C:\movie\123abc\123_100.mpg
  やりたいのは以上です.

  303 :デフォルトの名無しさん:2009/10/05(月) 21:00:06
  たぶんアンダーバーが使えない.

  304 :デフォルトの名無しさん:2009/10/05(月) 21:10:23
  アンダーバーをハイフンにするとうまくいくよ.

  305 :デフォルトの名無しさん:2009/10/05(月) 23:14:15
  どういうこと?

  306 :デフォルトの名無しさん:2009/10/06(火) 02:52:35
  %0 にフルパスがはいらないこと以外はうまくいく.
  つーかそのパスなら -15, 3 じゃないの.

  307 :デフォルトの名無しさん:2009/10/06(火) 03:20:23
  ダブルクリック前提?

  308 :デフォルトの名無しさん:2009/10/06(火) 10:44:20
  フルパスは%~f0だしディレクトリ名欲しいだけなら%~n0でいいんじゃ.

  309 :デフォルトの名無しさん:2009/10/06(火) 11:15:16
  いろいろどうもです. 始めたばかりで変数の取り方もちょっとしか知りません.
  とりあえずアンダーバーは使えないと思って進めます. ""でくくっても""が付くだけでした.
  %0と%~f0のどちらもいけます, 中身はちょっと違いますが似てるのでOKです.
  %~n0はバッチファイルの名前が出てきてしまったので目的とは違いました.
  単にbatファイルのあるディレクトリの最初3文字を使って.
  同じディレクトリにあるファイルを結合させたいだけなんですが・・・.

  310 :デフォルトの名無しさん:2009/10/06(火) 12:03:29
  >>309
  ああすまん, %~n0は完全に私の勘違いでした.

  311 :デフォルトの名無しさん:2009/10/06(火) 14:13:42
  なんでアンダーバーが使えないんだ?

  312 :デフォルトの名無しさん:2009/10/06(火) 14:34:57
  copy a+b c_d
  使えるけど?

  313 :デフォルトの名無しさん:2009/10/06(火) 15:11:01
  そもそもcopyコマンドでどんなエラーが出たか書いてない時点で・・・.
  「うまくいきません」とだけ言われてもね・・・.

  314 :デフォルトの名無しさん:2009/10/06(火) 15:54:22
  シンボリックリンクのリンク切れを判定して削除するバッチ希望.

  315 :デフォルトの名無しさん:2009/10/06(火) 21:16:55
  シェルのショートカットのこといってんの?
  バッチよりVBSのほうが早いな.

  316 :デフォルトの名無しさん:2009/10/06(火) 22:02:17
  Vistaや7には, ショートカットでは無いシンボリックリンクが正式に存在するんだぜ.
  もっとも, それ以前から微妙に存在してたけどな.

  317 :デフォルトの名無しさん:2009/10/07(水) 00:55:57
  >>299
  >バッチフィル名「copy.bat」
  これは・・・.

  318 :デフォルトの名無しさん:2009/10/07(水) 01:38:29
  だから何だ? 現象を説明できるのか?

  319 :デフォルトの名無しさん:2009/10/07(水) 01:44:32
  copy.bat祭りが始まったと聞いてやって来ますた.

  320 :デフォルトの名無しさん:2009/10/07(水) 01:50:51
  まユニークな名前を付けるべきではある.

  321 :デフォルトの名無しさん:2009/10/07(水) 01:57:53
  短いファイル名を付けないようにすると %~snxI はどうなる?

  322 :デフォルトの名無しさん:2009/10/09(金) 19:22:07
  フォルダのシンボリックリンクとジャンクションの違いが分らん.

  323 :デフォルトの名無しさん:2009/10/11(日) 16:13:36
  ユーザの下にジャンクションがあるが, ダブルクリックするとアクセスエラー.
  なんのためにあるんだ?

  324 :デフォルトの名無しさん:2009/10/11(日) 17:37:25
  ダブルクリックするとアクセスエラーになるのがジャンクション.
  ならないのがシンボリックリンクだにゃ.
  つまり, エクスプローラに見せたいか, 見せたくないかだにゃ.

  325 :デフォルトの名無しさん:2009/10/12(月) 22:40:21
  >>317
  通常のdosコマンドだったら大丈夫だったはず.
  regとかfindstrとかはアウトだけど.

  326 :デフォルトの名無しさん:2009/10/13(火) 00:57:21
  pingが通るか通らないかで分岐したいんですが.
  どうすればよいでしょうか?

  327 :デフォルトの名無しさん:2009/10/13(火) 01:02:45
  最近のWindowsに付属のものならErrorLevelで判断できる.

  328 :デフォルトの名無しさん:2009/10/13(火) 01:12:41
  >>325
  同じ名前のコマンドとバッチ, どっちが先に処理されるかって事でしょ.

  329 :デフォルトの名無しさん:2009/10/13(火) 01:13:06
  本当ですね.
  ありがとうございました.

  330 :デフォルトの名無しさん:2009/10/13(火) 21:17:50
  >>328
  だから通常コマンドならこっちがバッチより先.
  copy.batとかmove.batとかは問題なし.

  331 :デフォルトの名無しさん:2009/10/13(火) 21:58:26
  通常じゃないコマンドってなんだよ. w.
  つーかカレントディレクトリにあるもの優先だろが.

  332 :デフォルトの名無しさん:2009/10/13(火) 22:08:53
  C:\>おまいら用語を知らんのか?
  'おまいら用語を知らんのか?' は, 内部コマンドまたは外部コマンド,
  操作可能なプログラムまたはバッチ ファイルとして認識されていません.

  333 :デフォルトの名無しさん:2009/10/13(火) 23:42:37
  用語を知ってるレベルになるとバッチなんか使わない.

  334 :デフォルトの名無しさん:2009/10/14(水) 00:26:04
  >>326
  ping www.google.com && echo succ || echo fail

  335 :デフォルトの名無しさん:2009/10/14(水) 02:45:21
  組み込みコマンドがexeやbatより優先されるのって, なんか慣れない.
  パスで修飾とかできないから, そうせざるを得ないのは理解できるんだけどなあ.

  336 :デフォルトの名無しさん:2009/10/14(水) 04:37:26
  だからぁ優先されないって言ってんじゃん.

  337 :デフォルトの名無しさん:2009/10/14(水) 10:29:23
  内部コマンド>カレントディレクトリの外部コマンド>パス上の外部コマンド.
  の順番だっけ?
  初期からあるコマンドに内部コマンドと外部コマンドが入り交じってるのに.
  順番がこんなんだから解りにくいことになってるな.

  338 :デフォルトの名無しさん:2009/10/14(水) 12:13:20
  ユーザ名の一覧が改行区切りで保存されたファイルがあります.
  バッチを実行したユーザがそのファイルに存在したときのみ.
  それ以降の処理を行うようにしたいのですが,
  どのように書けばよいでしょうか?
  ユーザが存在するかどうかは.
  findstr "name" "\\server\Users.txt" /i /x"
  にて判断できるかと思ったのですが.
  開くことができませんと表示されてしまいます・・・.

  339 :デフォルトの名無しさん:2009/10/14(水) 13:36:24
  >>338
  エラーメッセージに答えでてるじゃん.
  FINDSTR: 開くことができません (/i)
  FINDSTR: 開くことができません (/x)

  340 :デフォルトの名無しさん:2009/10/14(水) 14:44:53
  findstr.exeのプロパティを見てみ.
  元はresource kitのqgrep
  だからシンタクスはunix流.
  findstr -i -x "name" "\\server\Users.txt"
  findstr "name" "\\server\Users.txt" /i /x"
  はdos流.

  341 :デフォルトの名無しさん:2009/10/14(水) 17:02:19
  <全角文字や半角スペース入り> DELAY <数字か-で始まる数字>ms.aac
  ってファイル名から<数字か-で始まる数字>だけを取り出して変数にsetしたいのですけどよい方法はありますか?
  DELAYの前に半角スペースが入ることもあるのでfor /fのdelims= では駄目でした.

  342 :デフォルトの名無しさん:2009/10/14(水) 17:04:26
  途中で送信.

  343 :デフォルトの名無しさん:2009/10/14(水) 18:19:33
  echo %hoge:*DELAY=%

  344 :デフォルトの名無しさん:2009/10/14(水) 20:08:15
  >>343
  ありがとうございます.
  前後を置換して取り出せました.

  345 :デフォルトの名無しさん:2009/10/15(木) 14:12:52
  ドライブの空き領域のみを表示させるにはどうすればよいでしょうか?

  346 :デフォルトの名無しさん:2009/10/15(木) 15:21:35
  for /f "skip=9 tokens=3" %%i in ('dir /-c c:\') do (@set a=%%i)
  for /f "skip=2 tokens=2 delims=:" %i in ('fsutil volume diskfreec:') do @echo
  %i

  347 :デフォルトの名無しさん:2009/10/15(木) 18:44:57
  @if "%~d1"=="" %~f0 %CD%
  @mshta.exe "javascript:with(new
  ActiveXObject('Scripting.FileSystemObject')){try{GetStandardStream(1).Write(GetDrive('%~d1').FreeSpace);}catch(e){}}close();"|
  more

  348 :デフォルトの名無しさん:2009/10/15(木) 18:51:40
  wmic logicaldisk c: get freespace

  349 :デフォルトの名無しさん:2009/10/15(木) 19:08:46
  77F91AB1 mov eax, ecx
  77F91AB3 mov ecx, dword ptr [ebp-10h]
  77F91AB6 mov dword ptr fs:[0], ecx
  77F91ABD pop edi
  77F91ABE pop esi
  77F91ABF pop ebx
  77F91AC0 leave
  77F91AC1 ret
  77F91AC2 push ebp
  77F91AC3 mov ebp, esp
  77F91AC5 sub esp, 258h
  77F91ACB lea eax, [ebp+0Ch]
  77F91ACE push eax
  77F91ACF lea eax, [ebp-258h]
  77F91AD5 push dword ptr [ebp+8]
  77F91AD8 push 200h
  77F91ADD push eax

  350 :デフォルトの名無しさん:2009/10/21(水) 18:22:39
  ロボコップがコマンドコムの読み込み後にバイオスをロードしました.

  351 :デフォルトの名無しさん:2009/10/21(水) 18:35:42
  romは遅いからramにコピーするんですね. 普通です.

  352 :デフォルトの名無しさん:2009/10/21(水) 19:30:22
  rem

  353 :デフォルトの名無しさん:2009/10/22(木) 10:47:15
  コマプロからftpでunixにデータアップすると日付時間がかわる・・・.
  変えずにアップする方法ないかな・・・.
  バッチ内部に組み込み途中で挫折した.
  固めてアップとか3rdPT製アプリ使用jはナシの方向で解決策ないかねぇ・・・.
  ないか・・・.

  354 :デフォルトの名無しさん:2009/10/22(木) 10:55:58
  >>353
  フリーのftpクライアントと同じ戦略でいいじゃん.
  あれは, サーバにアップロードした後シェル実行でタイムスタンプを強制しているだけなんだから.

  355 :デフォルトの名無しさん:2009/10/22(木) 11:24:00
  コマプロ. w.

  356 :デフォルトの名無しさん:2009/10/22(木) 11:37:21
  メインフレーム業界に居る俺はコマプロと聞くとプロシージャのほうを連想してしまう・・・.

  357 :デフォルトの名無しさん:2009/10/22(木) 17:23:40
  #define ClearFileTime(fileTime) \
  (fileTime).dwLowDateTime = 0; \
  (fileTime).dwHighDateTime = 0;
  #define ClearFindDataFields(lpFind) \
  ClearFileTime((lpFind)->ftCreationTime); \
  ClearFileTime((lpFind)->ftLastAccessTime); \
  (lpFind)->dwReserved0 = 0; \
  (lpFind)->dwReserved1 = 0; \
  (lpFind)->cAlternateFileName[0] = '\0';
  ftLastModTime.dwLowDateTime =
  ftLastModTime.dwHighDateTime = 0;
  ftExpiryTime.dwLowDateTime =
  ftExpiryTime.dwHighDateTime = 0;
  ftPostCheck.dwLowDateTime =
  ftPostCheck.dwHighDateTime = 0;
  pfdW->dwFileAttributes = pfdA->dwFileAttributes;
  pfdW->ftCreationTime = pfdA->ftCreationTime;
  pfdW->ftLastAccessTime = pfdA->ftLastAccessTime;
  pfdW->ftLastWriteTime = pfdA->ftLastWriteTime;
  pfdW->nFileSizeHigh = pfdA->nFileSizeHigh;
  pfdW->nFileSizeLow = pfdA->nFileSizeLow;
  pfdW->dwReserved0 = pfdA->dwReserved0;
  pfdW->dwReserved1 = pfdA->dwReserved1;

  358 :デフォルトの名無しさん:2009/10/22(木) 18:09:56
  >>353
  folder.copyhere
  folderitem.modifydate
  でだめか?

  359 :デフォルトの名無しさん:2009/10/22(木) 19:28:35
  >354->358
  これから夜勤. 仕事先のでためしてみるわ.
  ありがとう.

  360 :デフォルトの名無しさん:2009/10/28(水) 22:21:25
  > dir /s /b xxx
  ファイルが見つかりません.
  このエラーメッセージを出さなくするのってどうやるの?
  事前にあるかどうかをチェックするというのはなしで.

  361 :デフォルトの名無しさん:2009/10/28(水) 22:37:24
  dir /s /b xxx 2>nul

  362 :デフォルトの名無しさん:2009/10/28(水) 23:01:40
  const TCHAR CH_NUL = TEXT('\0');
  const TCHAR CH_ZERO = TEXT('0');
  const INT MAX_EDIT_TEXT = 16;
  const INT MAX_CMB_TEXT = 10;
  const INT64 MAX_VALUE = ((1i64 << 60) * 6i64);
  const INT64 MIN_VALUE = 1024i64;
  DBGASSERT((IDS_ORDERMB == IDS_ORDERKB + 1));
  DBGASSERT((IDS_ORDERGB == IDS_ORDERKB + 2));
  DBGASSERT((IDS_ORDERTB == IDS_ORDERKB + 3));
  DBGASSERT((IDS_ORDERPB == IDS_ORDERKB + 4));
  DBGASSERT((IDS_ORDEREB == IDS_ORDERKB + 5));
  INT64 Value = 0;
  INT64 Decimal = 0;
  INT xbOrder = e_Byte;
  DWORD dwWholePart = 0;
  DWORD dwFracPart = 0;
  INT Order = XBytes::e_Byte;

  363 :デフォルトの名無しさん:2009/10/28(水) 23:08:33
  li r12, 1
  slwi r12, r12, n
  lwz r11, offsetof_Mask(r3)
  and r11, r11, r12
  cmpli 1, 0, r11, 0
  bc 12, 6, Obj##n
  addi r3, r3, 8
  addi r3, r3, 12
  li r12, n
  rlwinm r12, r12, 2, 0, 31-2
  lwz r11, 0x4(r3)
  lwzx r11, r12, r11
  lwz r3, 0(r3)
  lwz r2, 4(r11)
  lwz r11, 0(r11)
  mtctr r11
  li r12, n
  rlwinm r12, r12, 2, 0, 31-2
  lwz r11, offsetof_apfn(r3)
  lwzx r11, r12, r11
  lwz r3, offsetof_pvObject(r3)
  lwz r2, 4(r11)
  lwz r11, 0(r11)
  mtctr r11

  364 :デフォルトの名無しさん:2009/10/28(水) 23:13:10
  OSはWindows XP HomeのSP3です.
  一般ユーザ(usersグループ)でshutdownコマンドを.
  バッチによる自動実行をしたいのですが,
  OSの仕様で管理者ユーザ(administratorsグループ)からしか実行.
  できません.
  runasコマンドで, 管理者ユーザで実行可能なようですが,
  必ずパスワードを入力しなければならないようです.
  [*] XP Homeの場合はrunasコマンドのオプションによるパス.
  ワード登録?も出来ないみたいです.
  パスワード入力なしで,
  一般ユーザからshutdownコマンドをバッチで実行する方法はありま.
  すか?

  365 :デフォルトの名無しさん:2009/10/28(水) 23:20:56
  case PowerActionNone:
  uiActionId = IDS_NOACTION;
  break;
  case PowerActionSleep:
  uiActionId = IDS_STANDBY;
  break;
  case PowerActionHibernate:
  uiActionId = IDS_HIBERNATE;
  break;
  case PowerActionShutdown:
  case PowerActionShutdownReset:
  case PowerActionShutdownOff:
  uiActionId = IDS_POWEROFF;
  break;

  366 :デフォルトの名無しさん:2009/10/28(水) 23:22:56
  GlobalPowerPolicy.user.PowerButtonAc.Action = PowerActionNone;
  GlobalPowerPolicy.user.PowerButtonDc.Action = PowerActionNone;
  GlobalPowerPolicy.user.SleepButtonAc.Action = PowerActionNone;
  GlobalPowerPolicy.user.SleepButtonDc.Action = PowerActionNone;
  GlobalPowerPolicy.user.LidCloseAc.Action = PowerActionNone;
  GlobalPowerPolicy.user.LidCloseDc.Action = PowerActionNone;
  GlobalPowerPolicy.user.GlobalFlags = (ULONG) 0;

  367 :デフォルトの名無しさん:2009/11/01(日) 16:09:33
  bat起動時に, Shiftキーが押されていない場合はA.exe
  押されている場合はB.exeを実行したいのですが,
  キー押下状態の取得がうまくいきません.
  @echo off
        <-ここでShiftキー押下状態の取得したいです.
  IF ERRORLEVEL 1 GOTO SHIFT_KEY
  START "" "D:\My Documents\A.exe"
  GOTO END
  :SHIFT_KEY
  START "" "D:\My Documents\B.exe"
  :END
  ご存知の方教えてください.

  368 :デフォルトの名無しさん:2009/11/01(日) 16:27:25
  >>367
  > キー押下状態の取得がうまくいきません.
  何をやってうまく行かないのかを, まず書いてくれ.
  OSその他の環境情報もだ.
  本当は「キー押下状態の取得方法が分かりません」じゃないのか?

  369 :デフォルトの名無しさん:2009/11/01(日) 16:45:31
  わからないやつは黙ってろ.

  370 :デフォルトの名無しさん:2009/11/01(日) 17:42:07
  標準のコマンドのみでは無理.
  DOS用だとbatuyとかあったけどWin用はしらん.

  371 :デフォルトの名無しさん:2009/11/01(日) 18:04:08
  http://www.page.sannet.ne.jp/mtoga/etc/dos/bih-g_d2.htm
  キー入力による分岐  ERRORLEVEL
  ここらへん使えば出来そうかなぁと.
  WinXPです.

  372 :デフォルトの名無しさん:2009/11/01(日) 18:35:42
  一から勉強して出直して来い.

  373 :デフォルトの名無しさん:2009/11/01(日) 18:40:31
  三くらいからで勘弁してください.

  374 :デフォルトの名無しさん:2009/11/01(日) 18:47:17
  .NET Framework 2.0がインストールされてるなら.
  以下をCheckShiftKey.jsのような名前を付けて保存し,
  コマンドプロンプトで.
  %SystemRoot%\Microsoft.NET\Framework\v2.0.50727\jsc.exe CheckShiftKey.js
  を実行してCheckShiftKey.exeを作ればよい.
  // CheckShiftKey.js
  import Accessibility;
  import System;
  import System.Drawing;
  import System.Windows.Forms;
  if (Control.ModifierKeys & Keys.Shift)
    Environment.Exit(1);

  375 :デフォルトの名無しさん:2009/11/01(日) 22:04:39
  >>374
  import Accessibility;
  import System.Drawing;
  import System.Windows.Forms;
  import System.Diagnostics;
  if (Control.ModifierKeys & Keys.Shift) {
  Process.Start("D:\\My Documents\\A.exe");
  } else {
  Process.Start("D:\\My Documents\\B.exe");
  }
  うまく出来ました. ありがとうございました. スレ違い失礼しました.

  376 :デフォルトの名無しさん:2009/11/02(月) 23:17:03
  >>370 標準のコマンドのみでは無理.
  そんなことはなかろう.

  377 :デフォルトの名無しさん:2009/11/03(火) 07:38:47
  どうやるの?

  378 :デフォルトの名無しさん:2009/11/03(火) 08:12:03
  すまん勘違いだった.

  379 :デフォルトの名無しさん:2009/11/03(火) 14:39:20
  せっかく解決済みなんだからほっとこーよ.

  380 :デフォルトの名無しさん:2009/11/03(火) 15:31:38
  すまん余計なお世話だった.

  381 :デフォルトの名無しさん:2009/11/03(火) 16:08:05
  >>364
  タスクスケジューラを使えばできるよ.

  382 :デフォルトの名無しさん:2009/11/03(火) 17:04:12
  質問してもよろしかったでしょうか?
  バッチで標準入力がリダイレトされているか判定できましたでしょうか?

  383 :デフォルトの名無しさん:2009/11/03(火) 20:00:57
  はい.

  384 :デフォルトの名無しさん:2009/11/03(火) 22:39:51
  foo.bat | bar.bar > baz.txt
  で.
  foo, barが> baz.txtされてるかどうかを検出, 分岐するってことなら無理だろ.

  385 :デフォルトの名無しさん:2009/11/04(水) 00:21:16
  >標準出力の話じゃないだろ.

  386 :デフォルトの名無しさん:2009/11/04(水) 14:50:20
  foo.bat | bar.bar > baz.txt
  は知らんが.
  foo.bat > baz.txt
  や.
  foo.bat | bar.bat
  なら可能だろ.

  387 :デフォルトの名無しさん:2009/11/04(水) 15:25:48
  >質問してもよろしかったでしょうか?
  過去に遡って質問するわけじゃないのだから, 過去について聞くことは無意味だと思うのだが.

  388 :デフォルトの名無しさん:2009/11/04(水) 15:36:16
  過去から現在に渡ってよろしいことになっていたかどうかを聞いているので.
  問題なかろう.

  389 :デフォルトの名無しさん:2009/11/04(水) 20:10:06
  >質問してもよろしかったでしょうか?
  という質問をした時点で, その質問は過去の事象で, その可否を聞いているのだろう.

  390 :デフォルトの名無しさん:2009/11/04(水) 20:20:16
  うざ.

  391 :デフォルトの名無しさん:2009/11/04(水) 21:04:37
  メモ帳(memo.exe)でテキストファイルを開くコマンドを書いたのだが,
  バッチを実行するとメモ帳は開くがプロンプトが閉じない.
  メモ帳を開いた時点でプロンプトを閉じるにはどうすればよい?
  以下バッチの内容.
  ----------------------------------------
  C:\Program 〜省略〜  \memo.exe test.txt
  EXIT
  ----------------------------------------

  392 :デフォルトの名無しさん:2009/11/04(水) 21:08:18
  のだが,
  またお前か.

  393 :デフォルトの名無しさん:2009/11/04(水) 21:10:09
  start

  394 :デフォルトの名無しさん:2009/11/04(水) 21:16:20
  >>393
  ありがとう.
  無事できました.

  395 :デフォルトの名無しさん:2009/11/04(水) 22:04:18
  うざ.

  396 :デフォルトの名無しさん:2009/11/05(木) 17:02:11
  >>393
  start バッチ.
  とやってみたのだが, 閉じない.

  397 :デフォルトの名無しさん:2009/11/11(水) 19:06:13
  test1
  test2
  test3
  test4
  という文字の入ったtest.txtがあるとします.
  バッチファイルからピンポイントで二行目(test2)を引き出して変数とおくにはどうしたらよいでしょうか?
  for /f "skip=1" %%a in (test.txt) do set hensuu=%%a
  を使っても,
  hensuu=test2
  hensuu=test3
  hensuu=test4
  となってしまい結局変数はtest4になってしまいます.
  どなたか教えてください.

  398 :デフォルトの名無しさん:2009/11/11(水) 21:05:24
  setlocal enableextensions enabledelayedexpansion
  set hensuu=
  for /f "skip=1" %%a in (test.txt) do if "!hensuu!"==""set hensuu=%%a

  399 :デフォルトの名無しさん:2009/11/12(木) 00:20:18
  >>398
  ありがとうございます!できました!
  enableextensionsでコマンド拡張機能を有効にしたからできるようになったってことですか?
  コマンド追ってググったりしてもこの文でなぜできるのか理解できないです.

  400 :デフォルトの名無しさん:2009/11/12(木) 03:09:59
  enabledelayedexpansionで遅延展開を有効にしたから.
  forの中でsetした変数(hensuu)が参照できるようになっている.
  遅延展開が無効だと.
  if "%hensuu%"=="" の部分がfor実行段階で if ""==""になって常に真ということになる.

  401 :デフォルトの名無しさん:2009/11/12(木) 11:32:45
  >>400
  遅延展開を有効にすることでhensuu=test2にその時点でなるから,
  if "%hensuu%"=="" には引っかからずにその時点でforを終了させられるという事ですね.
  遅延展開についてよく理解できました.
  わかりやすいレスありがとうございます.

  402 :デフォルトの名無しさん:2009/11/12(木) 14:18:58
  forが終了するわけじゃない.
  hensuu=test2となった以降はifが偽になるため何も実行されずにループする.
  test.txtの残りが凄く長ければそれだけ終了時間は伸びる.

  403 :デフォルトの名無しさん:2009/11/12(木) 18:50:55
  >>402
  てことは.
  test3は偽, よって実行なし.
  test4は偽, よって実行なし.
  ・.
  ・.
  ・.
  って感じに最後の行になるまでされるわけですか.
  だとしたら500行のtest.txtだとこれが500行分されるんですね・・・.
  やっと完全に理解できました. ありがとうございます.

  404 :デフォルトの名無しさん:2009/11/13(金) 22:26:52
  そんな無駄なことせんでも.

  405 :デフォルトの名無しさん:2009/11/13(金) 22:28:31
  for /f "skip=1" %%a in (test.txt) do set hensuu=%%a&gotox
  :x

  406 :デフォルトの名無しさん:2009/11/14(土) 00:03:56
  遅延展開使わんでも.
  set hensuu=
  for /f "skip=1" %%a in (test.txt) do if not defined hensuu sethensuu=%%a

  407 :デフォルトの名無しさん:2009/11/15(日) 18:09:51
  if 条件A or 条件B (
  処理1
  ) else (
  処理2
  )
  ここで「条件A or 条件B」と言う構文はバッチファイルでは使えないんでしたっけ?

  408 :デフォルトの名無しさん:2009/11/15(日) 18:25:03
  if/?

  409 :デフォルトの名無しさん:2009/11/15(日) 21:19:54
  >>408
  解決しました. ありがとうございます.

  410 :デフォルトの名無しさん:2009/11/16(月) 13:00:34
  set or=
  if 条件A set or=true
  if 条件B set or=true
  if defined or (
  処理1
  ) else (
  処理2
  )

  411 :デフォルトの名無しさん:2009/11/17(火) 17:10:49
  more|notepad /dev/stdin
  みたいなことはできないのですか?

  412 :デフォルトの名無しさん:2009/11/17(火) 23:16:31
  echoで2段階にファイル書き出しをしたいのですが, うまくできません.
  echo echo start "" コマンド.bat "引数" >B.bat >>A.bat
  上記コマンドを実行して, まずA.batに.
  echo start "" コマンド.bat "引数" >B.bat
  を書き出し, その作成したA.batを実行しB.batに.
  start "" コマンド.bat "引数"
  ができるようにしたいのですが, 実際には最初のコマンドを実行したところでA.batに.
  echo start "" コマンド.bat "引数"
  のように, >B.batが抜けた状態で作成されます.
  何かいい方法は無いでしょうか. ご教示お願いいたします.

  413 :デフォルトの名無しさん:2009/11/17(火) 23:40:05
  こんな感じか?
  echo echo start "" コマンド.bat "引数" ^>B.bat >A.bat

  414 :デフォルトの名無しさん:2009/11/18(水) 01:08:33
  >>413
  当方412ではありませんが, 感動しました.
  ^>を使えばそういう事ができるんですね.
  差し支えなければ, ^のしくみを教えていただけないでしょうか?

  415 :デフォルトの名無しさん:2009/11/18(水) 01:19:52

  416 :デフォルトの名無しさん:2009/11/18(水) 11:42:53
  >>414
  単なるエスケープ文字.

  417 :デフォルトの名無しさん:2009/11/18(水) 17:30:23
  ^^は^をエスケープしてるので.
  echo (^^)
  は.
  (^)
  となる.

  418 :412:2009/11/18(水) 20:00:18
  >>413
  レス遅くなって申し訳ないです. ありがとうございました!
  ばっちり希望どおりの動作をしてくれるようになりました!
  >>416>>417
  仕組みがよくわかってなかったので勉強になりました.
  みなさんどうもありがとうございました.

  419 :デフォルトの名無しさん:2009/11/19(木) 22:15:12
  bash とかでいうところの``で囲んだ時のような, コマンドの出力結果をコマンドラインオプションに回す文法はありませんか?

  420 :デフォルトの名無しさん:2009/11/19(木) 23:41:46
  for /f "usebackq" %I in (`dir /b`) do echo %I

  421 :デフォルトの名無しさん:2009/11/20(金) 00:28:27
  >>420
  ありがとうございました.

  422 :デフォルトの名無しさん:2009/11/21(土) 01:56:20
  usebackqはコマンド中に「'」を使う必要がある時に「'」の代わりに「`」を使うってオプションだろ?
  for /f %i in ('dir /b') do echo %i
  でいいのに何故わざわざusebackq付けんの?

  423 :デフォルトの名無しさん:2009/11/21(土) 02:15:37
  420じゃないけど常に usebackq 付けるようにした方が面倒な事考えなくて済む.
  http://www.atmarkit.co.jp/fwin2k/operation/command008/command02.html

  424 :デフォルトの名無しさん:2009/11/21(土) 16:02:45
  好みだろ.
  どーでもいー.

  425 :423:2009/11/21(土) 16:20:50
  >>424
  そう, 好み.
  てか昔ハマッたことがあるから, 俺は付ける派.

  426 :デフォルトの名無しさん:2009/11/24(火) 13:26:23
  外部プログラムを起動させるコマンドを実行すると.
  そのアプリが終了するまでbatへ制御が戻らないのですが.
  それを回避することは可能ですか?

  427 :デフォルトの名無しさん:2009/11/24(火) 13:48:22
  startコマンドを使う.

  428 :デフォルトの名無しさん:2009/11/24(火) 16:10:21
  batファイルを分けることなく処理の優先順位を変更する方法があれば教えてください.

  429 :デフォルトの名無しさん:2009/11/24(火) 18:57:10
  startコマンドを使う.

  430 :428:2009/11/24(火) 19:10:35
  >>429
  start /b /low :exec ではうまくいきませんでした.
  どのように記述すればいいのでしょうか?

  431 :デフォルトの名無しさん:2009/11/24(火) 22:29:40
  ところで.
  http://itpro.nikkeibp.co.jp/article/Windows/20051006/222374/
  start /b test.bat
  てどういう意味がある?
  call test.bat
  とは違うの?

  432 :デフォルトの名無しさん:2009/11/25(水) 12:44:00
  ウィンドウ開かないだけで, 別プロセスのcmd.exeが立ち上がる・・・んだと思う.

  433 :デフォルトの名無しさん:2009/11/25(水) 20:20:58
  >>431
  誰が書いたか知らんが, 阿呆が意味も分らず, 最初のオプション使って, 無理矢理, 使用例を作っただけなんだろ.

  434 :デフォルトの名無しさん:2009/11/25(水) 20:25:13
  >>430
  goto %1
  start /low "" %0 :exec

  435 :デフォルトの名無しさん:2009/11/27(金) 16:18:48
  そういやstartって.
  start file
  はokで.
  start "file"
  はngな時があるけどどういう理屈なんだろうか.

  436 :デフォルトの名無しさん:2009/11/27(金) 16:27:01
  理屈って言う程のことはないよ.
  start/?見りゃ自明だろ?

  437 :デフォルトの名無しさん:2009/11/27(金) 16:32:00
  >>430
  wmiのsetpriorityを使え.

  438 :デフォルトの名無しさん:2009/11/27(金) 20:12:44
  そんなこと言っても難しかろ.
  startにしとけ.

  439 :デフォルトの名無しさん:2009/11/29(日) 02:25:00
  data.dat  というファイルがあったとして, これを一日に一回.
  data1129.datみたいに日時をつけてバックアップとして保存していけるようなバッチファイル.
  作れる方いましたら教えてください.
  スタートアップに登録するとして, 同日に一回でも度ってあったらコピーしないという仕様で.

  440 :デフォルトの名無しさん:2009/11/29(日) 03:40:36
  if not exist data%date:/=%.dat copy /b data.dat data%date:/=%.dat

  441 :デフォルトの名無しさん:2009/11/29(日) 13:46:20
  プロンプト文字にerrorlevel出すにはpromptコマンドにどう書けばよい?

  442 :デフォルトの名無しさん:2009/12/02(水) 15:20:51
  これは, 結局バッチスクリプトとは関係ないんですけど, copyコマンドでオプションに.
  /A(テキストモード)を指定しても, BOMありUTF-8のテキストファイルを結合すると.
  ファイルとファイルの間にBOMが残るんです.
  現在はWinXPのコマンドプロンプトでしか試せないんですが, VistaやWin7なら, ちゃん.
  とBOMを外してくれますか?

  443 :デフォルトの名無しさん:2009/12/02(水) 15:40:21
  Vistaでやってみたが, 入ってるね.
  /Aは改行コードしか見ないだろうから仕方がないかも.

  444 :デフォルトの名無しさん:2009/12/02(水) 15:44:42
  あ, 改行とEOFだったかな.

  445 :デフォルトの名無しさん:2009/12/02(水) 19:41:05
  /A ASCII テキスト ファイルとして扱います.
  UTF-8じゃないのに何言ってんだか.

  446 :デフォルトの名無しさん:2009/12/02(水) 19:50:38
  /Aが改行をどうするって?

  447 :デフォルトの名無しさん:2009/12/02(水) 21:49:14
  COPY /8

  448 :デフォルトの名無しさん:2009/12/03(木) 14:30:54
  バッチスクリプトならできるが, 関係ないな.

  449 :442:2009/12/03(木) 18:30:00
  >>443
  Vistaでも駄目ですか, どなたかWin7の状況を教えて下さい.

  450 :デフォルトの名無しさん:2009/12/03(木) 20:27:40
  逆に7でこの挙動が変わってたらおかしいでしょう.

  451 :デフォルトの名無しさん:2009/12/03(木) 20:43:06
  別におかしくないが?

  452 :デフォルトの名無しさん:2009/12/03(木) 20:46:19
  chcp 65001

  453 :デフォルトの名無しさん:2009/12/03(木) 21:15:54
  BOM削除してからcopyすれば?

  454 :デフォルトの名無しさん:2009/12/03(木) 21:54:01
  ところで^Z削除するのはどうすれば?

  455 :デフォルトの名無しさん:2009/12/04(金) 15:10:43
  >>452
  フォントを変えるコマンドは?

  456 :デフォルトの名無しさん:2009/12/04(金) 21:47:30
  ぐぐれ.
  まあ変えても解決にはならんが.

  457 :デフォルトの名無しさん:2009/12/04(金) 21:58:36
  作れ.
  setconsolefont()
  setcurrentconsolefontex()

  458 :デフォルトの名無しさん:2009/12/08(火) 13:13:56
  代替コマンドシェルにnyacusなんてのがあるんだな.
  cmdと比べると構文が結構まともだ.
  PowerShellより圧倒的に軽いしちょっと覚えてみる気になった.

  459 :デフォルトの名無しさん:2009/12/09(水) 03:55:32
  nyacus落ちない?数年前に使ったけど, それでやめた.

  460 :デフォルトの名無しさん:2009/12/10(木) 01:06:30
  今のところ落ちてないよ. まだ大した使い方してないけど.
  最終更新日が先月でまだまだメンテが続いてるね.

  461 :デフォルトの名無しさん:2009/12/11(金) 15:53:24
  CMD.exeのfor文は頑張りすぎ.

  462 :デフォルトの名無しさん:2009/12/11(金) 18:23:45
  runasの/trustlevelってどういうときに使うの?

  463 :デフォルトの名無しさん:2009/12/11(金) 21:14:34
  for /F %%a in (filelist.txt) do move "%%a" %dir%
  filelist.txtにファイルの一覧をリストアップしてそのファイルをすべて特定のフォルダへ移動したいです.
  ですがファイル名に半角スペースが含まれていると移動されずにスルーされてしまいます.
  困ってしまいます.
  お願いします.

  464 :デフォルトの名無しさん:2009/12/11(金) 21:15:18
  >>439
  >>440
  これの改良版で1週間分のみバックアップを残す仕様に出来る方おりませんか?
  ファイルが7個以上あった場合, 古いものから消していくようになると思うんですが.

  465 :デフォルトの名無しさん:2009/12/11(金) 21:25:48
  >>463
  "delims="

  466 :デフォルトの名無しさん:2009/12/11(金) 21:32:10
  >>464
  for /f "skip=6 delims=" %%i in ('dir /b/o-d data*.dat') do del%%i
  これで新しいものから順に6個を除いたファイルは全部消える.

  467 :デフォルトの名無しさん:2009/12/11(金) 21:33:20
  >>465
  ありがとうございました.
  助かりました.

  468 :デフォルトの名無しさん:2009/12/12(土) 11:52:30
  カレントディレクトリを取得するのに.
  for %i in (.) do set cdir=%~dpnxi
  とかやってるんですが, もっとスマートな方法はないですしょうか?

  469 :デフォルトの名無しさん:2009/12/12(土) 12:04:19
  %CD%とかじゃ駄目だっけ?

  470 :デフォルトの名無しさん:2009/12/12(土) 15:46:31
  フルパスをゲットするなら%cd%でいい.
  c:\a\b\c\d\thisdir
  のthisdirをゲットするなら.
  %cd:\=&set cdir=%
  echo %cdir%
  とか.

  471 :デフォルトの名無しさん:2009/12/12(土) 19:32:42
  set cdir=.

  472 :デフォルトの名無しさん:2009/12/13(日) 03:10:06
  set cdir=.
  echo %cdir%
  .
  ダメじゃん. w.

  473 :デフォルトの名無しさん:2009/12/13(日) 19:05:35
  set cdir=%cd%
  echo %cdir%

  474 :デフォルトの名無しさん:2009/12/14(月) 11:07:38
  %CD%なんてあったんですね. ありがとうございます.
  カレントディレクトリがセットされた環境変数は ありそうだと思って.
  set<enter>して探したのですが, これにはでないみたいです.
  「特殊な環境変数」でググると%CD%以外にもいろいろ知ることができました.

  475 :デフォルトの名無しさん:2009/12/14(月) 14:11:28
  set/?

  476 :デフォルトの名無しさん:2009/12/14(月) 14:14:37
  カレントディレクトリはドライブごとにある.
  echo %=c:%
  echo %=d:%

  477 :デフォルトの名無しさん:2009/12/14(月) 14:16:28
  >>476
  知らなかった・・・.

  478 :デフォルトの名無しさん:2009/12/14(月) 14:37:09
  set,
  で=*環境変数も表示.

  479 :デフォルトの名無しさん:2009/12/14(月) 14:40:28
  2009年も終わろうとしてるのに今更cmdのtipsなんて何の意味がある.
  PowerShellに乗り換えようぜ.

  480 :デフォルトの名無しさん:2009/12/14(月) 15:50:56
  =::=::\
  は何?

  481 :デフォルトの名無しさん:2009/12/14(月) 22:25:59
  >>479
  PowerShellがNTに載ったらね.

  482 :デフォルトの名無しさん:2009/12/15(火) 14:51:01
  おまえらスレチガイ.
  http://pc12.2ch.net/test/read.cgi/win/1221046998/

  483 :デフォルトの名無しさん:2009/12/21(月) 15:23:45
  ipアドレスの3ブロック目で判断して,
  レジストリを修正するバッチファイルが作りたいのです.
  ipconfigしても情報が多すぎるし,
  ドット2つの後ってどうしたらいいんでしょう・・・.
  どなたかご教授願います.

  484 :デフォルトの名無しさん:2009/12/21(月) 15:26:03
  for /f "delims=. tokens=3" %I in ("1.2.3.4") do echo%I

  485 :sage:2009/12/21(月) 16:36:18
  >>484
  素晴らしすぎます!!!
  というか私の知識不足・・・頑張り不足・・・でしょうか.
  ありがとうございました!

  486 :483:2009/12/21(月) 19:26:24
  お陰様でここまできました.
  for /f "tokens=14 delims=: " %%I in ('ipconfig ^| find "IPAddress"') do set
  IP=%%I
  for /f "tokens=3 delims=." %%I in ("%IP%") do echo%%I
  echo %IP%
  ただ, スマートじゃないというかなんというか・・・.
  こんなもんでしょうかね.

  487 :デフォルトの名無しさん:2009/12/21(月) 22:05:22
  tokens=14 ってなんじゃそら.
  skip=n でn行飛ばせるって知ってるよな?

  488 :デフォルトの名無しさん:2009/12/21(月) 22:55:04
  出たか, 知ったかぶり. お手並み拝見.

  489 :デフォルトの名無しさん:2009/12/22(火) 13:14:33
  横からだけど俺的にはアリだな.
  tokens=14 を数える事は二度と無いとしても, 将来コピペで使い回した時,
  このスレでのやりとりを良い思い出として生暖かく思い出せる. w.
  "tokens=2 delims=:" だったら何も心に響かない.

  490 :デフォルトの名無しさん:2009/12/22(火) 17:32:15
  OSにもれなくついてくるおまけの機能に多くを求めてはいけない.
  メモ帳やペイントに不満を感じるなら勝手に別のアプリをお使いくださいというのがMSの基本姿勢.
  不便だろうが欠陥があろうが知ったことではない.

  491 :デフォルトの名無しさん:2009/12/22(火) 17:47:03
  delimsを.だけにすれば1行で書けるだろ?
  for /f "tokens=?? delims=." %%I in ('ipconfig ^| find "IPAddress"') do echo
%%I
  ??は自分で数えろ.

  492 :デフォルトの名無しさん:2009/12/22(火) 18:26:46
  skipがどうしたって?

  493 :デフォルトの名無しさん:2009/12/22(火) 18:45:11
  どんぐりの背比べ.

  494 :483:2009/12/22(火) 18:47:08
  >>491
  ありがとうございました.
  for /f "tokens=15 delims=." %%I in ('ipconfig ^| find "IPAddress"') do echo
%%I
  でバッチリ取得出来ました.
  これが一番スマートですね. 助かりました!

  495 :デフォルトの名無しさん:2009/12/22(火) 18:53:36
  バッチごときでスマートって.
  しまむらで洋服買って自慢してるようなもんか.

  496 :デフォルトの名無しさん:2009/12/22(火) 20:09:54
  すっぱい葡萄.

  497 :デフォルトの名無しさん:2009/12/22(火) 20:45:16
  たぶん.
  for /f "tokens=15 delims=." %%I in ('ipconfig') do echo %%I
  でもいける.

  498 :デフォルトの名無しさん:2009/12/22(火) 20:53:10
  どんぐりの背比べ.

  499 :デフォルトの名無しさん:2009/12/22(火) 21:55:38
  すっぱい葡萄.

  500 :デフォルトの名無しさん:2009/12/23(水) 14:33:10
  skipがどうしたって?

  501 :デフォルトの名無しさん:2009/12/26(土) 12:04:04
  フォルダを五十音で分配したいのですが, バッチファイルでできるんでしょうか?
  1)具体的にはデジカメで写真を撮影した事を想定してください.
      D:\デジカメ写真データ\001.jpg
      D:\デジカメ写真データ\002.jpg
                  ・.
                  ・.
      D:\デジカメ写真データ\009.jpg
      D:\デジカメ写真データ\010.jpg
  2)それを撮影場所ごとに整理します. (ここまでは人間の手でやります. )
      D:\デジカメ写真データ\きんかくじ(金閣寺)\001.jpg
      D:\デジカメ写真データ\きんかくじ(金閣寺)\002.jpg
      D:\デジカメ写真データ\きよみずでら(清水寺)\003.jpg
      D:\デジカメ写真データ\きよみずでら(清水寺)\004.jpg
      D:\デジカメ写真データ\きよみずでら(清水寺)\005.jpg
      D:\デジカメ写真データ\とうだいじ(東大寺)\006.jpg
      D:\デジカメ写真データ\ほうりゅじ(法隆寺)\007.jpg
      D:\デジカメ写真データ\ほうりゅじ(法隆寺)\008.jpg
      D:\デジカメ写真データ\ほうりゅじ(法隆寺)\009.jpg
      D:\デジカメ写真データ\ほうりゅじ(法隆寺)\010.jpg
  3)ここでバッチファイルをくりっくすると.
      D:\読み順フォルダ\か行\きんかくじ(金閣寺)\001.jpg
      D:\読み順フォルダ\か行\きんかくじ(金閣寺)\002.jpg
      D:\読み順フォルダ\か行\きよみずでら(清水寺)\003.jpg
      D:\読み順フォルダ\か行\きよみずでら(清水寺)\004.jpg
      D:\読み順フォルダ\か行\きよみずでら(清水寺)\005.jpg
      D:\読み順フォルダ\た行\とうだいじ(東大寺)\006.jpg
      D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\007.jpg
      D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\008.jpg
      D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\009.jpg
      D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\010.jpg
  とやりたいです.

  502 :デフォルトの名無しさん:2009/12/26(土) 12:08:36
      D:\読み順フォルダ\か行\きんかくじ(金閣寺)\002.jpg
      D:\読み順フォルダ\か行\きよみずでら(清水寺)\003.jpg
      D:\読み順フォルダ\か行\きよみずでら(清水寺)\004.jpg
      D:\読み順フォルダ\か行\きよみずでら(清水寺)\005.jpg
      D:\読み順フォルダ\た行\とうだいじ(東大寺)\006.jpg
      D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\007.jpg
      D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\008.jpg
      D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\009.jpg
      D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\010.jpg
      D:\読み順フォルダ\か行\きんかくじ(金閣寺)\002.jpg
      D:\読み順フォルダ\か行\きよみずでら(清水寺)\003.jpg
      D:\読み順フォルダ\か行\きよみずでら(清水寺)\004.jpg
      D:\読み順フォルダ\か行\きよみずでら(清水寺)\005.jpg
      D:\読み順フォルダ\た行\とうだいじ(東大寺)\006.jpg
      D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\007.jpg
      D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\008.jpg
      D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\009.jpg
      D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\010.jpg
      D:\読み順フォルダ\か行\きんかくじ(金閣寺)\002.jpg
      D:\読み順フォルダ\か行\きよみずでら(清水寺)\003.jpg
      D:\読み順フォルダ\か行\きよみずでら(清水寺)\004.jpg
      D:\読み順フォルダ\か行\きよみずでら(清水寺)\005.jpg
      D:\読み順フォルダ\た行\とうだいじ(東大寺)\006.jpg
      D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\007.jpg
      D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\008.jpg
      D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\009.jpg
      D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\010.jpg

  503 :デフォルトの名無しさん:2009/12/26(土) 12:12:03
  そこまで人の手でやれよ.

  504 :デフォルトの名無しさん:2009/12/26(土) 12:17:13
  写真を分類するソフトなら腐るほどある.

  505 :デフォルトの名無しさん:2009/12/26(土) 12:57:24
  ゴミの山(Dドライブ)を見てたらすんごいもの見つけた. ww.
  http://codepad.org/xzEwdV3R
  なんかかなり昔作ったVB風の記述でバッチファイルを吐く言語の.
  ソースファイルっぽい. w.
  今コンパイラ探してる.

  506 :デフォルトの名無しさん:2009/12/26(土) 13:04:17
  #EXPAND BatchBasic
  Sub Main()
      Print("Hello World.")
  End Sub
  Sub Print(str)
      #NATIVE ECHO %str%
  End Sub

  507 :デフォルトの名無しさん:2009/12/26(土) 13:06:23
  >>501
  できるけど, その程度の代物だったら手作業と大して変わらん手間だろ.

  508 :デフォルトの名無しさん:2009/12/26(土) 14:48:26
  >>505
  batに生産性を求めてどうする.

  509 :デフォルトの名無しさん:2009/12/26(土) 20:27:40
  >>508
  生産性がよくなるんだろ?

  510 :デフォルトの名無しさん:2009/12/26(土) 22:38:09
  管理者として実行されてるか?を判定するには?

  511 :デフォルトの名無しさん:2009/12/27(日) 10:14:31
  管理者権限でしかアクセスできないフォルダにアクセスしてERRORLEVELで調べる.

  512 :デフォルトの名無しさん:2009/12/27(日) 12:08:47
  環境変数比較してみたら管理者権限の場合SESSIONNAMEが定義されてなかったので.
  それで判別できる? (Vista x64で確認)

  513 :デフォルトの名無しさん:2009/12/27(日) 12:27:56
  runas /trustlevel:制限しない rundll32 >nul
  echo %errorlevel%
  ちゃんと動くかは分からない.

  514 :デフォルトの名無しさん:2009/12/27(日) 14:35:24
  echo>file
  dir/q file

  515 :デフォルトの名無しさん:2009/12/27(日) 15:01:58
  mklink a a
  echo %errorlevel%

  516 :デフォルトの名無しさん:2009/12/27(日) 16:00:42
  net user %username% |findstr "*administrators"
  MS謹製のwhoamiに権限表示があった気がする.

  517 :デフォルトの名無しさん:2009/12/27(日) 17:58:10
  >>516
  UACの昇格.

  518 :デフォルトの名無しさん:2009/12/27(日) 22:26:55
  >>512
  Vista 32bit x86でも確認したよー.

  519 :デフォルトの名無しさん:2009/12/31(木) 18:56:58
  rundll32 shell32, IsUserAnAdmin

  520 :デフォルトの名無しさん:2010/01/04(月) 17:02:50
  バッチファイルの引数をプラス記号で繋ぐにはどうしたら良いでしょう. 例えば,
  start "" iexplore
  "http://www.google.com/search?lr=lang_ja&ie=UTF-8&oe=UTF-8&q=%*"
  ここの %* を, 引数の数に合わせて %1+%2+.... とやる方法です.

  521 :デフォルトの名無しさん:2010/01/04(月) 20:39:55
  http://codepad.org/w6ugNsAm
  エスケープには対応してないから使えるのは英字だけなのでよろしく.

  522 :デフォルトの名無しさん:2010/01/04(月) 20:42:43
  もっとうまい方法がある気がしてならないのでちょっと晒してみる.
  ----------ここから.
  set Param=%1
  :loop
  if not "%2"=="" set Param=%Param%+%2
  shift
  if not "%2"=="" goto loop
  start "" iexplore
  "http://www.google.com/search?lr=lang_ja&ie=sjis&oe=UTF-8&q=%Param%"
  ----------ここまで.
  細かい事考えなければこんな感じ?
  引数を繋ぐスマートな方法を知りたいです. . .

  523 :デフォルトの名無しさん:2010/01/04(月) 20:44:47
  つか誰かHttpEscapeってサブルーチンでも作って.

  524 :522:2010/01/04(月) 20:48:01
  >>521
  そっか, 先に shift させた方がずっと美しいや.
  参考になりましたです.

  525 :521:2010/01/04(月) 21:06:29
  いや, スマートにするのは簡単だけど,
  http://codepad.org/GKyUSzKv
  なんかつまんないなあ. ^^;

  526 :522:2010/01/04(月) 21:15:25
  >>525
  これこれ, こーゆーの求めてました!
  ありがとうございました >>521 , きっかけをくれた >>520 にも感謝.

  527 :520:2010/01/05(火) 00:22:01
  >>521, 522
  お二人ともありがとうございました.
  特に >>525 が素晴しく, 大変勉強になりました!!

  528 :デフォルトの名無しさん:2010/01/05(火) 01:05:21
  そもそもぐぐるなら置換不要.

  529 :デフォルトの名無しさん:2010/01/06(水) 18:02:19
  そうなの?

  530 :デフォルトの名無しさん:2010/01/10(日) 19:19:39
  質問なんですが,
  例としてimg001, img002, img003というファイルがあったとして.
  imgに当てはまるものを一気に削除するというスクリプトはあるでしょうか?

  531 :デフォルトの名無しさん:2010/01/10(日) 19:36:16
  delete img*

  532 :デフォルトの名無しさん:2010/01/10(日) 19:47:41
  >>531
  erase img*

  533 :デフォルトの名無しさん:2010/01/10(日) 20:56:26
  >>531-532
  「imgに当てはまるもの」-> del img

  534 :530:2010/01/11(月) 01:04:30
  >>531-533
  ありがとうございます.
  delの場合は del img*でいけました.

  535 :デフォルトの名無しさん:2010/01/11(月) 01:16:52
  >>531-533
  おまえら質問に答えてない.
  >>530
  だれかが作ればある.

  536 :デフォルトの名無しさん:2010/01/11(月) 07:58:08
  修飾子 %~$PATH: の使い方について質問があります.
  引数のファイルを %PATH% から検索し, エクスプローラーで開く.
  バッチファイルを書いてみました.
  ---- open.bat ----
  set x=%~$PATH:1
  if %x% == "" goto eof
  start "" explorer.exe /select, %x%
  ----
  使用法: open.bat explorer.exe / open.bat cmd.exe / open.bat msconfig.exe
  ここで, 拡張子を .exe に決め打ちし, 下記が動作するようにするには.
  どうすれば良いでしょうか.
  open.bat explorer / open.bat cmd / open.bat msconfig

  537 :デフォルトの名無しさん:2010/01/11(月) 09:31:51
  下記のようにしてとりあえず希望の動作が出来るようになりました.
  もう少し一般的な方法があれば教えて下さい.
  ---- open_mod.bat ----
  set x=%~$PATH:1
  if not "%x%" == "" goto open
  for %%i in (%1.exe) do (
  set x=%%~$PATH:i
  )
  if not exist "%x%" exit
  :open
  start "" explorer.exe /select, %x%
  ----

  538 :デフォルトの名無しさん:2010/01/11(月) 14:54:18
  for %%i in (%1.exe) do for %%j in (%~$PATH:1 %%~$PATH:i) do start
  ""explorer.exe /select, %%j

  539 :デフォルトの名無しさん:2010/01/12(火) 18:41:21
  for /f %%i in ('where %1') do start "" explorer.exe /select,%%i

  540 :536:2010/01/13(水) 00:43:51
  >>538, 539
  どちらもすごいです!! たいへん勉強になりました.

  541 :デフォルトの名無しさん:2010/01/13(水) 10:54:58
  >>539
  これのうち, 'where %1' の部分が良く理解できません.
  解説のあるウェブサイトを紹介してもらえないでしょうか.

  542 :デフォルトの名無しさん:2010/01/13(水) 13:14:07
  http://www.atmarkit.co.jp/fwin2k/win2ktips/1151where/where.html

  543 :デフォルトの名無しさん:2010/01/13(水) 23:29:11
  >>542
  やっと理解しました. where は OS のコマンドで,
  また for /f in %%変数 (...) の括弧内ではコマンドが使えるのですね.
  情報ありがとうございました.

  544 :デフォルトの名無しさん:2010/01/14(木) 23:23:03
  %1 %2 ... は%*
  %2 ... をまとめて取り出せないかな.
  バラして組み立てるしかないかな.

  545 :デフォルトの名無しさん:2010/01/14(木) 23:26:37
  shiftすりゃいいんじゃねーの.

  546 :デフォルトの名無しさん:2010/01/15(金) 02:34:52
  shift
  echo %*

  547 :デフォルトの名無しさん:2010/01/15(金) 07:02:48
  これだと  %1 も出てくるな・・・.

  548 :デフォルトの名無しさん:2010/01/15(金) 09:28:36
  shift /2

  549 :デフォルトの名無しさん:2010/01/15(金) 13:11:40
  for /f "tokens=1*"でとれるんじゃねーの.

  550 :デフォルトの名無しさん:2010/01/15(金) 13:48:41
  shiftじゃできないんじゃねーの.

  551 :デフォルトの名無しさん:2010/01/15(金) 19:42:14
  for /f "tokens=1*"じゃできないんじゃねーの.

  552 :デフォルトの名無しさん:2010/01/15(金) 20:31:47
  for /f "tokens=1*" %%i in (%*) do echo %j

  553 :デフォルトの名無しさん:2010/01/15(金) 21:44:02
  for /f "tokens=1*" %%i in ("%*") do echo %j
  だろ.

  554 :デフォルトの名無しさん:2010/01/16(土) 11:29:18
  この言語はforの使い方がおかしい.

  555 :デフォルトの名無しさん:2010/01/16(土) 15:33:31
  ワイルドカードを展開するコマンドにforという名前をつけてしまったのがそもそもの間違い.

  556 :デフォルトの名無しさん:2010/01/16(土) 16:13:29
  for /f "tokens=1*" %i in ("1 2 3 4") do echo %j
  2 3 4
  ほれ.

  557 :デフォルトの名無しさん:2010/01/16(土) 17:16:36
  for /f "tokens=1*" %i in (""1 2" "3 4"")do echo %j
  2" "3 4"
  ほれ.

  558 :デフォルトの名無しさん:2010/01/18(月) 15:10:32
  set a=%*
  echo !a:%1=!

  559 :デフォルトの名無しさん:2010/01/19(火) 10:25:24
  @echo off
  copy /y E:\Program\TAB_Browser\DonutRAPT\Default.dfg
  "E:\Back_Up\Donut_RAPT_Default"
  @echo
  exit
  今使ってるバッチファイル(バックアップファイル作成)をまんま[上矢印]に載せました.
  別段支障は無いのですが, [上矢印]だと, 1ファイルのバックアップしか出来ませんので,
  万一, 空ファイルが上書きされてしまった場合, 痛いです.
  (上記のバッチはドーナツ派は何となくピンと来てくれると思いますが)
  そこで, そのリスクを減らす為に, 例えば, バッチ処理する度に, ランダムに, 例えば・・.
  Default1.dfg, Default2.dfg, Default3.dfg
  のいずれかのファイル名でE:\Back_Up\Donut_RAPT_Defaultフォルダにバックアップをするには.
  どのようにすれば宜しいでしょうか?

  560 :デフォルトの名無しさん:2010/01/19(火) 11:39:09
  ランダムの意味わかってないだろ.

  561 :559:2010/01/19(火) 11:52:46
  1〜3までの数字をアットランダムに付けたいのですが・・.
  Default1.dfgというファイル名での保存が, 複数回続いても構いません.
  (きっちり, 1->2->3という順番で, バッチ処理する度にファイル名が変わってくれなくて構わないです)

  562 :デフォルトの名無しさん:2010/01/19(火) 14:36:05
  set /a random=%random%%%3+1
  copy /y E:\Program\TAB_Browser\DonutRAPT\Default.dfg
  "E:\Back_Up\Default%random%.dfg"

  563 :559:2010/01/19(火) 15:29:47
  >>562
  ありがとうございます!
  コピー先は直しましたが, まさに目的は叶いました.
  本当, 感謝です!

  564 :デフォルトの名無しさん:2010/01/19(火) 18:15:40
  >>560
  >>560

  565 :デフォルトの名無しさん:2010/01/19(火) 19:39:38
  >>564

  566 :デフォルトの名無しさん:2010/01/20(水) 13:48:59
  サイクリック版作りたかったら作ってみ.

  567 :デフォルトの名無しさん:2010/01/23(土) 03:00:27
  >>560
  >>559の例の場合は3本のくじからの無作為抽出ってことだろ?
  ランダムって表現で間違っちゃいない.
  っつーか, >>562が物語ってるじゃん[下矢印]
  >  set /a random=%random%%%3+1

  568 :デフォルトの名無しさん:2010/01/23(土) 21:44:08
  >>567
  560は562が書かれる前にレスの内容がわかるエスパーなんですね.

  569 :デフォルトの名無しさん:2010/01/24(日) 05:15:14
  別に560の前の時点で, 環境変数(%random%)を使えば良いのは判る訳で.
  そこへ560の質問の意味が解からん.

  570 :デフォルトの名無しさん:2010/01/24(日) 12:43:25
  iPod nano を購入しようと思っているのですが, nano のランダム再生について質問です.
  現在使っている他メーカーのMP3プレイヤーのランダム再生はどうやら,
    再生リストの中からランダムで選び出した曲を決まった順番で再生.
  しているらしいのです.
  例えばフォルダの中にA, B, C, D, Eの5曲がある場合にランダム再生を実行すると,
  自動的にA, C, Eを選び出し(ここは流石にランダムで選んでるようです),
  以降, A, C, E, A, C, E, ...のように, 同じ曲ばかりを繰り返します.
  実際に少ない曲数で試したことはないのですが,
  同じフォルダの中でランダム再生をしているとそのうち,
  次に再生される曲がわかるようになるのでたぶん間違いないです.
  で, iPod nano のランダム再生はどのような再生方法なのかに興味があります.
  理想は,
  ・一度流した曲は, 再生リスト内の曲を全て再生するまでは再生しない.
  というものです.
  フォルダの中にA, B, C, D, Eの5曲がある場合,
  最初にBを再生した後は, 次に来る曲はA, C, D, Eのいずれかで,
  次にAが選択された場合は, 次に来る曲はC, D, Eのいずれか, といった再生法を望んでいます.
  iPod nano の購入の参考にしたいので,
  詳しくわかる方いましたらよろしくお願いします.

  571 :デフォルトの名無しさん:2010/01/24(日) 12:44:52
  iTunesとiPodの場合「ランダム」ではなく「シャッフル」と呼び,
  その呼び名の通り曲順をシャッフルして再生する機能になります.
  1曲ごとに再生する曲を対象全体からランダムに選ぶのではなく,
  最初に対象全体をシャッフルして混ざったリストを作りそれを順番に再生する,
  つまりトランプをシャッフルしてから一枚づつめくっていく様な感じになり,
  あなたの希望の様に.
  「一度流した曲は, 再生リスト内の曲を全て再生するまでは再生しない. 」
  と言う状態になります.
  iTunes上でプレイリストを選択した状態で左下のシャッフルボタンを.
  押してみると, リスト内でシャッフルしてそれを順に再生している事が.
  よく分かると思います.
  (その際画面表示のソート順を通常なら左端にある曲順の数字欄に.
  しておかないとシャッフルされる様子が見れません. 曲の上部に.
  「名前」や「アーティスト」, 「アルバム」等と書いてある左端の部分を.
  クリックして三角が出ている状態です. その灰色のバー部分の.
  どこをどうクリックするかで画面上の並び順が変わります. )
  この様に「シャッフルされたリストを作る」と言う機能なので, そのリスト内で.
  曲を前や後ろに飛ばしてもまた同じ部分では同じ順番で再生されます.
  シャッフル機能を切って入れ直すか, 最初の曲から前に飛ばしたり,
  最後の曲を終わりまで再生したりすればシャッフルし直されます.
  自分は普段まずシャッフル再生はしないので, 今ちょっと試してみた.
  結果を見て回答したので, 何か間違いがあるかもしれません.

  572 :デフォルトの名無しさん:2010/01/24(日) 12:45:56
  回答ありがとうございます.
  iTunesと同じなのであれば,
  「再生回数」という項目もあるから, これでも確認できますね.
  全部再生回数が0回の状態で再生し,
  しばらくしてから再生回数を見て, 飛びぬけて再生回数が少ない・多いものが無いことを確認する.
  iTunesではメニューの方の「シャッフル」をよく利用します.
  (下にシャッフルボタンがあるのは知らなかった・・・)
  確かにこれは「リピートする」にチェックを入れておかないと, 一巡したところで終了するので私の望んでいるタイプです.
  まぁ重要なのは本当にiTunesとiPodの再生方式が同じなのか, というところですが,
  同じじゃない方が不自然ですよね.
  ありがとうございました.

  573 :デフォルトの名無しさん:2010/01/24(日) 12:47:04
  iPodはiTunesを持ち歩く為に作られたものですから, 基本はiTunesと同じだと思っていいと思いますよ.
  コンピュータでのランダムは疑似乱数関数を利用しているのが一般的です.
  疑似と頭に付くように実は完全なランダムではありません. 与えるパラメーターが同じなら結果は全く同じになります.
  実際の利用では, パラメーターに現在の時刻を1/100秒単位で指定します.
  毎回再生ボタンをコンマ何秒の単位で全く同じく押すなんて事不可能ですから, 同じ順番になることはなくランダムだと言って差し支えないでしょう.
  > 同じ曲ばかりを繰り返します.
  一般的にプログラム上では, 順番は疑似乱数でランダムに決め, 更に同じ曲が出ないようにする工夫もなされています.
  実際にはランダムだけど, 同じようなのを繰り返したり, 次のが予想した通りだと思えるのは人間の特性が関係しています.
  聞き流している時には好きな曲は印象が強く残りますが, そうではない曲は聴いても記憶に残りにくいものです.
  ランダム再生していると, 好きな曲ばかりが印象強く残って, 前にも聴いたなとか, 同じのばかりかかっているなと勘違いしてしまいます.
  実際に聴いて確かめるのではなく, ランダム再生時の曲名を順番に書き出してみるとわかります.
  聞き流していると錯覚してしまうし, 時間もかかりますからね.
  > A, C, E, A, C, E, ...のように, 同じ曲ばかりを繰り返します.
  そういうプログラムがされている可能性も否定はできませんが, 錯覚である可能性もあります.

  574 :デフォルトの名無しさん:2010/01/24(日) 12:48:00
  回答ありがとうございます.
  >> 同じ曲ばかりを繰り返します.
  >一般的にプログラム上では, 順番は疑似乱数でランダムに決め, 更に同じ曲が出ないようにする工夫もなされています.
  基本的にどのメーカーでも, ランダム再生のロジックは同じはずだ, という意味でしょうか.
  そうだと良いのですが.
  自分もほんの少しだけプログラミングには触ったことがあるので,
  完全なランダム再生は難しくないのになんでこのMP3プレイヤーはこうなんだ!とか一人で憤慨しています.
  >> A, C, E, A, C, E, ...のように, 同じ曲ばかりを繰り返します.
  >そういうプログラムがされている可能性も否定はできませんが, 錯覚である可能性もあります.
  確かめたわけじゃないので, 確かに錯覚の可能性もあります.
  それなのに言い張ったところで説得力は無いのですが,
  「また同じ曲だ」「これはさっき聞いたばっかりだ」とか, 曲単位で耳に残るのではなく,
  曲Aがフェードアウトした後に始まるイントロは曲Cだ, という「つながり」が耳に残るんですよ.
  そこから「いくつかの同じ曲を同じ順番で再生している」と思っています.
  あくまで「思っている」です.
  本題?のiPod購入は, 前向きになっています.

  575 :デフォルトの名無しさん:2010/01/24(日) 12:49:04
  >>569
  俺は>>560が書かれてた時点でスレ見てスルーして次見たのが今だけど,
  560の時点じゃ同感だったよ. ちゃんと読んでればいずれかと書いてるから.
  言葉の使い方間違ってるわけではないとわかるけれど.
  流し読みすると 1->2->3 と要求してるように見えて.
  ランダムって違うんじゃね?と思ったわな.
  560=562だったとしても何も驚かんけどな.

  576 :デフォルトの名無しさん:2010/01/24(日) 12:50:06
  >・一度流した曲は, 再生リスト内の曲を全て再生するまでは再生しない.
  自分の経験上ではそうなっていると思います.
  もちろん, 電源が完全にオフになるとどこまで再生していたかはリセットされますが,
  少なくとも連続して聞いている時に同じリスト内の曲が再度かかることはないですね.
  iTunesで曲を追加したり並び順を替えてもiPod側の再生順は変わりますし,
  1度PCに接続すると同じプレイリストを先頭から再生しても順番が変わっているように思います.
  ただし, iPodやiTunesの「ランダム」というのは「万遍なく」という意味ではなく「目茶苦茶」という意味ですので,
  同じアーチストの曲が連続したりすることもあれば,プレイリスト内の次の曲がそのまま再生されたりもします. 文字通り「目茶苦茶」です.

  577 :デフォルトの名無しさん:2010/01/24(日) 16:39:24
  ランダムフェチ?

  578 :デフォルトの名無しさん:2010/01/24(日) 19:16:09
  トラウマ?

  579 :デフォルトの名無しさん:2010/01/25(月) 16:51:51
  こんな感じで書かれてるテキストファイルがあるんだが.
  [下矢印]
  [現在]
  C:\aaa/aaa/aaa.zip
  C:\aaa/bbb/zzz.zip
  C:\aaa/ccc/bbb.zip
    :
    :
  パスで見ると並び順は正しい.
  けど, このテキストをファイル名でソートしたい.
  [希望順]
  C:\aaa/aaa/aaa.zip
  C:\aaa/ccc/bbb.zip
  C:\aaa/bbb/zzz.zip
    :
    :
  どうしてもバッチでやりたい変態です.
  バッチ単体じゃ無理かね.

  580 :デフォルトの名無しさん:2010/01/25(月) 17:15:47
  以下のようなテキストファイルがあります.
  C:/aaa/bbbb/cccccc.zip
  C:/bbb/ddd/aaaa.zip
  C:/ccc/eeeeee/bbb.zip
  パス的に見れば並び順は正しいですが,
  これをファイル名順に並び替えたいのです.
  C:/bbb/ddd/aaaa.zip
  C:/ccc/eeeeee/bbb.zip
  C:/aaa/bbbb/cccccc.zip
  どうしてもバッチ単体で処理したい変態です.
  無理ですかね・・・.

  581 :デフォルトの名無しさん:2010/01/25(月) 19:32:21
  del tmp?
  for /f %%I in ('type hoge.txt') do echo %%~nxI?%%I>>tmp1
  sort tmp1>tmp2
  for /f "delims=? tokens=1*" %%I in ('type tmp2') do echo %%J>>tmp3
  type tmp3

  582 :デフォルトの名無しさん:2010/01/25(月) 19:52:02
  setlocal enableextensions enabledelayedexpansion
  del tmp.txt
  for /f "delims=" %%i in (lstb.txt) do ( echo %%~nxi %%i>>tmp.txt)
  del out.txt
  for /f "tokens=1, * delims=:" %%i in ('sort tmp.txt') do (
  set a=%%i
  echo !a:~-1!:%%j>>out.txt
  )
  del tmp.txt

  583 :デフォルトの名無しさん:2010/01/25(月) 20:48:04
  一時ファイル使わんとでけんのか?

  584 :デフォルトの名無しさん:2010/01/25(月) 21:22:56
  >>581
  %%~nxI ?%%I
  とすればいいよ.
  もし<tab>が入力できれば.
  %%~nxI<tab>%%I
  delims=<tab>
  でもいいが難度が高いかな?

  585 :デフォルトの名無しさん:2010/01/25(月) 22:12:16
  >>584
  ?????

  586 :デフォルトの名無しさん:2010/01/25(月) 23:12:59
  sort順だろ.
  %%~nxI?%%I
  だと数字が?より前になる.
  %%~nxI ?%%I
  なら数字が より後ろになる.

  587 :デフォルトの名無しさん:2010/01/26(火) 00:51:04
  そこまで考えてなかった.

  588 :デフォルトの名無しさん:2010/01/26(火) 02:28:17
  ぶっ.

  589 :デフォルトの名無しさん:2010/01/26(火) 12:25:06
  >>586
  sortコマンドの並び替えはascii順じゃないので数字より前に?が来る.
  タブもNG. ソート順ではスペースが前に来るんで, スペース入りのファイル名があると.
  おかしくなる.
  多分sortでファイル名に出来ない文字で一番若いのは(0f)
  区切り文字をこれにしたらとりあえずokみたい.

  590 :デフォルトの名無しさん:2010/01/26(火) 12:28:24
  書き込んだら文字消えたorz
  コマンドプロンプト上ではアスタリスクみたいに見える文字(外字?)

  591 :デフォルトの名無しさん:2010/01/26(火) 14:56:08
  ^a
  二重線の「
  が最初.
  cscript hoge.vbs|sort
  for i=0 to 25
  wscript.echo chr(i), i
  next
  for i=27 to 127
  wscript.echo chr(i), i
  next

  592 :デフォルトの名無しさん:2010/01/26(火) 19:53:21
  どっちもメモ帳で入力できない.

  593 :デフォルトの名無しさん:2010/01/26(火) 20:41:27
  コマンドプロンプト上からecho ^A>>hoge.bat とか.
  ^AはCtrl+A

  594 :デフォルトの名無しさん:2010/01/26(火) 22:06:24
  メモ帳で入力できるものを使えば?

  595 :デフォルトの名無しさん:2010/01/29(金) 18:36:32
  ショートカット作ってアイコン変えると窓のアイコンが変わってくれるけど.
  バッチファイル中から自力でアイコン変える方法ってないですか?
  フリーウェア等の外部ツールでもいいんですが.

  596 :デフォルトの名無しさん:2010/01/31(日) 22:42:41
  ある.

  597 :デフォルトの名無しさん:2010/01/31(日) 22:51:11
  バッチファイル内で変数を保存?する方法について教えてください.
  最初にパラメータとして渡されたファイル(例としてhogehoge.txtとします)を.
  INPUTFILE=%~dpnx1
  としたあとで,
  RENコマンドでインプットファイルをリネームしています.
  例としてhagehage.txtに変更したとします. 次に.
  CALL hogehoge.BAT  "%INPUTFILE%"
  を呼び出して戻ってきた後で.
  再度もとの名前に戻そうと.
  REN "hagehage.txt" "%INPUTFILE%"
  とすると, %INPUTFILE%がhogehoge.txtから途中でリネームしたhagehage.txtに変わってしまっています.
  どうにかリネームしてもhogehoge.txtを保持する方法は無いでしょうか.
  バッチファイルは中間言語方式だったことを思い出してorz状態です.

  598 :デフォルトの名無しさん:2010/01/31(日) 22:57:12
  あほ.

  599 :デフォルトの名無しさん:2010/01/31(日) 23:10:23
  >>597
  無理して日本語を使わなくてもいいですよ.
  BATでおk.

  600 :デフォルトの名無しさん:2010/01/31(日) 23:46:03
  ほんじゃBATコピペ.
  最初に受け渡されたファイルネームはhogehoge.txtとします.
  @ECHO ON
  SET INPUT=%~dpnx1
  SET INPUTPATH=%~dp1
  SET INPUTFILE=%~nx1
  REN "%INPUT%" "hagehage.txt"      REM  ここでhagehage.txtにファイルネーム変更.
  CALL %EXECNAME% "c:\hagehage.txt"
  REN "%INPUTPATH%hagehage.txt" "%INPUTFILE%" REM
  ここでhogehoge.txtに戻そうとしてもINPUTFILEにhagehage.txtが入ってる.
  最後の%INPUTFILE%の中身がいつの間にか新ファイル名に変わってるので困っております.

  601 :デフォルトの名無しさん:2010/01/31(日) 23:58:51
  callした先で書き換えちゃってるんだろ.
  call先でsetlocal 〜 endlocalしとけ.

  602 :デフォルトの名無しさん:2010/02/01(月) 00:00:36
  追記.
  call先のファイルをいじれないんだったらcallの呼び出しをsetlocal〜endlocalで囲む.

  603 :デフォルトの名無しさん:2010/02/01(月) 00:03:46
  そうかcallの前後をsetlocal 〜 endlocalしとけ.

  604 :デフォルトの名無しさん:2010/02/01(月) 00:24:56
  >>601
  Danke.

  605 :デフォルトの名無しさん:2010/02/01(月) 08:43:15
  存在するファイルが無いと怒られるんだがなして?
  IF EXIST %INPUTPATH%work.tmp tmpdel
  IF EXIST %INPUTPATH%work.temp tempdel
  ECHO %INPUTPATH%work.tmp %INPUTPATH%work.temp
  echo そんなファイル無いんじゃゴルァ.
  これも試したけど駄目だった.
  ファイルは絶対に存在する.
  IF EXIST %INPUTPATH%work.tmp goto tmpdel
  IF EXIST "%INPUTPATH%work.tmp" tmpdel
  IF EXIST "%INPUTPATH%work.tmp" goto tmpdel

  606 :デフォルトの名無しさん:2010/02/01(月) 11:12:49
  %INPUTPATH%
  が \ で終わっていないに 1000ガバス.
  とりあえず.
  IF EXIST "%INPUTPATH%\work.tmp" goto tmpdel
  じゃないか?

  607 :デフォルトの名無しさん:2010/02/01(月) 11:22:30
  606で終わってるけど質問する前に.
  echo onするなり.
  echo IF EXIST %INPUTPATH%work.tmp goto tmpdelするなりして.
  何をチェックしようとしてるのか確認しろ.

  608 :デフォルトの名無しさん:2010/02/01(月) 14:25:44
  >>606
  いや, \は付いてる.

  609 :デフォルトの名無しさん:2010/02/01(月) 14:59:02
  >>598

  610 :デフォルトの名無しさん:2010/02/01(月) 16:29:43
  >>608
  work.tmp が wark.tmp とか work, tmp なのが原因でファイルが存在しないに 1200カパズ.
  for の中で遅延展開してない, に 1500ガバス.
  そもそも 607 のアドバイスのように echo の結果はどうなのよ?
  まさか, 表示が流れて読めません, とかいう訳じゃないんでしょ?

  611 :デフォルトの名無しさん:2010/02/01(月) 16:46:46
  ここに書いた例と実際のバッチが全く別物とか.

  612 :デフォルトの名無しさん:2010/02/01(月) 17:32:55
  >>610
  echoの結果も同じ.
  なんでだろ?

  613 :デフォルトの名無しさん:2010/02/01(月) 18:08:04
  同じって言葉じゃなくて具体例を出せよ. w.
  実際に使ってる内容晒したらエラー出て当たり前って内容かもしれないだろ.
  おまえさんがその当たり前に気付いてないだけで.

  614 :デフォルトの名無しさん:2010/02/01(月) 19:52:01
  そもそもバッチファイル理解できてる?
  よければ問題が起こる最小限のコード全体を貼ってくれ.

  615 :デフォルトの名無しさん:2010/02/01(月) 21:30:59
  delするのに存在確認は不要だろあほか.

  616 :デフォルトの名無しさん:2010/02/01(月) 22:11:39
  カレントディレクトリから一つ下のサブディレクトリ名を取得する.
  それを引数としてあるバッチに渡す.
  以上を一つ下のサブディレクトリ全てについて実行するバッチって作れますか?
  WSHの方が良いですか?

  617 :デフォルトの名無しさん:2010/02/01(月) 22:41:36
  >>613
  試しに.
  ECHO "%INPUTPATH%hogehoge.txt"
  としたら.
  C:\hogehoge.txt
  と\付きで表示される.

  618 :デフォルトの名無しさん:2010/02/01(月) 23:51:27
  ありぃ?
  分かった.
  直前で作ったファイルが書ききれていなかったっぽい.
  TIMEOUT1秒入れたらEXISTで見えるようになった.

  619 :デフォルトの名無しさん:2010/02/02(火) 01:13:03
  >>616
  for /d %%I in (*) do (
  echo call exec.bat %%I
  )

  620 :デフォルトの名無しさん:2010/02/02(火) 01:33:15
  >>619
  すげぇ!こういとも簡単にできるとは・・・.
  ありがとうございます.

  621 :デフォルトの名無しさん:2010/02/02(火) 01:44:36
  すまん. 最後にもう一つだけ教えてください.
  SET INPUT=%~dpnx1
  ECHO %INPUT%
  pause
  これだけのバッチファイルを作って, このファイルに適当なファイルをD&Dしたら.
  ファイルネームがフルパスで表示されると思う.
  でも, どこでもいいから適当なフォルダに長江 6380.txtってファイルを作って.
  さっきのバッチファイルにD&Dしてみてくれ.
  長江で切れてしまうと思う.
  これを回避するにはどうしたらいい?

  622 :デフォルトの名無しさん:2010/02/02(火) 02:06:53
  切れてないよ.

  623 :デフォルトの名無しさん:2010/02/02(火) 03:22:16
  長江は長過ぎる  黄河にしとけ.

  624 :デフォルトの名無しさん:2010/02/02(火) 08:41:12
  >>622
  嘘お?
  PC3台とも切れるんだが?
  ちなみにスペースは全角な.
  >>623
  さぶぅ.

  625 :デフォルトの名無しさん:2010/02/02(火) 10:37:47
  バッチファイルは全角半角スペース混じりのファイル名を正しく扱える(必要な時にちゃんと""で囲めば).
  そのコードで問題が出るなら明らかに呼び出し側の問題.

  626 :デフォルトの名無しさん:2010/02/02(火) 12:24:52
  >>625
  試しにecho "%INPUT%"
  をしても同じ.

  627 :デフォルトの名無しさん:2010/02/02(火) 12:32:11
  >>621
  普通なら切れない.
  切れるとしたらbatファイルの関連付けでドロップハンドラが壊れているんだろう.

  628 :デフォルトの名無しさん:2010/02/02(火) 15:12:55
  こういう話だろ.
  http://scripting.cocolog-nifty.com/blog/2008/02/post_c740.html

  629 :デフォルトの名無しさん:2010/02/02(火) 15:59:28
  >>627
  pgr

  630 :デフォルトの名無しさん:2010/02/02(火) 16:36:56
  >>621
  半角で例示したりして芸の細かいこと.

  631 :デフォルトの名無しさん:2010/02/02(火) 19:55:37
  バッチファイルにD&Dなんてするなよ.
  素直にコマンドプロンプトで打てばいいじゃん.

  632 :デフォルトの名無しさん:2010/02/02(火) 21:10:28
  どこでもいいから適当なフォルダに長江&shutdown  6380.txtってファイルを作って.
  さっきのバッチファイルにD&Dしてみてくれ.

  633 :デフォルトの名無しさん:2010/02/02(火) 23:39:00
  >>628
  ありがと.
  >>631
  長いバッチで自動化したいから無理なのら.
  >>632
  さぶぅ.
  雪降らせたのお前か.

  634 :デフォルトの名無しさん:2010/02/03(水) 02:14:36
  バッチファイルにD&Dするかぎり無理なのら.

  635 :デフォルトの名無しさん:2010/02/03(水) 02:42:21
  ドロップハンドラ作ればええのら.

  636 :デフォルトの名無しさん:2010/02/03(水) 14:35:34
  Drop on Scriptのドロップハンドラは?

  637 :デフォルトの名無しさん:2010/02/05(金) 14:35:40
  累乗計算バッチだるす.

  638 :デフォルトの名無しさん:2010/02/05(金) 21:19:53
  2の3乗.
  3の3乗.

  639 :デフォルトの名無しさん:2010/02/07(日) 14:26:03
  初歩的な質問ですみません. とてつもなく初心者です.
  kaigi_20100205.txt
  kaigi20100206, txt
  20100207kaigi.txt
  のようなファイルをrenでリネームさせて,
  会議_20100205.txt
  会議_20100206.txt
  会議_20100207.txt
  のように統一させたいと思い,
  色々と見よう見真似で.
  rename.datファイルに.
  ren kaigi*.txt 会議_*.txt
  ren *kaigi.txt 会議_*.txt
  といれてみたのですが,
  会議_00207kaigi.txt
  会議_gi20100206.txt
  会議_gi_20100205.txt
  という状態になってしまいました.
  これは自分のワイルドカードの使い方が根本的に間違っているのでしょうか?
  どなたかご教授お願いいたします.

  640 :デフォルトの名無しさん:2010/02/07(日) 15:23:12
  ワイルドカードはファイル名を保持してない.

  641 :デフォルトの名無しさん:2010/02/07(日) 16:48:59
  「kaigi_*.txt」にマッチしたファイル名を「会議_*.txt」がマッチするように書き換えるのであって,
  「会議_(kaigi_*.txtの*に相当する部分文字列).txt」というようにはならない.
  そしてdosには「*に相当する部分文字列」を取得する機能はないので,
  setなどを利用して, 自分で作ってやらなければならない.
  例えばこんなふうに:
  @echo off
  setlocal
  set NAME1=%~n1
  set NAME2=%NAME1:_=%
  if "%NAME1:~0, 5%" == "kaigi" (
      echo 会議_%NAME2:~5%.txt
  ) else if "%NAME1:~-5%" == "kaigi" (
      echo 会議_%NAME2:~0, -5%.txt
  )

  642 :デフォルトの名無しさん:2010/02/07(日) 17:33:56
  @echo off
  for %%i in (kaigi*.txt) do (
  set NAME=%%i
  call ren %%i %%NAME:kaigi=会議_%%
  )
  for %%i in (*kaigi.txt) do (
  set NAME=%%i
  call ren %%i 会議_%%NAME:kaigi=%%
  )

  643 :デフォルトの名無しさん:2010/02/07(日) 19:24:58
  setlocal enabledelayedexpansion
  for /f %%I in ('dir /b *kaigi*.txt') do @(set a=%%I
  set a=!a:kaigi=!
  set a=!a:_=!
  ren %%I 会議_!a!)

  644 :デフォルトの名無しさん:2010/02/07(日) 19:44:18
  >640-643
  みなさん, ありがとうございます!
  試してみましたところ, ばっちり動作しました.
  ただ, ばっちり動作しますがプログラムの挙動を自身がまだ理解できてない状態なので.
  これらを元に色々調べてプログラムを練ってみたいと思います.

  645 :デフォルトの名無しさん:2010/02/10(水) 00:23:41
  5スレ目でいうのもなんか変だが,
  コマンド シェルの概要.
  http://technet.microsoft.com/ja-jp/library/cc737438(WS.10).aspx
  Windowsヘルプにもあるし, OSごとにリンク先違うけど, ここらへんがテンプレにあっても良くないか?
  コマンド ライン リファレンス.
  http://technet.microsoft.com/ja-jp/library/cc778084(WS.10).aspx
  バッチ ファイルを使用する.
  http://technet.microsoft.com/ja-jp/library/cc758944(WS.10).aspx
  こっちは, 上からリンクあるからイランと思うけど.

  646 :デフォルトの名無しさん:2010/02/10(水) 00:24:35
  コマンド シェルの概要.
  http://technet.microsoft.com/ja-jp/library/cc778084.aspx
  アチャー.

  647 :デフォルトの名無しさん:2010/02/10(水) 00:25:38
  orz

  648 :デフォルトの名無しさん:2010/02/10(水) 09:53:38
  自分の使ってるOSのヘルプならいつでも見れるはずだが,
  ヘルプすら読まずに質問するやつが多すぎるという嫌味?

  649 :デフォルトの名無しさん:2010/02/10(水) 13:59:37
  >>646
  Runasなんてあったのかー.

  650 :デフォルトの名無しさん:2010/02/10(水) 15:52:52
  MSのヘルプは探すのが面倒.

  651 :デフォルトの名無しさん:2010/02/10(水) 16:15:51
  ヘルプより掲示板で聞いた方が早いし楽.

  652 :デフォルトの名無しさん:2010/02/12(金) 01:00:53
  WindowsXPのコンソールで,
  unixでいうところのsmbclientを使うには,
  どのようにしたらよいでしょう?
  smbはもともとWindowsのプロトコルで, GUIに統合されているため,
  smbclientのコマンドラインプログラムというのがあるのかないのか,
  よくわからないのですが,
  パスワードつきの他のマシンに起動時に自動接続するのに,
  ネットワークドライブに割り当てただけではだめだったので,
  それならコンソールでコマンドを実行して接続するか, と考えました.
  ご存じでしたらアドバイスをお願いします.

  653 :デフォルトの名無しさん:2010/02/12(金) 01:04:43
  net

  654 :デフォルトの名無しさん:2010/02/12(金) 01:21:50
  >>653
  thanks

  655 :デフォルトの名無しさん:2010/02/14(日) 03:13:43
  MSのヘルプは詳しいのと詳しくないのと差があるからな.
  makecabとかまったくわからんしfsutilとか独自すぎて笑える.
  cmdのヘルプもわかりにくい部類になるだろう.
  書いてあるのかないのかよくわからんことも多いし.
  掲示板のほうが楽しいとかはさすがにあれだが. w.

  656 :デフォルトの名無しさん:2010/02/14(日) 21:54:55
  あのさあ. . .
  objShell.Run "コマンド1 | コマンド2 | sort"
  とかをスクリプトでするとしましょう.
  そのとき, 途中のコマンドが.
  .vbs とか  .wsf の//job:XXX として,
  そのなかに Wscript.Sleep 100 があるとパイプラインが詰まる?
  ことないですか?

  657 :デフォルトの名無しさん:2010/02/14(日) 22:37:57
  それ詰まるもなにもパイプラインにならんだろ?

  658 :デフォルトの名無しさん:2010/02/14(日) 22:48:45
  えー. . . . ごめーん.
  コマンド1  とかは.
  Cscript //nologo XXX.vbs で,
  XXX.vbs や  YYY.wsf //job:ZZZ 内部では.
  Wscript.Echo とか  Wscript.StdOut.WriteLine 使用.
  ではどうだろう.
  あげたれ.

  659 :デフォルトの名無しさん:2010/02/14(日) 23:07:30
  コマンド1がパイプラインの機能を持ってるのか?という話だが?
  cmd /cならパイプラインの機能を持ってるが?

  660 :デフォルトの名無しさん:2010/02/14(日) 23:29:58
  あああ, そのとおり.
  objShell.Run "cmd.exe /c " & "コマンド1 | " & ...
  でした.
  で, コマンド1にWscript.Sleep 100 があるとコマンド1で止まっちゃうような.
  気がするのです.

  661 :デフォルトの名無しさん:2010/02/15(月) 00:09:24
  ないです.

  662 :デフォルトの名無しさん:2010/02/15(月) 21:36:31
  ないですね. はてな.

  663 :デフォルトの名無しさん:2010/02/16(火) 13:52:42
  教えてください.
  set AAA=D:\WORK
  set FOLDER=%1
  set INFNAME=%2
  set OUTFNAME=%3
  set INFPASS=%FOLDER%\%INFNAME%
  set OUTFPASS=%FOLDER%\%OUTFNAME%
  copy %INFPASS% %OUTFPASS%
  で, %1に「AAA」を渡した場合に, FOLDERに%AAA%が設定され,
  結果的に%FOLDER%  が  D:\WORK  となる事は可能ですか?

  664 :デフォルトの名無しさん:2010/02/16(火) 14:29:10
  >>663
  こんな感じかな?
  x set FOLDER=%1
  o call set FOLDER=%%%1%%

  665 :デフォルトの名無しさん:2010/02/16(火) 18:01:21
  >>664
  できました. ありがとうございました.

  666 :デフォルトの名無しさん:2010/02/27(土) 11:20:25
  質問させてください.
  パソコンちょっと詳しいからということで, 会社の.
  ネットワーク管理者にされてしまいました.
  運の悪いことに, 次年度からパソコンの更新が行われ,
  Windows XP->Windows 7にOSも変更になりました.
  前任の人がWindows XP環境でログインしたときに,
  仕事でよく使うフォルダへのショートカットを.
  ログイン時のバッチファイルで表示させていたのですが,
  Windows 7では動作しないみたいなのですorz
  Windows 7でバッチファイルでファイルのショートカットを.
  デスクトップに表示させるにはどうしたらいいでしょうか?
  いろいろググッてみましたが, それ用のフリーソフトが.
  あるみたいなのですが, Windows 7では動きそうにないんです...

  667 :デフォルトの名無しさん:2010/02/27(土) 13:05:03
  http://pc12.2ch.net/test/read.cgi/win/1243134619/
  管理者スレ.

  668 :デフォルトの名無しさん:2010/02/27(土) 13:08:37
  回答させてください.
  >ログイン時のバッチファイルで表示させていたのですが,
  >Windows 7では動作しないみたいなのですorz
  動作するかしないかはっきりさせろ!
  実行してみりゃどういうエラーが出てるかわかるだろ?

  669 :デフォルトの名無しさん:2010/02/27(土) 13:23:23
  >>668
  前任の人の設定のままでXPのマシンをログインすると.
  ちゃんとショートカットでるのですが, 7だと,
  エラーメッセージも出ず, スルー状態なんです.
  (つまり何もおきない)
  他のソフトインストールして試して見ます.
  このスレの人で, ショートカット表示.
  させるコマンドライン知っている人い.
  ましたら, ご教示ください.
  おながいしまつ.

  670 :デフォルトの名無しさん:2010/02/27(土) 14:29:35
  ドメインへのログオンスクリプトならポリシーの適用してない/できてないとか.
  そもそもhomeでドメインに参加できないとか.
  ショートカット表示の意味がわからない.
  エクスプローラ上で表示させる事なのか, リモート資源の接続先をポップアップさせる事なのか.
  とにかく5W1Hで明確に書いてくれないと全くわかんね.

  671 :デフォルトの名無しさん:2010/02/27(土) 15:20:16
  >>670 多分668さんも同一人物.
  とても親切にしていただいてありがとうございます.
  前の設定者はドメインに参加する時点で, windows 2003 server
  のActive Direcrory処理の際に, ログオンするときのバッチファイルに.
  デスクトップにショートカットを表示させるようにしてたみたいです.
  というのも, 管理者以外はディレクトリ構造も知らないので,
  それを全員に分からせてセキュリティレベルを下げるより,
  自動的にショートカットを表示してクリックさせるという形に.
  したようです. 確かにパスを追っていけばそのファイルに到達しますが,
  わざとそうさせないみたいです. (その方針には私も賛成します)
  長文すみません.

  672 :デフォルトの名無しさん:2010/02/27(土) 15:22:13
  で, デスクトップへ通常使うけど,
  パスを探られたくないフォルダへの.
  ショートカットを入れたいということです.
  パソコンしかさわったことないので,
  こういう具体的かつ実践的なご指摘はとても.
  勉強になります. ありがとうございます.

  673 :デフォルトの名無しさん:2010/02/27(土) 17:01:32
  ポリシー設定のなかにもデスクトップの表示に関する項目があった気がする.
  このスレ的にはログオンスクリプトの中でNET USEで接続しているんだろうな位・・・もしかするとSUBST?

  674 :デフォルトの名無しさん:2010/02/27(土) 17:24:57
  ありがとうございます.
  明日は日曜ですが, 隠れ出社して試してみます.

  675 :デフォルトの名無しさん:2010/02/27(土) 19:12:15
  バッチからショートカットを作るのはむずかしかろ.
  インターネットショートカットならかんたん.
  (
  echo;[InternetShortcut]
  echo;URL=\\server\sharename\folder
  ) > desktop\hoge.url

  676 :デフォルトの名無しさん:2010/02/27(土) 19:34:54
  どういう風に作ってたかしらんけど, フォルダ構造が変わったからじゃないの?
  大抵は新しいパスへリダイレクトしてくれるけど, AllUsers->Publicの部分はうまくいかない模様.
  XP以前:C:\Documents and Settings\All Users\Desktop
  Vista以降:C:\Users\Public\Desktop

  677 :デフォルトの名無しさん:2010/02/27(土) 20:15:31
  >>676
  さすがに会社のサーバ?でユーサフォルダ以降のフォルダ使わないだろ. w.
  まさか, な・・・?

  678 :デフォルトの名無しさん:2010/02/28(日) 00:15:40
  >>675-677
  ヒントありがとうございます.
  まさかもありえるのでちょっとやってみます.

  679 :デフォルトの名無しさん:2010/02/28(日) 05:55:24
  規模にもよるけど引継ぎ書とか運用手順書とか必要でしょ.
  次の人に渡すにしても.
  前任者に要求しとかないとまずいね.

  680 :デフォルトの名無しさん:2010/02/28(日) 12:55:36
  「ログオンするときのバッチファイル」を, クライアントのWindows7マシン上にコピーして.
  コマンドラインから実行してみたらエラー内容が分かるんじゃない?

  681 :デフォルトの名無しさん:2010/02/28(日) 18:47:20
  みなさんありがとうございます.
  バッチファイルが別のバッチファイル呼び出すような.
  入れ子構造になっていることが判明し, 解析に手間取ってます.
  というか, そもそもDOSのコマンド知らないorz
  一から調べていますので少々時間くださいまし.

  682 :デフォルトの名無しさん:2010/03/03(水) 19:37:11
  みなさんヒントありがとうございました.
  2ch落ちたので, その間にいろいろ調べて.
  見ました. 問題が2点あって, 一つが.
  >>676  さんのご指摘に近く,
  Xp「デスクトップ」->7「Desktop」
  Xp「NetHood」->7「AppData\Roaming\Microsoft\Windows\Network Shortcuts」
  Xp「スタート メニュー\プログラム」->「Microsoft\Windows\Start Menu\Programs」
  に書き換えるのと,
  >>670 673 さんのご指摘に近く,
  Xpだとアクセス権のないフォルダ内の実行ファイルも実行できていた.
  のが, 7だとアクセス権がないフォルダのファイルはスルーされること.
  が問題で, それらを訂正したら何とか動いてガッツですた.
  (3日かかりますた. )
  ちなみに, それで0からDOSコマンド勉強始めたのですが,
  前任者は, ショートカットをアクセスされてもいいフォルダにつくって.
  そのショートカット自体をファイルとしてコピーするということで.
  ショートカットの自動表示をしていました.
  大変勉強になりました. また, 機会がございましたら,
  質問させていただければ幸いです.
  (ここから後は管理者スレの内容になりそうなので,
  純粋にバッチファイルに関する内容の時にまた来ます. )
  ありがとうございました.

  683 :デフォルトの名無しさん:2010/03/03(水) 22:56:17
  cmdでlinuxの mkfifo hoge 的なことってできますか?

  684 :デフォルトの名無しさん:2010/03/04(木) 00:20:27
  普通のファイルで1 writer n readerができるが?

  685 :デフォルトの名無しさん:2010/03/04(木) 21:13:13
  CreateNamedPipe()で作れば?

  686 :デフォルトの名無しさん:2010/03/07(日) 19:34:58
  Jドライブの直下のlhacaフォルダの下にLhaca.exeという圧縮ファイルがあります.
  それをつかってJドライブ直下にあるaaaフォルダを圧縮してデスクトップに出力させたいのですが.
  どうもうまくいきません.
  どこが悪いかを教えてください.
  cd J:\lhaca
  Lhaca.exe temp.zip J:\aaa

  687 :デフォルトの名無しさん:2010/03/07(日) 23:14:06
  もしカレントドライブがC:の場合はcdでJ:\lhacaを指定しても.
  そのあと j: でカレントドライブを変更しないと相対でlhaca.exeを入力したら.
  カレントドライブ(C:\)のカレントディレクトリでlhaca.exe探しちゃうけどそこは大丈夫?
  もしそれが問題なら.
  j:
  cd J:\lhaca
  Lhaca.exe temp.zip J:\aaa
  にすべき. これで違ったらそれはLhaca.exeの問題かも.

  688 :デフォルトの名無しさん:2010/03/07(日) 23:28:57
  有り難うございます.
  既にカレントドライブはJになっています.
  Lhacaは普通に手で実行すると普通に開くのですが.
  Dosコマンドで開こうとするとどうしてもエラーになります.

  689 :デフォルトの名無しさん:2010/03/08(月) 00:10:36
  >>688
  詳しいエラー教えて.

  690 :デフォルトの名無しさん:2010/03/08(月) 02:30:59
  +Lhaca 0.76 を落として試してみたけど.
  Windows7 x64で実行するとファイル名バグるな.
  (Lhaca.exe temp.zip readme.txt だと「(」名の空フォルダができるだけ.
    Lhaca.exe .\temp.zip .\readme.txt とすると圧縮はできるけど「(.zip」という名前になる)
  デラックス版(1.24)も試してみたが, こちらは空フォルダすら作れなかった.
  そもそもマニュアルにコマンドライン引数について何の記述もないし, サポート外の機能のようだ.
  7-Zipとかコマンドラインに正式に対応してるアーカイバ使った方がいいんでない?

  691 :デフォルトの名無しさん:2010/03/08(月) 02:52:16
  >>690
  そうそう. 俺もWindows7 x64 だが同じ状況.
  Lhaca.exe temp.zip J:\aaa の  temp.zipが問題だねえ.
  これを抜いて Lhaca.exe J:\aaa で圧縮するとaaa.zipで圧縮されるから.
  圧縮ファイルの名前=圧縮するファイルまたはフォルダ  だね.
  そもそもzipで圧縮されずにlzhで圧縮されるようだ.
  もしJ:\aaaのフォルダをtemp.lzhにしたいなら.
  ren %2 %1
  Lhaca.exe %1
  ren %1 %2
  上記のコマンドをLhaca.bat かなんかに保存してLhaca.exeと同じフォルダに置き,
  Lhaca.bat temp aaa
  と入力すればデスクトップにtemp.lzhが作成される.
  問題点は解凍した時にtempというフォルダになってしまう事か.
  圧縮ファイルをrenできればいいけどデスクトップに圧縮されるからOSの関係上,
  XPだと デスクトップ      vista/7 だと  Desktopになって環境によってリネームできない.
  結局は>>690が言っているように別のアーカイバ使った方が良いよってこと.

  692 :デフォルトの名無しさん:2010/03/08(月) 03:44:39
  文字を入力させて, その文字でファイル名を判断して該当のフォルダに移動するバッチプログラムは需要ある?
  別の言語では時々見るんだけどコマンドプロンプトでやってるの見たことないからさ.
  http://blog-imgs-42.fc2.com/s/h/t/shtpg/fri.txt

  693 :デフォルトの名無しさん:2010/03/08(月) 03:57:06
  >>691
  圧縮形式や作成先はLhaca自体の設定(レジストリ)に依存するようだよ.
  Lhacaはコマンドラインで使わないほうがいいな.

  694 :693:2010/03/08(月) 04:00:46
  と思ったらレジストリじゃなくて.
  "C:\Windows\Lhaca.ini"
  なんてのが勝手に作成されてた.
  行儀が悪すぎる!

  695 :デフォルトの名無しさん:2010/03/08(月) 08:24:06
  >>686
  [下矢印]横レスだが, ZIP形式の代わりにLZH形式で圧縮するなら, この二つを併用して・・・.
  http://www.vector.co.jp/soft/win95/util/se028209.html
  http://www.vector.co.jp/soft/win95/util/se020193.html
  [下矢印]
  例えばWindowsXPの場合, "Lha32.exe"が"C:\WINDOWS"フォルダ直下またはカレントフォルダ,
  "UNLHA32.DLL"が"C:\WINDOWS\SYSTEM32"フォルダ直下または"Lha32.exe"と同じフォルダに.
  存在する状態で, 以下のコマンドラインを打ち込めばOKなんだけどね.
  LHA32 A /D1 "%USERPROFILE%\デスクトップ\macros.lzh" "J:\aaa\*"

  696 :デフォルトの名無しさん:2010/03/08(月) 08:33:40
  >695をちょっと訂正.
  macros.lzh -> aaa.lzh
  いずれにせよ"%USERPROFILE%\デスクトップ\"を指定するのがポイント.
  ただし「窓の手」などでデスクトップのフォルダを任意のフォルダに変えてる場合, この手段は使えない.

  697 :デフォルトの名無しさん:2010/03/08(月) 23:24:41
  >>691
  バッチというかコマンドラインでやっても問題ない.
  アーカイバってどんなのがあるの?
  一見しただけじゃわからないからな.

  698 :デフォルトの名無しさん:2010/03/09(火) 01:03:50
  有名どころならWinRARとか7zipでもできるよ.

  699 :デフォルトの名無しさん:2010/03/09(火) 01:31:57
  コマンドラインならundll.exe使っとけ. 統合アーカイバDLLならどれでもおk.

  700 :693:2010/03/09(火) 01:48:24
  圧縮できればいいのなら makecab という手もある.

  701 :デフォルトの名無しさん:2010/03/09(火) 02:27:44
  C:\Program Files\Windows Resource Kits\Tools\compress.exe /?
  Syntax:
  COMPRESS [-R] [-D] [-S] [ -Z | -ZX ] Source Destination
  COMPRESS -R [-D] [-S] [ -Z | -ZX ] Source [Destination]
  Description:
  Compresses one or more files.
  Parameter List:
  -R Rename compressed files.
  -D Update compressed files only if out of date.
  -S Suppress copyright information.
  -ZX LZX compression. This is default compression.
  -Z MS-ZIP compression.
  Source Source file specification. Wildcards may be
  used.
  Destination Destination file | path specification.
  Destination may be a directory. If Source is
  multiple files and -r is not specified,
  Destination must be a directory.
  Examples:
  COMPRESS temp.txt compressed.txt
  COMPRESS -R *.*
  COMPRESS -R *.exe *.dll compressed_dir

  702 :デフォルトの名無しさん:2010/03/09(火) 15:34:51
  CMDで[下矢印]の様なトランザクション処理はどのように記述すればよいのでしょうか?
  これがないと怖くて処理が書けないのですが.
  PowerShell 2.0の新機能(5)  ----トランザクション編(1/3):CodeZine
  http://codezine.jp/article/detail/4944

  703 :デフォルトの名無しさん:2010/03/09(火) 16:31:12
  @echo off
  powershell syori.ps1

  704 :デフォルトの名無しさん:2010/03/09(火) 17:02:59
  Parameter List:
  -R Rename compressed files.
  -D Update compressed files only if out of date.
  -S Suppress copyright information.
  -ZX LZX compression. This is default compression.
  -Z MS-ZIP compression.
  Source Source file specification. Wildcards may be

  705 :デフォルトの名無しさん:2010/03/09(火) 17:13:21
  図解入門 よくわかる最新データ圧縮技術の基本と仕組み.
  --情報圧縮技術とアルゴリズムの基礎講座.
  How‐nual Visual Guide Book.
  圧縮アルゴリズム--符号化の原理とC言語による実装 C magazine

  706 :デフォルトの名無しさん:2010/03/17(水) 12:10:47
  Windows Vistaのバッチファイルについて質問です.
  EXEの起動でパラメータを渡す際スペースがあるものは""
  で囲むと思っていたのですが.
  test.exe "C:\Dir 1\"
  とすると最後の\が消えて.
  C:\Dir 1"
  として受け取ってしまうようでした.
  試しにVCで__argvを確認してもそうなっているようでしたが.
  どんな書式規則でこうなるんでしょうか?

  707 :デフォルトの名無しさん:2010/03/17(水) 12:19:37
  そういやウチのWinXP(SP3)では以下のようにVBScriptファイルを起動すると,
  ちゃんと"C:\Dir 1\"と受け取ってくれたよ.
  確かWin95/98/Me/NT/2000でも同じ挙動だったはず.
  test.vbs "C:\Dir 1\"

  708 :デフォルトの名無しさん:2010/03/17(水) 12:30:02
  >>707
  確認してみましたが, 確かにVBSだときちんと受け取ってますね・・.
  理由は気になりますが, 書式として間違っていたわけではないと.
  わかっただけで大収穫です.
  ありがとう.

  709 :デフォルトの名無しさん:2010/03/17(水) 14:19:30
  >>706
  test.exe "a b c d"の中に"を入れるときは, \"でエスケープするだよ.
  test.exe "a \"b c\" d"

  710 :デフォルトの名無しさん:2010/03/17(水) 19:29:21
  >>709
  おお!なるほど!エスケープを使えたとは知りませんでした.
  すっきり解決しました. ありがとう.

  711 :デフォルトの名無しさん:2010/03/17(水) 20:03:53
  exeによって解釈は違うから永久にすっきりしないよ.

  712 :デフォルトの名無しさん:2010/03/17(水) 23:08:07
  某コマンドラインツールのリスト形式の標準出力を.
  某コマンド 某オプション | findstr /b /e /c:"hoge foo %fuga%"
  のような書き方で完全一致検索したいのですが,
  リスト形式の標準出力がLF改行となっているらしく.
  (パイプの代わりにリダイレクトして確認),
  findstrコマンドの/eオプションが期待通りに動作しません.
  (/eオプションはCRLF改行しか認識しない?)
  /rオプションの正規表現モードで\nや\x0Aが使えればいいのですが,
  findstrの正規表現は貧弱で使えず, $もLF改行にはマッチしないようです.
  VBやVBScriptで使える「VBLF」のようなLF改行を示す定数か,
  Chr(10)のような文字コード指定でLF改行を明示する手段は,
  MS-DOSバッチファイルにはないのでしょうか?
  環境はWinXP Pro SP3です.

  713 :デフォルトの名無しさん:2010/03/17(水) 23:12:40
  某コマンド 某オプション | more | findstr /b /e /c:"hoge foo %fuga%"

  714 :デフォルトの名無しさん:2010/03/17(水) 23:27:56
  /x

  715 :デフォルトの名無しさん:2010/03/18(木) 01:51:47
  動画ファイルだけどシステム属性が付いてるファイルがあります.
  ググったところ, コマンドプロンプトから「attrib ドライブ名:\ファイル名.拡張子 -s」で解除できることがわかりました.
  いちいちコマンドプロンプトからやらないで, バッチファイルを作って, それを実行することで解除するようにするにはどういう記述を書けばいいのでしょう.

  716 :デフォルトの名無しさん:2010/03/18(木) 02:19:01
  つ http://pc12.2ch.net/test/read.cgi/software/1265545912/

  717 :デフォルトの名無しさん:2010/03/18(木) 10:01:26
  >715
  @echo off
  attrib ドライブ名:\ファイル名.拡張子 -s

  718 :デフォルトの名無しさん:2010/03/18(木) 10:12:28
  >>711
  Windowsのコマンドで, きえる, \"以外の例を挙げてみろよ.

  719 :デフォルトの名無しさん:2010/03/18(木) 10:54:37
  "C:\Program Files\Internet Explorer\iexplore.exe" "http://www.ya\"hoo.com"

  720 :デフォルトの名無しさん:2010/03/18(木) 17:42:01
  無理すんな.

  721 :デフォルトの名無しさん:2010/03/18(木) 19:20:51
  http://msdn.microsoft.com/ja-jp/library/cc429051.aspx
  CommandLineToArgvW 関数.
  対応情報.
  Windows NT: バージョン 3.5 以降を使います.
  Windows: サポートされていません.
  Windows CE: サポートされていません.
  別に無理していないけど, Windowsでサポートされていない関数の挙動を.
  Windows標準とみなすのはどうかと思うわけよ.
  実際いろいろなexeがそれぞれ好き勝手に解釈しているし.

  722 :デフォルトの名無しさん:2010/03/18(木) 19:55:53
  そんな便利なものがあったのか.

  723 :デフォルトの名無しさん:2010/03/18(木) 20:56:58
  NT標準でいいが  9xとかいらね.

  724 :デフォルトの名無しさん:2010/03/18(木) 22:29:59
  9xは__argv, NTはCommandLineToArgvW

  725 :デフォルトの名無しさん:2010/03/19(金) 17:12:30
  >>721
  無理すんな.

  726 :デフォルトの名無しさん:2010/03/20(土) 16:59:48
  環境変数のuserpartってなに?

  727 : - :2010/03/21(日) 00:49:25

  728 : - :2010/03/21(日) 00:51:01

  729 :712:2010/03/21(日) 13:59:48
  >>713
  moreコマンドでは某コマンドの出力行が長くなった時に問題あるかと思い,
  find -v ""にて標準出力を無条件にfindする方法にて対応しました.
  ですが, LF改行の出力が別のコマンドでフィルタすることによって,
  CRLF改行に変換できるというのが大変参考になり, どうもありがとうございました.
  >>714
  /xオプションなら/bと/eを併用しなくてもよかったのですね.
  ヘルプやオンラインマニュアルで印刷やプリントといったキーワードが使われていたため,
  完全一致検索のことを指していると気づいていませんでした.
  マイクロソフトの翻訳は微妙なことも多いので, 英語版サイトもこれからは見るようにします.
  どうもありがとうございました.

  730 :712:2010/03/22(月) 08:36:22
  引数%1がフォルダだった場合とファイルだった場合で.
  処理分岐するバッチファイルを作成したいのですが,
  修飾子%~a1で取得できる属性には, ディレクトリとファイルを区別する.
  属性がなく, 困っています.

  731 :730:2010/03/22(月) 11:28:45
  OSはWindows Server 2003です.
  書き忘れていました.

  732 :デフォルトの名無しさん:2010/03/22(月) 12:55:32
  あるけど?

  733 :730:2010/03/22(月) 13:17:56
  >>732
  どうすればよいか教えて頂けませんか?

  734 :デフォルトの名無しさん:2010/03/22(月) 17:13:34
  dirかcd

  735 :デフォルトの名無しさん:2010/03/22(月) 17:25:02
  if exist dirname\con echo dir

  736 :デフォルトの名無しさん:2010/03/22(月) 18:17:09
  cd foo && echo succ || echo fail

  737 :デフォルトの名無しさん:2010/03/22(月) 21:26:33
  FOR /F "eol=-" IN ("%~a1") DO ECHO FOLDR
  FOR /F "eol=d" IN ("%~a1") DO ECHO FILE

  738 :デフォルトの名無しさん:2010/03/22(月) 21:46:12
  OS:Windows2003 server, WindowsXP
  複数のCSVファイル(yyyymmdd_hhmmss.csvのフォーマット)
  をmoreコマンドでひとつのcsvファイルにマージする際,
  プライマリキーにおいて重複するレコードを最新のレコード以外.
  削除するほうほうってないですかね.
  バッチ単体で.

  739 :デフォルトの名無しさん:2010/03/22(月) 22:14:40
  ない.

  740 :デフォルトの名無しさん:2010/03/22(月) 22:40:00
  dir /ad /b "%~dp1" | findstr /x "%~nx1" &&echo foruda

  741 :デフォルトの名無しさん:2010/03/23(火) 18:37:03
  >>736
  cdが変わるからやだ.

  742 :デフォルトの名無しさん:2010/03/23(火) 19:01:51
  >>735
  "dir name"だと駄目やんけ.

  743 :デフォルトの名無しさん:2010/03/23(火) 20:29:25
  cd "c:\System Volume Information" && echo succ || echofail

  744 :デフォルトの名無しさん:2010/03/23(火) 20:34:37
  >>741
  pushd&popd使えよ.

  745 :デフォルトの名無しさん:2010/03/23(火) 22:45:39
  つcmd /c cd

  746 :デフォルトの名無しさん:2010/03/24(水) 23:35:07
  バッチ内でwmic process get や wmic ntevent を使用して, 結果をテキストファイルに出力しようとしています.
  ここで, wmicの出力がUnicode, 別のリダイレクト部分(START, ENDなどのコメント)がSJISで出力されてしまいます.
  wmicの出力をSJIS(CR+LF)にする方法はありますでしょうか.

  747 :デフォルトの名無しさん:2010/03/25(木) 01:01:55
  http://scripting.cocolog-nifty.com/blog/2009/09/wmic-6efe.html

  748 :デフォルトの名無しさん:2010/03/25(木) 19:05:39
  >別のリダイレクト部分(START, ENDなどのコメント)がSJISで出力されてしまいます.
  これをunicodeで出せばよい.

  749 :デフォルトの名無しさん:2010/03/26(金) 00:35:26
  >>740
  rootに使えん.

  750 :デフォルトの名無しさん:2010/03/27(土) 00:31:19
  >>742
  if existはどうやっても駄目だな.

  751 :デフォルトの名無しさん:2010/03/27(土) 00:43:39
  if exist "dir name\*" は?

  752 :デフォルトの名無しさん:2010/03/27(土) 01:51:37
  オラも考えてみた.
  if exist "%~1" (
  dir /a:d "%~1" 1>nul 2>&1
  if errorlevel 2 goto nazo
  if errorlevel 1 goto fileeee
  if errorlevel 0 goto dirrrrr
  ) else (
  echo "%~1" が無いよ?
  goto naiyo
  )
  優雅さに欠けるし, = でダメだ... orz
  ふと思ったのは %1 を渡された時にたとえば aaa と aaa========== を見分けるにはどーすりゃいいんだ?

  753 :デフォルトの名無しさん:2010/03/27(土) 02:11:47
  pushd %1&&popd
  echo %errorlevel%

  754 :デフォルトの名無しさん:2010/03/27(土) 07:01:38
  >>752
  >ふと思ったのは %1 を渡された時にたとえば aaa と aaa========== を見分けるにはどーすりゃいいんだ?
  ヒント:findstr /x

  755 :デフォルトの名無しさん:2010/03/27(土) 09:22:25
  >>754
  findstr をしようにも, たとえば.
  echo %1
  というバッチファイル test.bat で.
  test.bat aaa と test.bat aaa===== でどちらも aaa となって末尾の = が拾えない.
  のを「見分けるにはどーすりゃいいんだ?」と思ったんですが.
  オレ何か勘違いしてる?

  756 :デフォルトの名無しさん:2010/03/27(土) 14:29:01
  >>751
  あまいな  .もない, 空のフォルダってぇのがあるのだ.
  >>752 >>753
  アクセス権がないフォルダはファイルなのか.
  >>755
  別の話を絡めるな.
  test.bat "aaa====="

  757 :デフォルトの名無しさん:2010/03/27(土) 14:35:30
  厳密にやりたきゃ別の言語使えよ. もう質問してる奴もいないし秋田.

  758 :デフォルトの名無しさん:2010/03/27(土) 15:56:47
  別の言語使いたけりゃ他スレへ行けよ.

  759 :デフォルトの名無しさん:2010/03/27(土) 17:34:27
  厳密にやりたきゃ%~a1を使えばよいだけの話.

  760 :デフォルトの名無しさん:2010/03/28(日) 17:31:02
  あるソフトウェアのバージョン違いが3つほど入ってるんだけど.
  デスクトップに同じ見た目のアイコンが3つあるからややこしくて.
  バッチファイルをクリックすると上下ボタンでどのソフトを起動するか.
  選択できて, エンター押すと実行っていうのを作りたいんだけど.
  誰か作ってくんない?
  イメージ的にはウィンドウズをセーフモードで起動したときに.
  選択する画面がまずでてくるんだけどあんな感じ.

  761 :デフォルトの名無しさん:2010/03/28(日) 17:56:46
  アイコン変えればいいじゃん.

  762 :デフォルトの名無しさん:2010/03/28(日) 18:03:24
  デスクトップに3つあるアイコンそれぞれに.
  異なるショートカットキーを指定すればいいじゃん.

  763 :760:2010/03/28(日) 18:25:55
  こんな感じのを作ってみたんだけど.
  やっぱり上下のキーで選択するUIがいいなぁと思うので.
  誰か改造求む!
  @echo off
  echo アプリケーションを選択して下さい.
  echo [1] : メモ帳.
  echo [2] : ペイント.
  echo [3] : 電卓.
  set /p INPUT=
  if "%INPUT%"=="1" start notepad
  if "%INPUT%"=="2" start mspaint
  if "%INPUT%"=="3" start calc

  764 :デフォルトの名無しさん:2010/03/28(日) 19:38:46
  Enterなしにキー入力を受け取る方法がないから無理.

  765 :デフォルトの名無しさん:2010/03/28(日) 19:47:41
  指定したファイルをホームページ(FTPで)にバッチファイルで送信することは可能でしょうか?

  766 :デフォルトの名無しさん:2010/03/28(日) 19:59:09
  @echo off
  echo アプリケーションを選択して下さい.
  echo [1] : メモ帳.
  echo [2] : ペイント.
  echo [3] : 電卓.
  choice /c 123
  if "%ERRORLEVEL%"=="1" start notepad
  if "%ERRORLEVEL%"=="2" start mspaint
  if "%ERRORLEVEL%"=="3" start calc

  767 :デフォルトの名無しさん:2010/03/28(日) 20:17:58
  if 1==2 (
  start notepad
  start mspaint
  start calc
  )
  [上矢印]

  768 :デフォルトの名無しさん:2010/03/28(日) 21:11:49
  大昔はそういうメニューが普通にあったが, GUIで死滅したな.
  あってもブート選択画面ぐらいか.

  769 :デフォルトの名無しさん:2010/03/28(日) 21:15:15
  1文字読み取って制御を返すツール作ればいろいろ用途が広がるよ.
  2ストロークで26^2個のツール呼び出せるランチャ作ったけど軽くて便利.

  770 :デフォルトの名無しさん:2010/03/28(日) 22:05:34
  powershell使えばカーソル選択メニューが作れるよ.

  771 :デフォルトの名無しさん:2010/03/28(日) 22:32:52
  >>765
  できるよ.
  バッチファイルとまた一つftpコマンドを書いたテキストファイルが必要になる.

  772 :デフォルトの名無しさん:2010/03/29(月) 13:10:44
  >>771
  遅レスすみません.
  ありがとうございます. おかげでできました.

  773 :デフォルトの名無しさん:2010/03/29(月) 21:37:47
  コマンドプロンプトに表示された文字を(txt等)に出力ってできますか?

  774 :デフォルトの名無しさん:2010/03/29(月) 21:42:46
  無理.

  775 :773:2010/03/29(月) 22:54:06
  すみません, 自己解決しました.
  test.bat > log.txt

  776 :デフォルトの名無しさん:2010/03/29(月) 23:40:05
  >>775
  それだと標準エラーがファイル出力できないよ.

  777 :デフォルトの名無しさん:2010/03/29(月) 23:48:00
  test.bat > log.txt 2<&1

  778 :デフォルトの名無しさん:2010/03/29(月) 23:59:44
  >>776-777
  そうなんですか, 知りませんでした!
  ありがとうございます.

  779 :デフォルトの名無しさん:2010/03/30(火) 11:24:07
  質問です.
  ファイル.
  a.txt.bak
  ab.html.bal
  abc.exe.bak
  があるとすると.
  拡張子.bakだけ一括で名前変更できるでしょうか?

  780 :デフォルトの名無しさん:2010/03/30(火) 13:17:31
  できないわけがない.

  781 :デフォルトの名無しさん:2010/03/30(火) 13:35:10
  ren *.bak *.hoge

  782 :デフォルトの名無しさん:2010/03/30(火) 13:51:39
  それじゃ.
  a.txt.baka
  ab.html.aho
  abc.exe.baka
  拡張子.bakaだけ一括で名前変更できるでしょうか?

  783 :779:2010/03/30(火) 14:02:57
  すみません, 質問の仕方が間違えていました.
  bakの部分だけ消したいんです.
  a.txt.bak->a.txt

  784 :デフォルトの名無しさん:2010/03/30(火) 14:17:18
  ren *.bak *.

  785 :デフォルトの名無しさん:2010/03/30(火) 15:07:17
  >>784
  ありがとうございます.
  できました.

  786 :デフォルトの名無しさん:2010/03/30(火) 16:00:55
  hogeよりはahoやbakaの方が好き.
  おっと, kusoも使うな. w.

  787 :デフォルトの名無しさん:2010/03/30(火) 17:21:12
  chinko
  manko
  unko
  shikko

  788 :デフォルトの名無しさん:2010/04/06(火) 00:27:29
  すみません. テキストファイルの中身の特定行だけ抜き出す方法を教えてください.
  test.txt中身.
  ---------------
  morning
  hello
  bye
  ---------------
  上のようなファイルがあったとして, 1行目のmorningや, 3行目のbyeを.
  変数やファイルに出力する方法はないでしょうか.
  外部コマンドは使えないWindowsXP/2003環境です.

  789 :デフォルトの名無しさん:2010/04/06(火) 02:28:58
  for /?

  790 :デフォルトの名無しさん:2010/04/06(火) 02:28:59
  >>788
  find使って >baka.txtとかで出力.
  うまく使えば一つのバッチファイルで色んなバッチファイルを作成することができるから便利.

  791 :デフォルトの名無しさん:2010/04/06(火) 07:40:04
  findは外部コマンド.

  792 :デフォルトの名無しさん:2010/04/06(火) 07:56:00
  >>788
  findstr /r "^morning$ ^bye$" > hoge.txt

  793 :デフォルトの名無しさん:2010/04/06(火) 09:11:31
  >>791
  空気読め馬鹿.

  794 :デフォルトの名無しさん:2010/04/06(火) 09:28:43
  料理できないと買ってきた惣菜をならべるぐらいのことでも自慢するんだよ.
  それ外で買ってきたんだろとあきれられてても本人は満足.

  795 :デフォルトの名無しさん:2010/04/06(火) 20:43:40
  バッチファイルでテトリス作って.

  796 :デフォルトの名無しさん:2010/04/06(火) 22:12:33
  >>792
  ありがとうございます.
  説明が不足してたのですが, 必ずしも1行目にmorningがあって, 3行目にbyeがあるわけじゃない場合に.
  1行目, 3行目を抽出って出来るんでしょうか. 根本から違うやり方考えた方が良いですかね・・・.

  797 :792:2010/04/06(火) 22:28:25
  findstrコマンドは/cオプションを指定しない場合は,
  二重引用符内で半角空白区切りで指定されたキーワードを.
  OR検索できるんだけど,
  やりたいのは, 特定キーワードで抽出したいんじゃなくて,
  特定の行番号を抜き出したいってこと?

  798 :デフォルトの名無しさん:2010/04/06(火) 23:05:41
  下のようなのを作る場合変数iの引数は12個まで.
  とかいう決まりがあるのでしょうか?
  for %%i in (%*) do xxxxx %%i
  pause
  このバッチファイルに引数となるファイルをドラッグ&ドロップしたら.
  「指定されたデバイス, パス, またはファイルにアクセスできません.
    アクセス許可がない可能性があります. 」
  と言われます. ちなみに12個まではOKでした.

  799 :デフォルトの名無しさん:2010/04/06(火) 23:18:13
  >>798
  D&Dした複数ファイルのフルパス文字列の長さが限界に達したのでは?
  その12ファイルをもっと浅い(フルパスの短い)階層に移動させれば,
  13ファイル以上もいけるかと.
  Win9x系かNT系かでも変わってくると思う.

  800 :799:2010/04/06(火) 23:21:16
  ごめん. NT系でもNT4.0や2000とXP以降で違うみたい.
  http://support.microsoft.com/kb/830473/ja

  801 :デフォルトの名無しさん:2010/04/06(火) 23:25:24
  >>799, 800
  たぶん, ファイルの長さだと思います.
  ありがとうございました.

  802 :デフォルトの名無しさん:2010/04/06(火) 23:34:51
  たぶん?
  結局どうでもよかったのか.

  803 :792:2010/04/06(火) 23:55:34
  >>796
  find /n /v "" test.txt|findstr /b /l "[1] [3]"
  または.
  type test.txt|find /n /v ""|findstr /b /l "[1] [3]"
  または.
  type test.txt|findstr /n /v ""|findstr /r "^1: ^3:"
  Mac環境から書き込んでてテストしてないから間違ってるかも.
  特に3つ目の「findstr /n /v ""」は入力ファイルの全行に行番号出力になってないかも.

  804 :デフォルトの名無しさん:2010/04/08(木) 23:02:04
  >>801
  >たぶん, ファイルの長さだと思います.
  ファイルサイズは関係ないだろ.

  805 :デフォルトの名無しさん:2010/04/08(木) 23:09:06
  <test.txt (
  set /p x=
  call echo %%x%% >1.txt
  set /p x=
  call echo %%x%% >2.txt
  set /p x=
  call echo %%x%% >3.txt
  )

  806 :spectre:2010/04/11(日) 18:40:33
  アクティブな画面を「最新の情報に更新」にするバッチってありますかぁ?
  どなたかよろしくお願いします.

  807 :デフォルトの名無しさん:2010/04/11(日) 19:47:26
  バッチでは不向きな気が・・・.
  簡単なものでよければ VBScript 辺りでどう?
  ' ## update.vbs ##
  Dim objWshShell   ' WshShell オブジェクト.
  Set objWshShell = WScript.CreateObject("WScript.Shell")
  If Err.Number = 0 Then
  objWshShell.SendKeys "{F5}"   ' F5 を送信.
  Else
  WScript.Echo "エラー: " & Err.Description
  End If
  Set objWshShell = Nothing

  808 :デフォルトの名無しさん:2010/04/11(日) 19:53:59
  しかしどうやって動かすんだ?
  動いたときアクティブなウィンドウは?

  809 :デフォルトの名無しさん:2010/04/11(日) 20:05:00
  想定の範囲外です(キリッ.
  適当なフリーソフト使え.

  810 :デフォルトの名無しさん:2010/04/12(月) 19:17:26
  ローカルでphpスクリプトを動かす際に一連の流れを.
  バッチファイルでまとめてしまおうと思ったのですが.
  cd "ディレクトリ1"
  httpd.exe
  cd "ディレクトリ2"
  C:\php\php.exe batchtest.php
  このようなバッチファイルを作ったところ.
  httpd.exeを起動したところで止まってしまい, httpd.exeを終了させないと.
  次の行に行きませんでした.
  どのようにすればすべての処理が行われるでしょうか?

  811 :デフォルトの名無しさん:2010/04/12(月) 19:36:02
  cd "ディレクトリ1"
  httpd.exe
  taskkill /im httpd.exe
  cd "ディレクトリ2"
  C:\php\php.exe batchtest.php

  812 :デフォルトの名無しさん:2010/04/12(月) 20:56:35
  start httpd.exe

  813 :デフォルトの名無しさん:2010/04/13(火) 07:38:21
  >>811
  ヒネリがないので笑えん.

  814 :デフォルトの名無しさん:2010/04/13(火) 12:59:02
  >>813
  素直な奴だな.
  httpd.exeを終了させないとtaskkillが実行されないという二段オチなのに.

  815 :デフォルトの名無しさん:2010/04/13(火) 14:49:58
  下記のバッチ内, :mpexec_core にある if 文で落ちてしまいます.
  書き方に何か問題があるのでしょうか?
  http://ideone.com/OvSYW

  816 :デフォルトの名無しさん:2010/04/13(火) 15:10:11
  その行だけじゃわからないよ.
  環境変数に適切な値が入っているならちゃんと動くように見える.
  echoの表示やエラーメッセージはどうなってんの?
  エスパー初級な解答.
  if "%xxx%" geq "%yyy%"のように""で括れば.
  環境変数が空の場合でも落ちる事はなくなるはず.

  817 :815:2010/04/13(火) 15:25:07
  >816
  if "%MP_MAX%" geq "%MP_NUM%" (
  に変更しても落ちました.
  直前の出力は.
  if 1 geq 1 (
  なので, 両方に1が入っていることは確認済みなのですが・・・.
  エラーは 「コマンドの構文が誤っています. 」 です.

  818 :デフォルトの名無しさん:2010/04/13(火) 18:43:38
  エラーの詳細が出るようにバッチの先頭におまじないを書いておく.
  echo W 100 2 0 200 | debug

  819 :デフォルトの名無しさん:2010/04/13(火) 18:47:20
  >>817
  ()のなかの命令が不適切なのでは?

  820 :デフォルトの名無しさん:2010/04/13(火) 19:54:16
  ( ) の中で SET を使うのはやめといた方がいいよ.
  GOTO 文などに置き換えれば動くはず.

  821 :815:2010/04/13(火) 20:06:10
  >>819, 820
  ()の中を関数化したら正常に動作しました.
  ありがとうございました.

  822 :デフォルトの名無しさん:2010/04/13(火) 20:43:32
  すべてのウィンドウを「最新の情報に更新」にするバッチってありますかぁ?

  823 :デフォルトの名無しさん:2010/04/13(火) 22:48:22
  ないよ.

  824 :デフォルトの名無しさん:2010/04/14(水) 02:26:10
  ありがとうございました.

  825 :デフォルトの名無しさん:2010/04/14(水) 17:07:20
  作成日時は%~t1で取れますかぁ?

  826 :デフォルトの名無しさん:2010/04/14(水) 17:14:10
  ヘルプ見るの面倒.

  827 :デフォルトの名無しさん:2010/04/16(金) 09:14:28
  >>825
  こういうこと?
  for /? より.
  %~tI - %I ファイルの日付/時刻に展開します.

  828 :デフォルトの名無しさん:2010/04/16(金) 14:10:17
  それ更新日時.

  829 :デフォルトの名無しさん:2010/04/16(金) 18:25:03
  >>828
  827じゃないが, ファイルの日付が何になるかって,
  環境変数で変更できなかったっけ?
  まぁ, できなくても, 作成日時だったら,
  他の手段で, 何とでもなるから困らないけどね.

  830 :デフォルトの名無しさん:2010/04/16(金) 20:08:20
  それDIRCMD

  831 :デフォルトの名無しさん:2010/04/17(土) 06:44:59
  >>814
  だから, それは一目見て分かることで何の面白味もないの.

  832 :デフォルトの名無しさん:2010/04/17(土) 07:35:16
  >>810
  httpdが無いと動かないようなphpなら.
  netstatとか使って, httpdが起動完了したことを検知しないと駄目な気がする.
  まぁ, batchtest.php内で成功するまで待つって手もあるけど・・・.
  あと, 最後にhttpdを止める必要はないの?
  動かしっぱなしなら, httpdをバッチで起動する意味はないと思うけど?

  833 :デフォルトの名無しさん:2010/04/20(火) 18:16:02
  馬鹿じゃないんだからそんなこといちいち聞かれなくても分かってますよ.

  834 :デフォルトの名無しさん:2010/04/23(金) 20:48:27
  バッチでキューを実装したいけど実装できますよね?
  現状想定案.
  * I/F
  QUE.bat -que|-deq -prm1
  prm1=パラメタファイル.
  格納DIR , 入力元DIR, 出力先DIR, ファイル名.
  * que指定時.
  1.入力ファイル名と同名のファイルが格納先にないかチェック.
  [下矢印]    [下矢印]ない.
  [下矢印]    末尾0付格納.
  3.カウンタをインクリし2に戻る.
  * deq指定.
  1.格納先ディレクトリに末尾0ファイルがあるかチェック.
  [下矢印] [下矢印]ない.
  [下矢印] エラー返却.
  [下矢印]
  [下矢印]ある.
  2.ファイルを出力先に出力.
  [下矢印]
  3.カウンタで小さい方からサーチ.
  カウンタ-1でリネーム.

  835 :デフォルトの名無しさん:2010/04/23(金) 23:48:57
  実装自体はいけそう.
  que指定時の2の処理が不明だったり.
  格納ファイルのフォーマット(ファイル名の規則)をどう定義するか.
  カウンタの初期値をどこから設定するかなど細部が気になる.

  836 :デフォルトの名無しさん:2010/04/24(土) 00:35:27
  >>835
  携帯から書いたら改行多すぎと言われて, 消しすぎたぜ・・・.
  * 大体決めたこと.
  1.格納先のファイル名は入力ファイル名+連番.
  1〜が数えやすそうかな.
  2.返却値はキューの残数.
  取出失敗時はマイナス.
  * 迷ってること.
  1.格納先DIRパスとファイルの種類は1対1で対応させるかどうか?
  2.キュー残数チェック用のオプションを実装するか?
  3.もっと汎用的な設計がないか?
  (サンプル的なやつ)
  4.バッチ暦10日だけどそもそも言語仕様的に無理とかないよね?
  できそうと聞いて安心したよ.
  迷4以外はただの設計とアルゴリズムだし.
  技術的に困ったらまたお願いします.

  837 :834:2010/04/26(月) 07:58:31
  キュー, デキューの処理中に再呼び出しされたら困るので,
  ロック機能を実装してみた.
  処理前にロック用ファイルがないかチェックして, なかったら作成.
  あったら待ち.
  処理終了後にロック用ファイル削除.
  複数起動時も一応ちゃんと動いたんだけど, もっと良い実装ないかな?

  838 :デフォルトの名無しさん:2010/04/26(月) 15:52:21
  ファイル作らんでも.

  839 :デフォルトの名無しさん:2010/04/28(水) 10:51:16
  copy aaa.txt "%~1\bbb.txt"
  というコードを書くとき, %1がc:\fooでもc:\foo\でも動くようにするのって.
  どういうコード書けばいいですか?

  840 :デフォルトの名無しさん:2010/04/28(水) 11:14:55
  動画のエンコを連続してやるためにバッチの最後で.
  自分以外で一番dir順の若いバッチファイル検索->
  startで実行->自分自身を削除してexit
  ってやってる.
  実行順はファイル名で操作.
  稚拙だろうけどね.

  841 :デフォルトの名無しさん:2010/04/28(水) 11:26:50
  >>839
  copy aaa.txt "c:\foo\bbb.txt"
  copy aaa.txt "c:\foo\\bbb.txt"
  どっちも同じ動作しなかったっけ?
  set hoge=%~1
  if "%hoge:~-1%"=="\" set hoge=%hoge:~0, -1%
  みたいにする?

  842 :デフォルトの名無しさん:2010/04/28(水) 12:30:51
  ヘルプに書いてあるのをいちいち説明するのめんどくさい.

  843 :デフォルトの名無しさん:2010/04/28(水) 12:56:55
  >>842
  ヘルプ見れで済んだら掲示板いらない.

  844 :デフォルトの名無しさん:2010/04/29(木) 00:06:49
  for %%I in ("%~1\bbb.txt") do copy aaa.txt "%%~fI"

  845 :デフォルトの名無しさん:2010/05/02(日) 10:56:25
  call :main %* || pause
  exit /b
  :main
  ...
  とかやっとくとエラーでてもウィンドウが閉じずに残ってくれていいね.

  846 :tein:2010/05/02(日) 13:48:31
  質問です.
  テキストファイル内の特定文字列を置換したいと思っています.
  一度EOFまでのすべての行を行ごとに配列に挿入し,
  そのすべての配列に対して指定文字列の検索,
  ヒットした変数が存在した場合その変数に対して.
  変数内文字列置換を行った後,
  すべての変数をECHOで新規ファイルに書き出していけば.
  ファイル内の文字列置換に成功すると思うのですが,
  その記述方法がわかりません.
  よろしくお願いいたします.

  847 :デフォルトの名無しさん:2010/05/02(日) 14:10:56
  何かの罰ゲーム?

  848 :デフォルトの名無しさん:2010/05/02(日) 14:29:37
  先に全部読む意味がわからん.

  849 :デフォルトの名無しさん:2010/05/02(日) 14:52:40
  バッチファイルじゃないといけないんですか?文字列に強い言語を使っちゃだめなんでしょうか.

  850 :デフォルトの名無しさん:2010/05/02(日) 15:11:24
  findstr とか.

  851 :デフォルトの名無しさん:2010/05/02(日) 15:20:40
  >>846
  すべてをメモリ上にっていうのは, DOSのメモリが小さいことを考えると作るだけ無駄.
  環境変数を使った置換はできるけど, 環境変数のメモリは特別小さいし制限もある.
  元のファイルが壊れるだけだからエディタに読み込んで置換して保存っていうのをやる方がマシ.
  複数行のテキストをコマンドに読み込ませて処理させることは出来るけど,
  文字列置換はfindかなんかの専用コマンドでやった方がいいだろ.
  ただ, 指定した文字列が見つからない場合にそのまま出力してくれるかが問題.
  詳しいことは分からないが, 普通はコマンド一発でやるか, for ループで処理する.

  852 :デフォルトの名無しさん:2010/05/02(日) 15:39:53
  一時ファイルの代わりに環境変数を使おうとしてんだろ?
  set file=line1!LF!line2
  みたいにLF文字で区切ればいいよ.
  for /f %%i in (!file!)で行単位に取り出せる.

  853 :デフォルトの名無しさん:2010/05/02(日) 15:53:25
  >>850-851
  findやfindstrで文字列置換するって凄いな.

  854 :デフォルトの名無しさん:2010/05/02(日) 17:28:52
  行番号挿入できるじゃない.

  855 :tein:2010/05/02(日) 17:43:54
  >テキストファイル内の特定文字列を置換したいと思っています.
  ですが,
  bat処理中に自動で読み込み置換できればいいのです.

  856 :デフォルトの名無しさん:2010/05/02(日) 18:00:49
  sed とか使っちゃいけない"縛り"があるなら同情できるけど.
  そうだとしてもそうでなくとも何かしら使いたい話だね.

  857 :デフォルトの名無しさん:2010/05/02(日) 18:38:56
  まあでも単純な文字列置換なら誰かそういうバッチファイル作って公開してそうな気はする.

  858 :デフォルトの名無しさん:2010/05/02(日) 18:49:51
  行番号挿入は文字列置換なんだ!凄いね.

  859 :デフォルトの名無しさん:2010/05/02(日) 18:57:56
  それほどでもない.

  860 :デフォルトの名無しさん:2010/05/02(日) 19:27:21
  文字列置換バッチでぐぐれば見つかるよ.

  861 :tein:2010/05/02(日) 20:19:09
  内部に変数記号が含まれているため正常に置換できませんでした・・・.

  862 :デフォルトの名無しさん:2010/05/02(日) 21:06:36
  >>853
  勘違いした.

  863 :デフォルトの名無しさん:2010/05/02(日) 21:07:46
  てめえ, シカトしてんじゃねえよ!

  864 :デフォルトの名無しさん:2010/05/02(日) 22:29:54
  >>863
  あなたの発言は, どれ?

  865 :デフォルトの名無しさん:2010/05/02(日) 22:36:33
  >>846
  powershellが簡単だよ.
  Windows PowerShell を使用してテキスト ファイルの文字を置き換える方法はありますか.

  866 :Hage:2010/05/02(日) 23:31:57
  WindowsPowerShellって, Vistaからですよ.
  ちなみに, CMDリファレンス.
  http://otnx.jp/CMD/

  867 :デフォルトの名無しさん:2010/05/03(月) 00:28:24
  >>861  と言ってんだからバッチじゃ無理だろ.

  868 :デフォルトの名無しさん:2010/05/03(月) 00:55:27
  >>846
  中身は殆どWSHだけど. file1のabcをすべてxyzに置換してfile2に書き出すなら.
  rep.cmd "/abc/xyz/g" file1 > file2
  とする.
  @if (0==1) rem *** rep.cmd ***
  @cscript.exe //noLogo /e:jscript %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
  @goto :eof @end
  var args = WScript.Arguments;
  if (args.length < 2) Usage();
  var sep = args(0).slice(0, 1);
  String.prototype.Unesc = function() { return this.replace(/\x00/g, sep);};
  var a = args(0).replace(new RegExp("\\\\" + sep, "g"),"\0").split(sep);
  if (a.length != 4 || a[1] == "") Usage();
  try { var re = new RegExp(a[1].Unesc(), a[3].toLowerCase()); }
  catch (e) { Usage() };
  var rep = eval('"' + a[2].Unesc().replace(/"/g, '\\"') +'"');
  var Fso = new ActiveXObject("Scripting.FileSystemObject");
  for (var i = 1; i < args.length; i++) {
    try { var f = Fso.OpenTextFile(args(i)); }
    catch (e) { WScript.StdErr.WriteLine(args(i) + ": can'topen"); continue; }
    while (!f.AtEndOfStream)
      WScript.StdOut.WriteLine(f.ReadLine().replace(re,rep));
    f.Close();
  }
  function Usage() {
    WScript.StdErr.WriteLine("Usage: rep.cmd /pattern/replacement/[gi]file...");
    WScript.Quit(1);
  }

  869 :デフォルトの名無しさん:2010/05/03(月) 01:05:44
  2行目の 「%0」 は 「"%~f0"」 にして,
  1行目と2行目の間に.
  @setlocal enableextensions
  を入れたほうがより良いでしょう.
  @cscript.exe を @"%SystemRoot%\system32\cscript.exe"
  にするともっと良いか.

  870 :デフォルトの名無しさん:2010/05/03(月) 01:19:34
  わっめんどうの極み.
  powershellのほうがはるかに簡単だろ.

  871 :デフォルトの名無しさん:2010/05/03(月) 01:57:06
  動けばいいレベルならこんな感じだから特別面倒でもないと思う.
  @if (0==1) rem *** Usage: replace.cmd pattern replacement file ***
  @cscript.exe //noLogo /e:jscript "%~f0" %1 %2 %3
  @goto :eof @end
  var args = WScript.Arguments;
  var pat = new RegExp(args(0), "g"), rep = args(1);
  with (new ActiveXObject("Scripting.FileSystemObject").OpenTextFile(args(2))){
    while (!AtEndOfStream)
      WScript.Echo(ReadLine().replace(pat, rep));
    Close();
  }

  872 :デフォルトの名無しさん:2010/05/03(月) 03:53:08
  cat a.txt|%{$_ -replace "aaa", "bbb"}|sc a.txt
  と張り合うのか?

  873 :デフォルトの名無しさん:2010/05/03(月) 04:57:43
  wpsインストール+>>872より>>871のほうが手軽なのは確定的に明らか.

  874 :デフォルトの名無しさん:2010/05/03(月) 09:31:04
  しかし, Vista以降ならデフォルトで入ってるし,
  実質WSHのバッチファイルが許されるならpowershellも許されるのでは?
  rep.cmd "abc" "xyz" file1 > file2
  @echo off
  PowerShell -Command "& {$a, $b, $file=$args; Get-Content $file| ForEach-Object
  {$_ -replace $a, $b}}" %1 %2 %3

  875 :デフォルトの名無しさん:2010/05/03(月) 09:33:26
  つかどっちもスレ違いか. w.

  876 :デフォルトの名無しさん:2010/05/03(月) 09:48:14
  >>874
  や, 入ってるのは2008以降(2008, 7, 2008R2)だよ.
  まあ最近だとWindowsUpdateとかFixItで入ったりするけど.

  877 :デフォルトの名無しさん:2010/05/03(月) 16:04:24
  PowerShellってmycmd.ps1をバッチファイルから簡単に呼べればもうちょっとガシガシ使えるんだけど.
  やり方がよくわからん.

  878 :デフォルトの名無しさん:2010/05/03(月) 16:09:31
  >>873
  明らかに逆.

  879 :デフォルトの名無しさん:2010/05/03(月) 16:11:25
  >>877
  PowerShell -file mycmd.ps1 引数. . .

  880 :tein:2010/05/03(月) 17:46:37
  >868
  質問です.
  これは,
  abcを"~%0"あいう;「」@![0-5]{25}\nBなどという値に変更したとしても.
  問題ないでしょうか.

  881 :デフォルトの名無しさん:2010/05/03(月) 18:43:37
  試せない時点で問題.

  882 :デフォルトの名無しさん:2010/05/04(火) 22:47:16
  試さない時点で問題.

  883 :デフォルトの名無しさん:2010/05/04(火) 23:29:23
  >>880
  それが正規表現か単なる文字列なのかにもよるが・・・.
  rep.cmd "/\x32~%0\x32あいう;「」@![0-5]{25}\nB/xyz/g" file.txt
  rep.cmd "/\x32~%0\x32あいう;「」@!\[0-5\]\{25\}\\nB/xyz/g" file.txt

  884 :デフォルトの名無しさん:2010/05/05(水) 00:23:13
  \nがあるからforeachじゃだめだろ.

  885 :デフォルトの名無しさん:2010/05/05(水) 14:02:30
  >>868 >>871
  ファイル上書きできねーよ.

  886 :デフォルトの名無しさん:2010/05/05(水) 14:07:26
  そんなの工夫すればできる.

  887 :デフォルトの名無しさん:2010/05/05(水) 16:25:14
  メモ帳が起動してるかどうかをもうちょっとスマートに判定できないだろか.
  for /f "usebackq delims==" %%i in (`tasklist /fi "imagenameeq notepad.exe"`)
  do goto found
  echo not found!
  exit/b
  :found
  echo found!

  888 :デフォルトの名無しさん:2010/05/05(水) 19:05:47
  powershell "ps notepad" && (echo found!) || echo notfound!

  889 :デフォルトの名無しさん:2010/05/09(日) 21:04:02
  http://mojalog.com/2007/08/post_34.html
  コレを参考にバッチファイルで001〜500位の飛び飛びのjpgファイルを.
  昇順や降順でソート, 001から002,
  003.jpgと順ににリネームするバッチファイルを作りたいのですが連番でリネームする部分をどう記述すれば良いのかさっぱりです.
  だれか教えて偉い人.

  890 :デフォルトの名無しさん:2010/05/09(日) 21:16:19
  作る過程が楽しいのであって, 完成してもどうせ使わないんだから.
  こんなところで聞くなよ.

  891 :デフォルトの名無しさん:2010/05/09(日) 21:26:24
  http://hp.vector.co.jp/authors/VA014830/FlexRena/

  892 :デフォルトの名無しさん:2010/05/09(日) 22:59:35
  n=1000
  for /f "delims=" %i in ('dir /b /on *.jpg') do (
  set /a n+=1
  call ren "%~i" %%n:~1%%.jpg
  )

  893 :デフォルトの名無しさん:2010/05/09(日) 23:03:42
  %i 誤 -> %%i 正.

  894 :889:2010/05/10(月) 00:02:27
  dir /b *.jpg | sort /R > dir.txt
  echo rem ファイル名を降順ソートしてリネームします>temp.bat
  set n=1
  set SWAPFILENAME=
  for /f "tokens=1, 2* delims=." %%i in ( dir.txt ) do (
  set SWAPFILENAME=%%i
  goto label
  )
  :label
  for /f %%i in ( dir.txt ) do (
  set /a n=n+1
  SETで(n)の頭に0000を足した物をnumとかに設定する.
  numの後ろから4桁を取り出してnumに入れなおす.
  echo ren %%i (numに入ってる連番).tmp>>temp.bat
  )
  で, 出来たTemp.batを実行後, *.tmpを*.jpgにリネームしなおす見たいな感じにしたいと思ってますが上手いこと行きませんです.
  つーかnを+1ずつ加算する所からして上手く行ってないんですよコレが.
  向いてないのは重々承知してますがこうすれば良いんだよって教えて偉い人.

  895 :デフォルトの名無しさん:2010/05/10(月) 00:41:29
  変数nの呼び出しは%n%とかこんな低レベルから人に聞くレベル?
  set n=10000
  for /f "usebackq delims=" %%i in (`dir /b/o-n *.jpg`) do (

  896 :デフォルトの名無しさん:2010/05/10(月) 00:52:30
  setlocal enableextensions enabledelayedexpansion
  set n=10000
  for /f "usebackq delims=" %%i in (`dir /b/o-n *.jpg`) do (
  set /a n+=1
  ren "%%~i" "!n:~-4!.jpg"
  )
  :途中で書き込んでしまった.
  :リネーム先と同じ名前のファイルが無いの前提だが.

  897 :デフォルトの名無しさん:2010/05/10(月) 01:00:50
  1: 遅延展開をON
  2: n=10000
  3: dir /on ソート名前昇順 /o-n ソート名前逆順.
  4: nに1加算.
  5: 10001, 10002, , , , 100** の下4文字だけにすれば 0001, 0002, , , , 00**になる.
  終.

  898 :デフォルトの名無しさん:2010/05/10(月) 01:08:46
  つか上全然見てなかった. もろ被りやな.

  899 :889:2010/05/10(月) 02:30:18
  親切にありがとうございます.
  バッチファイルなんて17年ぶりだったんで右往左往してたのですが助かりました.
  コレを期に本でも買って勉強してきます.

  900 :デフォルトの名無しさん:2010/05/10(月) 06:39:29
  本, あるのか?

  901 :デフォルトの名無しさん:2010/05/10(月) 18:30:24
  結構あるみたいね.

  902 :デフォルトの名無しさん:2010/05/11(火) 21:45:23
  ググってもわからなかったので質問.
  %a%が, yでもnでもない場合にgoto aしたいんだけど,
  @if not "%a%"=="y, n" goto a
  って書いたら駄目だった.
  問題は"y, n"の部分だと思うんだけどなんて書いたらいいんでしょう?

  903 :デフォルトの名無しさん:2010/05/11(火) 21:51:25
  辛うじて自己解決できたかもしれない.
  :a
  @if %a%==y goto y
  @if %a%==n (goto n) else goto a
  ってやったら動いたんだけどこんな感じで不具合出たりしないんでしょうか?
  (yかnで訊いて, yかn以外が返ってきたら:aに戻りたい)

  904 :デフォルトの名無しさん:2010/05/11(火) 22:16:17
  そら応用力はググって解決できるもんじゃないわな.

  905 :デフォルトの名無しさん:2010/05/11(火) 22:21:52
  choice.exeをぐぐれ.

  906 :デフォルトの名無しさん:2010/05/11(火) 22:29:41
  動いて用が足りればいいや程度のもんだろ.
  不具合でてまずいような用途に使うやつはいない.

  907 :デフォルトの名無しさん:2010/05/11(火) 23:31:39
  if "%a%" neq "y" (if "%a%" neq "n"goto a)

  908 :デフォルトの名無しさん:2010/05/12(水) 01:25:59
  >>903
  空.
  Y
  >
  のケースをテスト.

  909 :デフォルトの名無しさん:2010/05/12(水) 01:39:08
  >>907 ()は必要ないよ.

  910 :デフォルトの名無しさん:2010/05/12(水) 08:09:30
  バッチファイルの実行でctrl+alt+Iなどのキーボード操作をしたいのですが, できますでしょうか?

  911 :デフォルトの名無しさん:2010/05/12(水) 08:12:04
  できないわけがない.

  912 :デフォルトの名無しさん:2010/05/12(水) 10:32:27
  win32api呼んでキーの押下状態調べてループから抜ける.
  小物ツール作ってバッチから呼ぶしかない.

  913 :デフォルトの名無しさん:2010/05/12(水) 14:16:20
  wscript.shell使えばええがな.

  914 :デフォルトの名無しさん:2010/05/12(水) 18:23:58
  やればわかるがこのばあいmshtaはやめたほうがええよ.
  cscriptならだいじょうぶ.

  915 :902:2010/05/12(水) 21:49:48
  みなさん回答ありがとうございました.
  >>905が一番理想に近いのでこれに決めました.
  (昔のwindowsにはchoiceなんてコマンドがあったことなんて知らなかったw)

  916 :デフォルトの名無しさん:2010/05/21(金) 23:52:57
  >>912
  >win32api呼んでキーの押下状態調べてループから抜ける.
  ???

  917 :デフォルトの名無しさん:2010/05/29(土) 18:58:48
  現在日時の取得を正確に行いたいのですが.
  バッチファイルの1行に「echo %DATE% %TIME%」と記述した場合に%DATE%と.
  %TIME%は必ず全く同じ日時を表示するでしょうか?
  %DATE%で一度システム時刻を取得し%TIME%でももう一度システム時刻を.
  取得しているのか, 一度システム時刻を取得した後に%DATE%と%TIME%
  にはその取得した時刻を展開しているのでしょうか?

  918 :デフォルトの名無しさん:2010/05/29(土) 19:15:57
  そんな細かい挙動なんてわかる奴いるのか. w.
  date
  time
  date
  time
  の順に取ってdateが同じなら前二個を, 食い違ってたら後ろ二個を使えばいいんじゃね. とりあえずは.

  919 :デフォルトの名無しさん:2010/05/29(土) 19:20:18
  echo %time% %time% ...

  920 :デフォルトの名無しさん:2010/05/29(土) 19:31:15
  わかるよ.
  set d=%date%
  set t=%time%
  if not "%date%"=="%d%" (
  set d=%date%
  set t=%time%
  )
  とやれば大丈夫.

  921 :デフォルトの名無しさん:2010/05/29(土) 19:37:52
  type nul > tmp
  for %%i in (tmp) do set dt=%%~ti
  echo %dt%
  なら気にせんでえーよ.

  922 :デフォルトの名無しさん:2010/05/29(土) 21:03:21
  貧乏から抜け出せだそうと藁でもつかんでるやつみたいだな.
  本人は必死なんだろうけど見てると滑稽.

  923 :917:2010/05/30(日) 01:45:22
  どうもありがとうございます.
  できるだけシンプルなやり方で>>920さんのやり方を使おうと思います.
  REM バッチ起動日時の取得(現在日時)
  SET STARTDATE=%date%
  SET STARTTIME=%time%
  IF NOT "%date%"=="%STARTDATE%" (
      SET STARTDATE=%date%
      SET STARTTIME=%time%
  )
  SET STARTTIME=%STARTTIME: =0%

  924 :デフォルトの名無しさん:2010/05/30(日) 15:51:48
  now.exe使え.

  925 :デフォルトの名無しさん:2010/06/03(木) 00:09:52
  以下のような内容のテキストファイルがあるとして,
  -----
  123
  abcd
  あいうえお.
  aaaa
  -----
  上から1行ずつ変数に格納したいのですが, どうすればいいでしょうか.
  尚, テキストファイルの行数は, 一定とは限らない場合で書き方を教えてください.

  926 :デフォルトの名無しさん:2010/06/03(木) 06:18:49
  for で普通に回す.

  927 :デフォルトの名無しさん:2010/06/03(木) 06:38:07
  forいろいろ試したんですが, うまくいきません.
  書式を書いて頂けないでしょうか.

  928 :デフォルトの名無しさん:2010/06/03(木) 09:13:41
  >>927
  help for
  に参考例が書いてあるよ.

  929 :デフォルトの名無しさん:2010/06/03(木) 23:08:41
  繰り返し処理は出来るけど, 変数をセットする際の添字の扱いが分かりません.
  添字って使えるんでしょうか.

  930 :デフォルトの名無しさん:2010/06/04(金) 00:04:36
  http://ja.wikipedia.org/wiki/%E6%B7%BB%E3%81%88%E5%AD%97
  >添え字は, 文字の右上, 左上, 右下, 左下のいずれかに書かれる文字のことである.
  >上付き文字や下付き文字も添え字のひとつであるほか, 漢文の送り仮名も添え字である.
  >縦書きで表記する場合には, 冪乗を表す場合を除き上付き文字や下付き文字という言葉は使用されない.
  ん〜〜  使えないかな〜?

  931 :デフォルトの名無しさん:2010/06/04(金) 00:18:48
  >>929
  http://d.hatena.ne.jp/jak-san/20090308/1236501217

  932 :デフォルトの名無しさん:2010/06/04(金) 11:00:03
  バッチで常に最前面表示ってできませんか?
  vbs呼び出してがんばったけど難しすぎた・・.

  933 :デフォルトの名無しさん:2010/06/04(金) 11:50:19
  もちろんできる.

  934 :デフォルトの名無しさん:2010/06/07(月) 00:04:49
  おしえてくださいなり・・.

  935 :デフォルトの名無しさん:2010/06/08(火) 11:34:22
  for /r "%~1" %%I in (*) do @echo %%~I
  みたいにワイルドカードを使う場合は隠しファイルが除外されちゃうんだけど.
  ワイルドカードに隠しファイルを含める方法は無い?
  for /f "delims=" %%I in ('dir "%~1" /b/s/a:-d') do@echo %%~I
  こんな感じにdirコマンドを使うしかない?

  936 :デフォルトの名無しさん:2010/06/08(火) 13:41:54
  コマンドラインオプションに対応しないアプリにファイルを渡したいのですが.
  ファイルドロップや送るを再現することはできますか?
  start "" "ファイル"
  rundll32.exe url.dll, FileProtocolHandler ファイル.
  これらは関連付けされているアプリでファイルを開くことしかできず.
  start "" "アプリ" "ファイル"
  だとドラッグ&ドロップとは挙動が違うのです.

  937 :デフォルトの名無しさん:2010/06/08(火) 14:03:48
  >>935
  無いだろうね.
  同じ動作をしようと思ったらfor /fを入れ子に・・・出来ないから.
  サブルーチン作ることになるんじゃないかと.

  938 :デフォルトの名無しさん:2010/06/09(水) 00:38:11
  お願いします.
  HDDドライブ内の複数のフォルダに,
  重複しないファイル名のファイルがたくさんあります.
  これを同一階層に纏めたいのですが, よさげなコマンドを見つけられませんでした.
  希望としては.
  C:\>file /path D:\hoge[Enter]
  D:\hoge\aaa.txt
  D:\hoge\masao\bbb.txt
  D:\hoge\masao\ccc.txt
  D:\hoge\masao\shigemi\111.txt
  (以下, ファイルの一覧が完全パス付で出力される)
  というようなリストが出れば最高です.
  Linux側で対象のドライブをSMBマウントして, findコマンドと組み合わせたりしてみましたけど,
  Win機がわが途中でフリーズしてしまったりで, うまくいきませんでした.
  ほかの方法もあるよ!ってことでもけっこうでございます.
  お知恵をおかしください.

  939 :デフォルトの名無しさん:2010/06/09(水) 00:46:53
  >>938
  cygwin入れてfindじゃいかんの?

  940 :デフォルトの名無しさん:2010/06/09(水) 01:30:40
  dir /b /s *.txt

  941 :デフォルトの名無しさん:2010/06/09(水) 03:08:40
  for /r D:\hoge %%f in (*.txt) do move %%f D:\hoge\

  942 :デフォルトの名無しさん:2010/06/09(水) 08:35:16
  移動だけならエクスプローラで一発.

  943 :デフォルトの名無しさん:2010/06/09(水) 09:30:06
  cygwinなくても単体で動くfindぐらい, いくらでもあるよ.
  俺も自分で作ったし. w.

  944 :デフォルトの名無しさん:2010/06/09(水) 14:03:23
  >>937
  >同じ動作をしようと思ったらfor /fを入れ子に・・・出来ないから.
  >サブルーチン作ることになるんじゃないかと.
  はぁ〜?

  945 :デフォルトの名無しさん:2010/06/09(水) 14:12:12
  >>936
  DropTarget

  946 :デフォルトの名無しさん:2010/06/09(水) 16:13:33
  DropTargetってなんの関数だろう.
  レベル高くてついていけないわ.

  947 :デフォルトの名無しさん:2010/06/11(金) 12:35:33
  http://msdn.microsoft.com/en-us/library/cc144148(VS.85).aspx

  948 :デフォルトの名無しさん:2010/06/11(金) 13:03:40
  sendkeys "%fo" & "ファイル" & "{enter}"

  949 :デフォルトの名無しさん:2010/06/11(金) 21:09:31
  http://www.atmarkit.co.jp/fwin2k/win2ktips/112changepriority/112changepriority_02.html
  XPでstartコマンドで優先度を指定してプログラム起動をしたいんだけど, 上手くいかないです.
  アイデアあったら教えてください.
  cmd.exeを起動. タスクマネージャーやprocexpで優先度を確認.
  C:\Documents and Settings\user>start /high calc.exe
  上手く行く.
  C:\Documents and Settings\user>start /high C:\WINNT\system32\calc.exe
  上手く行く.
  C:\Documents and Settings\user>start /high E:\Progra~1\mpc\mplayerc.exe
  これは起動するけど, 優先度が「通常」のまま. プログラムはこれ.
  http://ja.wikipedia.org/wiki/Media_Player_Classic
  なぜ, 優先度が設定できないのか, 良く分かりません.
  vbsでやる方法はありますか?

  950 :デフォルトの名無しさん:2010/06/11(金) 21:21:22
  プログラムの仕様ならそういう風.

  951 :デフォルトの名無しさん:2010/06/11(金) 21:31:20
  プログラムを作った経験があれば当然知ってるだろうけど.
  プログラムの側で優先度を設定できる.

  952 :デフォルトの名無しさん:2010/06/11(金) 23:21:09
  >>950
  >>951
  プログラムには詳しくないのですが,
  起動後に「高」に変更は出来ます.
  MPC自体が, 起動時に優先度を「通常」にする.
  ということでしょうか?

  953 :デフォルトの名無しさん:2010/06/11(金) 23:27:37
  MPCの設定を見たら, 優先度の項目がありました.
  ソースは見てないけど, 多分, 内部で「通常」にしてるのかと思います.
  ありがとうございました.

  954 :デフォルトの名無しさん:2010/06/13(日) 01:21:19
  ちょと質問.
  Find の返り値をIF 文で使いたいんだけど.
  こういう時ってのはイチイチ.
  echo %str% | find /i /c %ptrn% > %temp%
  set /p len=<%temp%
  こんな回りくどいことしないと使えないのかな?

  955 :デフォルトの名無しさん:2010/06/13(日) 01:25:46
  WMI

  956 :デフォルトの名無しさん:2010/06/13(日) 01:52:46
  >>954
  for /f %%i in ('"echo %str% | find /i /c %ptrn%"') do set len=%%i

  957 :デフォルトの名無しさん:2010/06/13(日) 02:15:46
  >>956
  トントン.
  スッキリしたなの.

  958 :デフォルトの名無しさん:2010/06/13(日) 14:12:46
  UNIXならps -efコマンドで実行中プロセスの引数を含んだコマンドラインが表示されるので,
  ps -ef|grep `basename $0`で, シェルの多重起動制御ができますが,
  Windowsバッチで同様のことを.
  tasklist|findstr "%~n0"
  でできるかと思ったのですが, tasklistコマンドはコマンドライン引数を表示しないため,
  バッチファイル実行中もcmd.exeが表示されるのみです.
  tasklistコマンド以外を使用する等で, 何か解決策はないでしょうか?

  959 :958:2010/06/13(日) 14:16:07
  環境を書き忘れました. OSはWin2003です.

  960 :デフォルトの名無しさん:2010/06/13(日) 14:59:27
  そういうプログラムを探すか自分で作れば可能.
  プログラム板は基本的に自分で作る方向.

  961 :デフォルトの名無しさん:2010/06/13(日) 15:43:11
  >>958
  bfindwin でググってごらん.

  962 :デフォルトの名無しさん:2010/06/13(日) 17:10:33
  titleで一意に変えてtasklistで調べればよい.

  963 :デフォルトの名無しさん:2010/06/13(日) 17:15:57
  wmic.exeでコマンドラインわかる.

  964 :デフォルトの名無しさん:2010/06/13(日) 19:01:27
  >>925
  set n=0
  for /f %%a in (a.txt) do (
  set /a n+=1
  call set x%%n%%=%%a
  )
  for /l %%k in (1, 1, %n%) do call echo %%x%%k%%

  965 :958:2010/06/13(日) 20:23:16
  >>963
  wmic process get CommandLine, ProcessId|findstr /i /c:"%~nx0"
  でバッチリ, コマンドライン引数を取得できました. どうもありがとうございます.
  さらに質問なのですが, 多重起動制御にあたり, 自分自身のプロセスIDの行は除去しようと思うのですが,
  UNIXの"$$"のようなプロセスIDの取得方法はWindowsバッチでないでしょうか?

  966 :デフォルトの名無しさん:2010/06/13(日) 20:41:52
  Unix使いならmanぐらい知ってるはずだが,
  まずはmanに相当するもので調べてみようとは思わなかったのだろうか?

  967 :デフォルトの名無しさん:2010/06/13(日) 20:50:23
  win上にunixらしき環境でも作って使えばいい.

  968 :デフォルトの名無しさん:2010/06/13(日) 22:31:51
  wmic.exeのparentprocessid

  969 :デフォルトの名無しさん:2010/06/13(日) 22:39:41
  >>966
  恥かいちゃったね. w.

  970 :デフォルトの名無しさん:2010/06/13(日) 22:48:52
  ヘルプ嫁.

  971 :デフォルトの名無しさん:2010/06/13(日) 22:55:48
  >>949
  wmi setpriority

  972 :デフォルトの名無しさん:2010/06/13(日) 22:57:48
  質問いいですか?
  UNIXの"$?"のようなものはWindowsバッチでないでしょうか?

  973 :デフォルトの名無しさん:2010/06/13(日) 23:00:32
  ある.

  974 :デフォルトの名無しさん:2010/06/13(日) 23:04:52
  もしBAT自身でできなくても外部コマンド呼べばたいていのことはできる.

  975 :デフォルトの名無しさん:2010/06/13(日) 23:10:46
  外部コマンドにはヘルプがついているよ.

  976 :デフォルトの名無しさん:2010/06/13(日) 23:14:14
  wmi動かなかった.

  977 :958:2010/06/13(日) 23:15:00
  >>972
  %errorlevel%です. 大文字小文字の区別はないようです.
  >>968
  レスありがとうございます.
  ですが, parentprocessidはUNIXでいうPPIDにあたるようで,
  実行中のバッチファイル自身のプロセスIDではないようです.

  978 :デフォルトの名無しさん:2010/06/13(日) 23:17:11
  wmic.exeのparentprocessidは何?

  979 :デフォルトの名無しさん:2010/06/13(日) 23:17:18
  >976
  WMI が動作していません. どのようにトラブルシューティングすればよいですか.
  スクリプトの実行時, CIM Studio などの WMI ベースのツールの実行時,
  または WMI コントロールの使用時には, WMI サービスに関する問題が発生することがあります.
  スクリプトが実行されなかったり, "アクセスは拒否されました"
  というエラー メッセージが表示されたりすることがあります.
  このエラーの原因としては, WMI が動作していないか,
  名前空間が正しく構成されていないかのどちらかが考えられます.
  また, クラスを提供している WMI プロバイダがロードされていない場合や,
  WMI リポジトリ (クラス定義の格納場所) が壊れた場合にも, エラーが発生することがあります.
  WMI サービスに関する問題をトラブルシューティングするには, 次の作業を行います.
  リモート コンピュータへの接続に関して問題が生じている場合は,
  ローカル コンピュータ上でスクリプトを実行してみてください.
  WMI サービスを再起動します.
  WMI リポジトリを再構築します.
  すべての WMI コンポーネントを再登録します.
  オペレーティング システムを再インストールします.
  マイクロソフト製品サポート サービスに問い合わせます.

  980 :デフォルトの名無しさん:2010/06/13(日) 23:19:40
  リモート コンピュータへの接続に関して問題が生じている場合は,
  ローカル コンピュータ上でスクリプトを実行してみる.
  リモート コンピュータへの接続に関して問題が生じている場合は,
  他の操作を行う前にローカル コンピュータ上でスクリプトを実行してみてください.
  ローカル コンピュータ上でスクリプトを実行できるのであれば,
  「WMI でリモート コンピュータを管理するにはどうすればよいですか」のトピックを参照してください.
  ローカル コンピュータでスクリプトを実行できない場合は, 次のトラブルシューティング手順を実行してください.
  ローカル コンピュータ上での WMI 操作が失敗し, 予期せぬエラー コードが返される場合や,
  WMI コントロールを起動できない場合は, ローカル WMI サービスが稼動しているかどうかを確認します.
  スクリプトを実行できるのであれば, WMI サービスは稼動しており,
  WMI サービス自体に問題はないと考えることができます.

  981 :デフォルトの名無しさん:2010/06/13(日) 23:30:48
  'wmi' は, 内部コマンドまたは外部コマンド,
  操作可能なプログラムまたはバッチ ファイルとして認識されていません.

  982 :958:2010/06/13(日) 23:39:11
  sc start winmgmt

  983 :デフォルトの名無しさん:2010/06/13(日) 23:52:46
  wmicって処理論理組めないよね〜.

  984 :デフォルトの名無しさん:2010/06/14(月) 03:56:53
  UNIXついでに質問いいかな?
  UNIXのsplitのようなものはWindowsバッチにありますか?

  985 :デフォルトの名無しさん:2010/06/14(月) 07:14:17
  >>984
  「Windowsバッチ」って何だよ?

  986 :デフォルトの名無しさん:2010/06/14(月) 08:19:07
  UNIXのsuのようなものはWindowsバッチにありますか?

  987 :デフォルトの名無しさん:2010/06/14(月) 08:31:53
  酢??????

  988 :デフォルトの名無しさん:2010/06/14(月) 08:38:32

  989 :デフォルトの名無しさん:2010/06/14(月) 08:43:59

  990 :デフォルトの名無しさん:2010/06/14(月) 08:52:34
  >su -d -a -k -o

  991 :デフォルトの名無しさん:2010/06/14(月) 10:01:51

  992 :デフォルトの名無しさん:2010/06/14(月) 10:14:28

  993 :デフォルトの名無しさん:2010/06/14(月) 10:18:01

  994 :デフォルトの名無しさん:2010/06/14(月) 10:55:52
  いい年こいたおっさんがこんな事やってるのかと思うと悲しくなってくるね.

  995 :デフォルトの名無しさん:2010/06/14(月) 11:39:55
  >>986
  >su -r -u -m -e

  996 :デフォルトの名無しさん:2010/06/14(月) 11:44:05
  'su' は, 内部コマンドまたは外部コマンド,
  操作可能なプログラムまたはバッチ ファイルとして認識されていません.

  997 :デフォルトの名無しさん:2010/06/14(月) 11:50:36
  >>986
  >su -m -a -t -a

  998 :デフォルトの名無しさん:2010/06/14(月) 11:55:17

  999 :デフォルトの名無しさん:2010/06/14(月) 11:58:32

  1000 :デフォルトの名無しさん:2010/06/14(月) 12:03:19

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

222 KB
*スマホ版* 掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 05.02.02 2014/06/23 Mango Mang&uuml;&eacute; *
FOX * DSO(Dynamic Shared Object)


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