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


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

  1 :デフォルトの名無しさん:2012/04/21(土) 22:37:58.49
  拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる.
  質問, テクニック(JScript, Perl等の埋め込みなど含む), 関連情報のためのスレです.
  [*] 何でも無理矢理バッチでやろうとせず, WSH等の使用も検討しましょう.
  前スレ.
  [.cmd] バッチファイルスクリプト %8 [.bat]
  http://toro.2ch.net/test/read.cgi/tech/1315844420/
  [.cmd] バッチファイルスクリプト %7 [.bat]
  http://hibari.2ch.net/test/read.cgi/tech/1298873550/
  [.cmd] バッチファイルスクリプト %6 [.bat]
  http://hibari.2ch.net/test/read.cgi/tech/1277465356/
  [.cmd] バッチファイルスクリプト %5 [.bat]
  http://pc12.2ch.net/test/read.cgi/tech/1242268171/
  [.cmd] バッチファイルスクリプト %4 [.bat]
  http://pc12.2ch.net/test/read.cgi/tech/1229955189/
  [.cmd] バッチファイルスクリプト %3 [.bat]
  http://pc11.2ch.net/test/read.cgi/tech/1217860043/
  [.cmd] バッチファイルスクリプト %2 [.bat]
  http://pc12.2ch.net/test/read.cgi/tech/1197881068/
  [.cmd] バッチファイルスクリプト %1 [.bat]
  http://pc11.2ch.net/test/read.cgi/tech/1178281991/

  2 :デフォルトの名無しさん:2012/04/21(土) 22:42:13.45
  >>1乙.

  3 :デフォルトの名無しさん:2012/04/21(土) 22:45:04.45
  >すれ立て間違えた. w.
  ほらみろ.

  4 :デフォルトの名無しさん:2012/04/21(土) 22:46:15.83
  バッチファイル処理を強化する.
  ライブラリを作ろう.

  5 :デフォルトの名無しさん:2012/04/21(土) 23:35:46.52
  これ以上駄作ふやすなよ.

  6 :デフォルトの名無しさん:2012/04/22(日) 12:01:47.42
  @echo >>1乙.

  7 :デフォルトの名無しさん:2012/04/22(日) 13:22:07.65
  >>6
  初心者乙.
  @echo ^>^>1乙.

  8 :デフォルトの名無しさん:2012/04/22(日) 13:52:39.88
  >dir
  2012/04/22 12:01:47 21 1乙.

  9 :デフォルトの名無しさん:2012/04/26(木) 20:25:04.13
  for /d %%i in (c:\*) do if XXX (exec1 "%%~i") else (exec2 "%%~2")
  でXXXの条件が%%iがsで終わっていたらというのにしたいんですがどうすればいいですか?
  c:\windows, c:\usersなどはexec1
  それ以外ならexec2に分岐したいのです.

  10 :デフォルトの名無しさん:2012/04/26(木) 22:01:31.72
  一度何かの変数に入れるしかないな.

  11 :デフォルトの名無しさん:2012/04/26(木) 22:22:55.38
  findstrをかませるんだな.

  12 :デフォルトの名無しさん:2012/04/26(木) 23:30:31.05
  for /d %%i in (c:\*) do (
  set s="%%~i"
  call :sub "%%~i"
  )
  exit
  :sub
  if "%s:~-2%=="s" (exec1 "%~1") else (exec2 "%~1")
  exit /b

  13 :デフォルトの名無しさん:2012/04/27(金) 13:48:36.22
  for /d %%i in (c:\*) do (echo %%i)|findstr /e "s" &&(exec1 "%%~i") || (exec2
  "%%~2")

  14 :デフォルトの名無しさん:2012/04/27(金) 22:03:54.88
  俺様の力作バッチを皆に恵んであげよう.
  pushd X:\エロ画像 || goto :eof
  rem カレントディレクトリのファイルをMD5ハッシュ値にリネーム 要md5sum
  for %%i in (*) do for /f "usebackq delims= " %%j in (`md5sum"%%~i"`) do ren
  "%%~i" "@%%j%%~xi"
  rem 16個のサブフォルダに振り分け.
  for %%i in (0 1 2 3 4 5 6 7 8 9 A B C D E F) do (mkdir @%%i&move @%%i*.*@%%i\)
  mkdir 重複&move *.* 重複\
  rem 画像をランダムに開く 要ruby
  ruby -x "%~f0"
  popd
  goto :eof
  #!ruby
  `dir /s /b /a:-d`.split("\n").shuffle.each{|i| `start """#{i}"`; gets}

  15 :デフォルトの名無しさん:2012/04/28(土) 02:33:34.78
  おー凄い, 馬力作バッチ.

  16 :デフォルトの名無しさん:2012/04/29(日) 06:35:51.06
  ばか 作 ぱっち.

  17 :デフォルトの名無しさん:2012/04/29(日) 11:05:59.71
  @がキモい.

  18 :デフォルトの名無しさん:2012/04/30(月) 23:11:04.33
  コマンドプロンプトでバッチの引数に「^^"&time /t」を指定したとして,
  これを変数に格納する事ってできますか?
  C:\>a.bat ^^"&time /t
  『a.bat』
  ================================
  @echo on
  set AAA=%1
  set AAA=%~1
  set "AAA=%1"
  set "AAA=%~1"
  ================================
  結果.
  ================================
  C:\>set AAA=" & time /t
  23:08
  C:\>set AAA=" & time /t
  23:08
  C:\>set "AAA=^" & time /t"
  23:08
  C:\>set "AAA=^" & time /t"
  23:08
  ================================

  19 :デフォルトの名無しさん:2012/05/01(火) 13:51:05.53
  パス.

  20 :デフォルトの名無しさん:2012/05/03(木) 15:46:04.57
  for /r %i (*) do @echo.%i
  とやると途中からecho %i.%iとやったのと同じになるんですが.
  誰か理由わかりますか?

  21 :デフォルトの名無しさん:2012/05/03(木) 15:50:14.86
  echo %i.%i
  じゃなくて.
  echo %i.[表示がおかしくなる直前のファイル名]
  みたいな感じになってました.

  22 :デフォルトの名無しさん:2012/05/03(木) 16:30:17.03
  コンソールのゴミじゃなくて?
  ファイルにリダイレクトしても?

  23 :デフォルトの名無しさん:2012/05/03(木) 17:14:44.71
  ファイルに書いても一緒です.
  十数行までは普通に出るんですが, 途中からおかしくなる.

  24 :デフォルトの名無しさん:2012/05/03(木) 17:25:11.77
  バッファのゴミだろね.
  %~fi
  はどう?

  25 :デフォルトの名無しさん:2012/05/03(木) 17:54:55.42
  同様です.
  わからないのは.
  echo %i では問題ないのに.
  echo.%i 他スペース以外だと二重になってしまうことです.
  この辺の理屈が知りたい.

  26 :デフォルトの名無しさん:2012/05/03(木) 18:49:34.22
  必要ないのに.なんかつけるから反感買って嫌がらせじゃないか.

  27 :デフォルトの名無しさん:2012/05/03(木) 18:52:31.26
  おれっちじゃ再現しないな.
  osのよるんじゃね?

  28 :デフォルトの名無しさん:2012/05/03(木) 19:07:47.32
  >>26
  %iが空白だったときに echo は ONです っての見たくないから.
  ピリオド打つの癖になってるもんで.

  29 :デフォルトの名無しさん:2012/05/03(木) 19:18:08.15
  for %i in (*) do @echo\a
  とかでもおかしい表示になってたのにデバッガ開いたら正常になった.
  原因はfor臭い.

  30 :デフォルトの名無しさん:2012/05/03(木) 19:23:35.98
  >>22
  XPでよくコマンドプロンプト表示がバグることがあるけど,
  あれのMS公式見解ってないのかね?
  エンドユーザにPCの情報採取してもらうのに.
  dir/a|findstr ほにゃらら.
  とかやらせて, DOS窓のスクショを送ってもらうんだけど.
  前にコンソール表示のバグらしき事象に騙されたことがあったんだけど,
  リダイレクトで万が一既存ファイルを上書いてしまうリスクを考えると,
  エンドユーザにリダイレクトはさせたくないんですよね.

  31 :デフォルトの名無しさん:2012/05/03(木) 19:26:59.27
  | clip
  ならよかんべ.

  32 :デフォルトの名無しさん:2012/05/03(木) 19:31:38.85
  >>28
  ピリオドはやめとけ.
  echo > echo.txt
  for %i in (txt) do @echo.%i

  33 :デフォルトの名無しさん:2012/05/03(木) 19:34:57.69
  >>28
  \もやめとけ.
  md echo
  echo >echo\aaa.txt
  for %i in (aaa.txt) do @echo\%i

  34 :デフォルトの名無しさん:2012/05/03(木) 20:08:24.03
  echoで改行だけを出力する時困り申す.

  35 :デフォルトの名無しさん:2012/05/03(木) 20:14:10.01
  http://scripting.cocolog-nifty.com/blog/2008/11/echo-3741.html

  36 :デフォルトの名無しさん:2012/05/05(土) 00:00:21.17
  >>18は無理なのかな.

  37 :デフォルトの名無しさん:2012/05/05(土) 01:15:10.65
  CMDCMDLINE

  38 :デフォルトの名無しさん:2012/05/05(土) 01:50:32.71
  無理無駄無用.

  39 :デフォルトの名無しさん:2012/05/05(土) 22:12:33.58
  %*

  40 :デフォルトの名無しさん:2012/05/26(土) 11:26:56.87
  プログラムを実行したときにプログラム内の処理でキー入力させられるものがありますが.
  それらをbatファイルから入力させることは可能でしょうか?

  41 :デフォルトの名無しさん:2012/05/26(土) 12:42:34.47
  >>40
  SET /? をよく読むんだ.

  42 :デフォルトの名無しさん:2012/05/26(土) 14:51:14.05
  setって変数を宣言するものですよね?
  コマンドプロンプトで動作するプログラム(mysqlとかsqlite3)を実行中に標準入力を受け付けてるところに指定した文字列を入力したいだけなんですが.
  set pass=1234
  mysql -u root -p
  REM パスワード入力.
  REM ここでパスワード入力待ちになる.
  REM ここで変数passを入力したい.

  43 :デフォルトの名無しさん:2012/05/26(土) 15:05:15.12
  ああ, そっちか.
  標準入力のリダイレクトでダメなら, バッチファイルだけでは辛いかも.

  44 :デフォルトの名無しさん:2012/05/26(土) 18:16:39.01
  お前には無理.

  45 :デフォルトの名無しさん:2012/05/27(日) 07:50:43.58
  >>42
  set pass=1234
  echo pass|mysql -u root -p
  ではどうですか?

  46 :デフォルトの名無しさん:2012/05/27(日) 10:48:16.26
  >>45
  試してみたのですが入力されませんでした.

  47 :デフォルトの名無しさん:2012/05/27(日) 11:32:20.43
  >>46
  バッチファイルにパスワードを晒すぐらいなら, 普通に.
  mysql -u root --password=1234
  でやれよ. w.

  48 :デフォルトの名無しさん:2012/05/27(日) 12:18:47.20
  パスワードだけでなくその後にsqlも実行したいのです・・・.

  49 :デフォルトの名無しさん:2012/05/27(日) 12:34:45.05
  それならこれでいいだろ.
  mysql -u root -pパスワード データベース名 < hoge.sql

  50 :デフォルトの名無しさん:2012/05/27(日) 13:45:14.71
  そうなると標準入力へはできないってことですか?

  51 :デフォルトの名無しさん:2012/05/27(日) 15:15:53.18
  そこまで意欲的に質問する暇があったらググれ.

  52 :デフォルトの名無しさん:2012/05/27(日) 15:44:07.22
  どうもググってもbatファイルできるような記事が見当たらず・・・.
  別の所で聞いてきます.

  53 :デフォルトの名無しさん:2012/05/27(日) 15:48:56.09
  翻訳:ググるよ面倒なので他人を利用するぞ.

  54 :45:2012/05/27(日) 16:10:13.24
  >>46
  ごめん環境変数は参照時は%で括るんだったorz
  set pass=1234
  echo %pass%|mysql -u root -p

  55 :デフォルトの名無しさん:2012/05/28(月) 15:47:33.84
  autohotkeyとか使っとけよ.
  セキュリティgdgdになるけど.

  56 :デフォルトの名無しさん:2012/05/28(月) 18:24:18.67
  おまえらど素人をあんまり甚振るなよ.
  >>41が答えだろ.
  set /p pass=enter password
  mysql -u root --password=%pass%

  57 :デフォルトの名無しさん:2012/05/29(火) 00:38:44.56
  >>41-43の流れだと対話的に入力させたいわけではなく, 対話型プログラムを自動化したいって意味だと思うが?
  まあ>>40が不明瞭だしその後のレスも結局何がしたいのか説明できていないが.

  58 :デフォルトの名無しさん:2012/05/29(火) 01:50:20.43
  >>54
  set /?
  を, 見ればすぐ分かることを仕込んでどんな相手なのか判断してたのかと.
  思って読んでたよ. w.

  59 :デフォルトの名無しさん:2012/05/29(火) 02:18:43.40
  どうみても釣だろ.

  60 :デフォルトの名無しさん:2012/06/13(水) 18:47:03.35
  ある時刻になったら stop ってコマンドを自動で入力させることってできる?

  61 :デフォルトの名無しさん:2012/06/13(水) 21:07:40.69
  質問になってませんね.

  62 :デフォルトの名無しさん:2012/06/13(水) 22:10:33.28
  at

  63 :デフォルトの名無しさん:2012/06/21(木) 02:28:07.82
  質問です.
  大量にデータがあるファイル内の[開始文字列]と[終了文字列範囲内]の文字を抽出するにはどうしたらいいのでしょうか.
  分かりやすく例えますと, htmlファイル内の.
  検索範囲開始文字列:http
  から.
  検索範囲終了文字列:.html
  までをファイルに追記書き出しすると言うほうが分かりやすいでしょうか.
  通常のhtmlファイル内には複数のURLがあるので,
  私が指定している方法ですと, htmlファイル内のURLが.
  指定ファイルに列挙される形になります.
  結果のファイルサンプルです.
  ----------result.txt----------
  http://hogehoge.com/index.html
  http://hogehoge.com/hello_world.html
  http://hogehoge.com/hogehoge.html
  http://hogehoge.co.jp/index.html
  http://hogehoge.co.jp/programming.html
  http://hogehoge.co.jp/debughtml
  ------------------------------
  外部コマンドラインツールを利用してもOKです.

  64 :デフォルトの名無しさん:2012/06/21(木) 02:31:11.43
  そして, >>42ですが,
  set pass=1234
  mysql -u root -p
  mysqlが パスワード入力 ルーチンロード.
  mysqlがユーザからのパスワード入力を待機.
  ここでmysqlに%pass%のデータを送信させる. (ようするにパイプ)
  じゃないかなって思います.

  65 :デフォルトの名無しさん:2012/06/22(金) 22:15:57.46
  >>63
  for/?
  set/?
  if/?
  echo/?

  66 :デフォルトの名無しさん:2012/06/23(土) 01:04:24.75
  >>65
  Split.CMD
  というバッチファイルをダウンロードしてきて.
  やってみたのですが, 指定された文字を含む行が表示されるだけで.
  開始文字列から終了文字列まで, などの指定で一部分を切り出す事ができませんでした. .

  67 :デフォルトの名無しさん:2012/06/23(土) 06:13:58.31
  そのやる気のなさと知識レベルだと, 教えてもらってもだめだろうから,
  素直にあきらめるがよろし.

  68 :デフォルトの名無しさん:2012/06/23(土) 19:56:00.92
  それよくあるバグだな.
  @ECHO OFF
  REM 使用法: 切り出し.CMD 開始文字列 終了文字列 ファイル.
  SETLOCAL ENABLEDELAYEDEXPANSION
  (FOR /F "delims=[] tokens=1*" %%0 IN ('FIND /N /V ""')DO (
  IF "!FLAG!"=="1" SET FLAG=2
  IF "!FLAG!"=="3" SET FLAG=4
  SET "LINE=%%1"
  if defined line SET "LINE=!LINE:%1=!"
  if defined line IF NOT "!LINE!"=="%%1" SET FLAG=1
  SET "LINE=%%1"
  if defined line SET "LINE=!LINE:%2=!"
  if defined line IF NOT "!LINE!"=="%%1" SET FLAG=3
  IF "!FLAG!"=="1" ECHO=%%1
  IF "!FLAG!"=="3" ECHO=%%1
  IF "!FLAG!"=="3" GOTO :EOF
  IF "!FLAG!"=="2" ECHO=%%1
  )
  )<%3

  69 :デフォルトの名無しさん:2012/06/23(土) 23:25:47.79
  レスありがとうございます.
  C:\TEST>切り出し-2chTEST.CMD 234 789 test.txt
  1234567890
  C:\TEST>
  testファイルの中身です.
  -----test.txt-----
  HelloWorld
  サンプルです.
  1234567890
  Sample
  [EOF]
  ---------------------------
  どうも23456789と切り出ししてくれなくて困ってます.

  70 :デフォルトの名無しさん:2012/06/24(日) 00:06:38.11
  用途が違うな.

  71 :デフォルトの名無しさん:2012/06/24(日) 00:12:02.93
  for
  find
  set
  echo
  で作れ.

  72 :デフォルトの名無しさん:2012/06/24(日) 07:56:08.12
  >>69
  どっちにしろ, ! を含むファイルでおかしくなるとかあるから, 素直にあきらめて.
  vbs とかでやれよ.

  73 :デフォルトの名無しさん:2012/06/24(日) 19:08:22.13
  console2が結構まともに動くと思ったけどヒストリなしか.
  なかなかこれといったcmd, powershellがまともに動くマルチタブのターミナルが出てこないな.

  74 :デフォルトの名無しさん:2012/06/26(火) 18:12:31.62
  >>72
  はい. そうしてみます.
  ありがとうございました.

  75 :デフォルトの名無しさん:2012/06/30(土) 15:34:24.45
  指定したディレクトリ以下にあるファイル名にスペースがあったらすべてアンダーバーに置き換える.
  バッチお願いします.

  76 :デフォルトの名無しさん:2012/06/30(土) 15:50:19.40
  > 拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる.
  > 質問, テクニック(JScript, Perl等の埋め込みなど含む), 関連情報のためのスレです.
  丸投げするスレじゃないぞ.
  あと, 個人的には...
  > [*] 何でも無理矢理バッチでやろうとせず, WSH等の使用も検討しましょう.
  の方がいいと思う, バッチで文字列操作は結構トラップ多いから.

  77 :デフォルトの名無しさん:2012/06/30(土) 15:51:32.15
  pushd %1 && for %%I in ("* *") do (
  set xxx="%%~I"
  call ren "%%~I" %%xxx: =_%%
  )

  78 :デフォルトの名無しさん:2012/06/30(土) 16:47:01.97
  >>77
  ありがとうございます.
  これをサブフォルダ内まで効果を及ばせるのって可能でしょうか.

  79 :デフォルトの名無しさん:2012/06/30(土) 21:10:04.77
  pushd %1 && for /r %%I in ("* *") do (
  set xxx="%%~nxI"
  call ren "%%~I" %%xxx: =_%%
  )

  80 :デフォルトの名無しさん:2012/06/30(土) 22:14:41.84
  /rを追加でできるんですね, 覚えておきます.
  ありがとうございました.

  81 :デフォルトの名無しさん:2012/07/05(木) 03:05:34.99
  質問なんですがちょっと長いです, 申し訳ないです.
  C:\a\とD:\a\内のfile.datの更新日時を比較して, C:\a\file.datのほうが新しい場合,
  それをD:\a\にコピーするバッチを作りました.
  00 for %%c in (C:\a\file.dat) do set cdate=%%~tc
  01 set cdate=%cdate:~2, 2%%cdate:~5, 2%%cdate:~8, 2%%cdate:~11,
2%%cdate:~14,2%
  02 for %%d in (D:\a\file.dat) do set ddate=%%~td
  03 set ddate=%ddate:~2, 2%%ddate:~5, 2%%ddate:~8, 2%%ddate:~11,
2%%ddate:~14,2%
  04 if %cdate% GTR %ddate% xcopy "C:\a\file.dat" "D:\a\"/e /y
  00で更新日時を取得して, 01で「2012/07/05 02:36」を「1207050236」に変換します.
  02と03も同じようなことをして, 04で比較とコピーを行います.
  それで今回, フォルダbやcなどが増えそうなので, folders.txtに名前を書かれたフォルダ全てを扱うためのバッチを作り直したのですが,
  これがよく分からんのですが思ったように動きません.
  作り直したと言ってもFOR文をネストしただけなのですが.
  00 for /f %%f in (C:\folders.txt) (
  01 for %%c in (C:\%%f\file.dat) do set cdate=%%~tc
  02 set cdate=%cdate:~2, 2%%cdate:~5, 2%%cdate:~8, 2%%cdate:~11,
2%%cdate:~14,2%
  03 for %%d in (D:\%%f\file.dat) do set ddate=%%~td
  04 set ddate=%ddate:~2, 2%%ddate:~5, 2%%ddate:~8, 2%%ddate:~11,
2%%ddate:~14,2%
  05 if %cdate% GTR %ddate% xcopy "C:\%%f\file.dat" "D:\%%f\"/e /y
  06 )
  05を伏せる代わりにpauseを入れて観察したところ, 01と03に問題があるようで, file.datを見つけられていないようでした.
  少し粘ったのですが無理そうなので, 「他の方法」を使いたいのですが, 私の知識は浅すぎて皆目検討がつきません.
  そこで皆さんに「他の方法」を教えていただきたいのです. どうかよろしくお願いします. m(_ _)m

  82 :デフォルトの名無しさん:2012/07/05(木) 03:17:23.65
  robocopy

  83 :デフォルトの名無しさん:2012/07/05(木) 03:36:21.24
  xcopy /d
  setlocal

  84 :デフォルトの名無しさん:2012/07/05(木) 14:20:02.17
  >>82
  >>83
  robocopyなんて便利なものがあったとは・・・目から鱗です.
  本当にありがとうございました. m(_ _)m

  85 :初心者さん:2012/07/05(木) 18:27:23.50
  @echo off
  :loop
  set /a p = p + 1
  ping localhost -n 1 > nul
  cls
  echo %p%%%
  if /i "%p%"=="100" goto:f
  goto :loop
  :f
  echo finish

  86 :デフォルトの名無しさん:2012/07/10(火) 20:04:55.55
  調べ方がわからないのでここにたどり着きました.
  フォルダ内にあるファイルをアクロバットリーダーを使って印刷するバッチです.
  印刷は出来るのですがpdf以外のファイルがあるとエラーが出て.
  それが大量なのでいまいち使いづらいです.
  pdfのみに絞るもしくは, 他のファイルは無視をする方法教えてくれませんか.
  〜〜〜〜〜〜〜〜〜〜〜〜.
  for %%i in (*) do (
  START ACRORD32.EXE /n /t %%i
  )
  〜〜〜〜〜〜〜〜〜〜〜〜.

  87 :デフォルトの名無しさん:2012/07/10(火) 20:19:02.99
  for %%i in (*.pdf) do (
  START ACRORD32.EXE /n /t %%i
  )

  88 :デフォルトの名無しさん:2012/07/10(火) 22:05:30.31
  >>87  ありがとうございます;;

  89 :デフォルトの名無しさん:2012/07/14(土) 13:04:36.13
  自分自身がUACの管理者承認モードで.
  動いてることを検出できるバッチファイルの作り方おしえれ.

  90 :デフォルトの名無しさん:2012/07/14(土) 15:04:20.91
  title /?

  91 :デフォルトの名無しさん:2012/07/14(土) 17:34:05.47
  バッチファイルで, 「管理者として実行」されているか?「整合性レベル:低」か?を判定する. (その2)

  92 :デフォルトの名無しさん:2012/07/14(土) 17:41:16.31
  titleに付けないようにできるからな.

  93 :デフォルトの名無しさん:2012/07/18(水) 16:59:27.47
  異なる拡張子のファイルを複数バッチに投げたときに.
  拡張子ごとのファイルパスをsetする方法を教えてください.

  94 :デフォルトの名無しさん:2012/07/18(水) 21:32:19.99
  for %%I in (%*) do echo %%~xI
  あとは自分で考えろバカ.

  95 :デフォルトの名無しさん:2012/07/19(木) 21:44:23.72
  >>94
  ありがとう.
  バカですんません.

  96 :デフォルトの名無しさん:2012/07/20(金) 08:19:03.56
  300個ほどあるtxtをファイルネーム順に20個ずつ結合したいんですが.
  for文中のcopyで1個ずつ足し続ける->カウント20になったら出力ファイル名変更.
  これもっと賢い方法あると思うんです, どう書けばいいでしょうか?

  97 :デフォルトの名無しさん:2012/07/21(土) 01:50:31.10
  ない.

  98 :デフォルトの名無しさん:2012/07/21(土) 04:18:40.67
  for文中のrenで1個ずつファイル名末尾に識別子を足し続ける->カウント20になったら識別子変更.
  copy *識別子.txt group識別子.txt
  これで入出力が1回ですんで時間短縮になりました.

  99 :デフォルトの名無しさん:2012/07/21(土) 16:37:15.19
  はあ?あほか  なわけない.

  100 :デフォルトの名無しさん:2012/07/21(土) 16:39:53.52
  いったいどこのioが減ったと思ってるの?おばかさん.

  101 :デフォルトの名無しさん:2012/07/22(日) 00:30:28.46
  ファイル名を変更するioが増えるわな.

  102 :デフォルトの名無しさん:2012/07/22(日) 00:36:37.15
  ファイル1+ファイル2=ファイルA
  ファイルA+ファイル3=ファイルB
  ファイルB+ファイル4=
  ・・・x20
  みたいな事を考えてたんじゃないかと想像してみる.

  103 :デフォルトの名無しさん:2012/07/22(日) 01:31:00.23
  ioが分かってないだけだと思う.

  104 :デフォルトの名無しさん:2012/07/22(日) 14:47:17.27
  質問です.
  引数として受け取ったフォルダの中のファイル群に対して,
  そのファイル一つ一つを引数として同じバッチを走らせることを.
  したいのですが, ")"が含まれるものが来るとエラーが出ます.
  --------------------
  echo "%1" のファイルorフォルダチェック.
  echo %~a1|find "d"
  if %ERRORLEVEL% EQU 0 (
  echo "%~1" はフォルダです.
  echo "%~1" の1階層下にあるファイルを対象にした処理に移ります.
  for %%f in (%~1\*) do start /wait %~0 %%f
  ) else (
  echo "%~1" はファイルです.
  )
  --------------------
  >\* の使い方が誤っています.
  と出るので, if文中で%~1が展開されて")"が出た時点でif文が終わって.
  しまっているのかなとは思うのですが, これの解決法がわかりません.
  どうすれば回避できるでしょうか?

  105 :デフォルトの名無しさん:2012/07/22(日) 15:55:40.56
  ""で囲めばか.

  106 :デフォルトの名無しさん:2012/07/22(日) 16:27:40.03
  すいません, ""は試したけど, 場所を間違ってました・・・.

  107 :デフォルトの名無しさん:2012/07/23(月) 18:04:01.73
  関係があるのかないのかわからないのですが.
  この間「cmd /c rd /q /s c:\」みたいな(不正確ですが)コマンドを.
  実行するとパソコンが軽くなる・・・とかいう書き込みがあって,
  それに「嘘乙」という返信を見たのですが,
  これってどういう意味ですか?

  108 :デフォルトの名無しさん:2012/07/23(月) 18:14:00.40
  そりゃ軽くなるさ. OSも無くなってきれいさっぱりと軽くなるさ.
  HDD内部全部消せってコマンドだから.

  109 :デフォルトの名無しさん:2012/07/23(月) 18:44:59.01
  嘘乙.

  110 :デフォルトの名無しさん:2012/07/24(火) 00:51:30.37
  重さが変わるわけないだろ.

  111 :デフォルトの名無しさん:2012/07/24(火) 01:39:26.14
  いや, 重さと言うのは余計なものがまとわりつくことで生まれるものだから.
  そぎ落とせば軽くなるというのは間違っていないんじゃないかな.
  ただ, 本体まで消してしまうと空間しか残らないが.

  112 :デフォルトの名無しさん:2012/07/24(火) 15:44:21.40
  コマンドを実行すると, ウインドウが閉じてしまいます.
  詳細を見たいんですけど, どうすればいいですか?

  113 :デフォルトの名無しさん:2012/07/24(火) 16:19:14.15
  バッチの最後にpauseを.

  114 :デフォルトの名無しさん:2012/07/24(火) 16:37:25.64
  バッチの最後にcmdを.

  115 :デフォルトの名無しさん:2012/07/26(木) 04:07:39.15
  taskkill のバッチをスタートアップに登録して, マウスの不要なプロセスだけを.
  停止したいのですが, スタートアップ直後に開始されると.
  プロセスが開始される前のようで, 何もする事無く終了してしまいます.
  繰り返しを行いたいのですが, どうすればいいのでしょうか・・・?

  116 :デフォルトの名無しさん:2012/07/26(木) 06:16:06.15
  taskkillの戻り値が0以外の間ループ.

  117 :デフォルトの名無しさん:2012/07/26(木) 14:22:56.41
  ファイル名のスペースと半角記号をリネームしたいのですが, 上手くいきません.
  どう修正したらいいのでしょうか?
  @echo off
  :loop
  call :suba %1
  shift
  if exist %1 goto loop
  :suba
  set pname=%*
  if not defined pname echo ファイル名を指定してください&pause&&goto :eof
  set pname="%pname:"=%"
  call :sub %pname%
  echo 置換:^<%r%^> %pname% ===^> %fname%
  rem if %r% equ ON if exist %dir%%fname% echo 既存ファイルがあって置換できない.
  ren %pname% %fname%
  goto :eof

  118 :デフォルトの名無しさん:2012/07/26(木) 14:23:25.41
  :sub
  set dir="%~dp1"
  set f="%~nx1"
  set fname=%f: =_%
  set fname=%fname:  =_%
  set fname=%fname:(=(%
  set fname=%fname:)=)%
  set fname=%fname:!=!%
  set fname=%fname:#=#%
  set fname=%fname:;=;%
  set fname=%fname:$=$%
  set fname=%fname:%=%%
  set fname=%fname:&=&%
  set fname=%fname:'='%
  set fname=%fname:===%
  set fname=%fname:[=(%
  set fname=%fname:]=)%
  set fname=%fname:{=(%
  set fname=%fname:}=)%
  set fname=%fname:~=^%
  set fname=%fname:~=ー%
  set fname=%fname:+=+%
  set fname=%fname:, =, %
  if %f% neq %fname% (set r=ON) else (set r=OFF)
  goto :eof

  119 :デフォルトの名無しさん:2012/07/26(木) 20:01:03.77
  あれ?「*」ってうまく置換できないな.

  120 :デフォルトの名無しさん:2012/07/27(金) 01:19:56.69
  >>117
  バッチファイルに拘らず Flexible Renamer を使う.

  121 :117:2012/07/27(金) 15:14:18.83
  >>120
  ありがとうございます.
  バッチファイルから使えるかわからない, 上にちょっと難しそうですね.
  :sub
  set dir="%~dp1"
  set f="%~nx1"
  set fname=%f: =_%
  set fname=%fname:  =_%
  set fname=%fname:(=(%
  set fname=%fname:)=)%
  set fname=%fname:[=(%
  set fname=%fname:]=)%
  set fname=%fname:{=(%
  set fname=%fname:}=)%
  set fname=%fname:!=!%
  set fname=%fname:+=+%
  set fname=%fname:$=$%
  set fname=%fname:;=;%
  set fname=%fname:'='%
  set fname=%fname:#=#%
  set fname=%fname:, =, %
  if %f% neq %fname% (set r=ON) else (set r=OFF)
  goto :eof
  まではいけましたが, =%&^~がうまくできないっぽいですね.

  122 :デフォルトの名無しさん:2012/07/27(金) 23:32:10.40
  そういうのはRegular Renamerというコマンドラインなソフト呼んでやってるな.
  RR.exe /tr tr/=%&^~/=%&^〜/ のようにtr演算子で変換するだけで済むし.
  まあ, なに使ってもいいが, 面倒なリネームにはリネームソフトの方が楽ってこと.

  123 :デフォルトの名無しさん:2012/08/07(火) 15:49:12.33
  バッチを実行するとそのディレクトリにクリップボードにある文字列を元に.
  フォルダを作成させるバッチできますか?

  124 :デフォルトの名無しさん:2012/08/07(火) 15:53:46.44
  >ディレクトリにクリップボードに.

  125 :デフォルトの名無しさん:2012/08/07(火) 18:46:49.21
  mshta.exeを使えばできるよ.

  126 :デフォルトの名無しさん:2012/08/07(火) 19:06:00.05
  mshta clipboarddata 検索.

  127 :デフォルトの名無しさん:2012/08/15(水) 21:55:14.07
  powershell使ってもできるな.

  128 :デフォルトの名無しさん:2012/08/16(木) 15:04:05.98
  JclipOutというバッチソフトを使ってできました.
  ありがとう.

  129 :デフォルトの名無しさん:2012/08/17(金) 16:15:41.30
  >>128
  検索したけど見つからん.

  130 :デフォルトの名無しさん:2012/08/17(金) 17:11:02.88
  あ, それソフト自体の名前じゃなかった.
  @MSHTA.EXE "javascript:var
  s=clipboardData.getData('text');if(s)newActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(s);close();"|
  MORE
  これをバッチに書いてあるだけのソフトでそれを呼び出して以下のようにして使ってます.
  for /f %%a in ('JclipOut') do md %%a

  131 :デフォルトの名無しさん:2012/08/17(金) 20:06:25.13
  forfiles の  /C で指定したコマンドのエラーは, どのようにしたら検知できますか?
  forfiles直後のERRORLEVELは最後に実行したコマンドでエラーになった時しか検知できないように見えます.
  ループ中にコマンドを実行する度にエラーを検知したいです.

  132 :デフォルトの名無しさん:2012/08/17(金) 20:37:10.36
  call使うかsetlocal enabledelayedexpansion使えば?

  133 :デフォルトの名無しさん:2012/08/17(金) 21:29:50.06
  forfiles の  /C で指定したコマンドの中で検知したら?

  134 :デフォルトの名無しさん:2012/08/17(金) 21:31:59.63
  >>130
  ざーとらし.

  135 :デフォルトの名無しさん:2012/08/17(金) 21:35:02.14
  自演乙.

  136 :デフォルトの名無しさん:2012/08/18(土) 01:49:12.46
    韓国経済が急激に失速している. 一番の原因は, これまで韓国経済を引っ張ってきた原動力である輸出に陰りが見え始めたためだ.
    輸出に次いで内需の鈍化も懸念されている. 住宅価格の下落とそれに伴う消費や投資の抑制がみられ, バブル崩壊以降日本が苦しんだ.
  「日本型長期デフレ」の兆候が現れている, との指摘も少なくない.
  * 好調に見えたのはヒュンダイやサムスンだけ.
    韓国の輸出は, 2012年7月の通関ベースで前年同月に比べて8.8%減と大きく減った. マイナス幅は3年ぶりの高い数値だという.
    これまで韓国の輸出をけん引してきた自動車の輸出が頭打ちになったのをはじめ, 船舶や石油化学製品, 携帯電話など主力製品の輸出が急速に落ち込んだ.
    韓国の輸出額は国内総生産(GDP)対比で50%を超える. 「輸出国」といわれる日本でもGDP対比では10%半ばだから,輸出依存度の高さは圧倒的だ.
  そのため, 輸出の不振は即韓国経済の失速に直結する.
    なかでも韓国経済を支えてきたのが欧州連合(EU)向けの輸出. EUとは自由貿易協定(FTA)を結んでいる.
そのEU向けが12年1〜6月期には前年同期に.
  比べて16.0%も減った. EU諸国の債務危機から発した景気低迷が影響した.
    さらには中国向けも1.2%減った. 第一生命経済研究所経済調査部の主任エコノミスト, 西?徹氏は,
  「中国向け輸出の減少はボディブローのように効いています」と話す.
  . 韓国の素材や部品メーカーは中国を介して, 間接的にEU向け輸出を増やしてきたからだ.
  http://headlines.yahoo.co.jp/hl?a=20120817-00000006-jct-bus_all

  137 :デフォルトの名無しさん:2012/08/19(日) 02:23:09.24
  ここは東亜+じゃねえよ!

  138 :デフォルトの名無しさん:2012/09/02(日) 15:02:30.16
  for /D %%f IN (%*) DO @echo %%f
  で.
  goto loop はバッチ パラメーターで %2 から指定出来ますが,
  for でそれは可能ですか?
  %%f が %1 の役目?だとわかっているのですが, どうすれば %2 以降の変数を入れることが可能でしょうか?

  139 :デフォルトの名無しさん:2012/09/02(日) 18:39:41.72
  %%f %%g %%h %%i ・・・.
  最初をfにするのが意味不明だけど.
  aから始めてabc・・・の方がわかりやすいし.

  140 :デフォルトの名無しさん:2012/09/02(日) 21:08:37.05
  いみふ.

  141 :デフォルトの名無しさん:2012/09/03(月) 10:29:37.86
  ファイル読み込みで複数行を一つの変数に保存する方法がわかりません. エロイ人教えてください.

  142 :デフォルトの名無しさん:2012/09/03(月) 12:40:37.39
  むりどえす.

  143 :デフォルトの名無しさん:2012/09/03(月) 16:00:53.89
  set a=a %%i

  144 :デフォルトの名無しさん:2012/09/03(月) 18:18:18.50
  >>143
  そのやり方ではできないです;;

  145 :デフォルトの名無しさん:2012/09/03(月) 19:07:13.81
  (set a=!a!^
  %%i
  )

  146 :デフォルトの名無しさん:2012/09/04(火) 02:58:26.13
  call set a=%%a%% %%i

  147 :デフォルトの名無しさん:2012/09/05(水) 21:58:17.34
  codec=`ffmpeg -i "${input}" 2>&1\
  |sed -n "s/^.*Audio: \([^, ]*\), .*/\1/p"\
  |head -n 1`
  ffmpegで動画内の音声コーデックを判別するシェルスクリプトなんだけど.
  これバッチに置き換えられないかな.

  148 :デフォルトの名無しさん:2012/09/06(木) 06:48:56.56
  for
  find
  if
  /?

  149 :デフォルトの名無しさん:2012/09/06(木) 14:23:27.44
  >>147には無理だろ. w.

  150 :デフォルトの名無しさん:2012/09/13(木) 22:38:36.16
  すみません, 質問です.
  >dir *.txt
  abc.txt
  ab.txt
  a.txt
  >dir a?.txt
  ab.txt
  a.txt
  なんで a.txt が表示されるのですか?
  WinXPです.

  151 :デフォルトの名無しさん:2012/09/13(木) 22:52:38.40
  >>150
  http://takeno.iee.niit.ac.jp/~shige/misc/script/bat1/node13.html

  152 :デフォルトの名無しさん:2012/09/13(木) 23:01:16.61
  ありがとうございます.
  エクスプローラの検索だと a.txt は表示されないですね.
  まぎらわしいなぁ・・・.

  153 :デフォルトの名無しさん:2012/09/15(土) 15:56:44.65
  ワイルドな仕様だなぁ・・・.

  154 :デフォルトの名無しさん:2012/09/15(土) 16:10:57.57
  骨のおれる仕事ですから.

  155 :デフォルトの名無しさん:2012/09/19(水) 17:43:59.23
  質問よろしいでしょうか.
  batに放り込んだファイルをそのフォルダから指定のフォルダに移動させる.
  という事をやりたいのですが, ファイル名で記入するのではなく, その放り込んだ.
  ファイルを対象にするにはどのように表現したら宜しいでしょうか.

  156 :デフォルトの名無しさん:2012/09/19(水) 19:23:55.40
  >>155
  move %1 指定のフォルダ.
  の1行だけのバッチファイルにして,
  そのファイルをドラッグアンドドロップでおk?

  157 :デフォルトの名無しさん:2012/09/19(水) 21:45:52.44
  >>156
  ありがとうございます. 上手くいきました.
  もう一つ質問させて下さい.
  batに放り込んだファイルをリネームするSCRenameというbatで.
  動作するツールがあるのですがこれに.
  『指定フォルダ内の全てのファイルに適応する』
  という作業をさせるには, 以下の文に何を追加するべきでしょうか.
  http://www.dotup.org/uploda/www.dotup.org3437779.txt

  158 :デフォルトの名無しさん:2012/09/20(木) 09:51:29.90
  バッチでリネームしてるわけじゃねーからそれ.
  バッチでWSH起動してるだけ.

  159 :デフォルトの名無しさん:2012/09/20(木) 11:16:12.54
  >>157
  http://qarc.info/qa/show-11669-978.html
  こっちのcscriptのパスが通ってない問題は解決した上での質問ということでいいの?

  160 :デフォルトの名無しさん:2012/09/21(金) 09:13:27.90
  マルチポストだったのかよ. w.

  161 :デフォルトの名無しさん:2012/09/27(木) 21:04:42.53
  F:\aaa\bbb\test.batを実行して.
  F:\ccc\ddd\あああ.txtの内容を.
  F:\aaa\bbb\の直下にコピーしたい場合.
  バッチの内容を.
  xcopy /Y ../../ccc/ddd/あああ.txt
  にしたのですが, 無効なパラメータと言われます.
  やり方をご教授ください.
  ちなみにFドライブであるかどうかは変更が可能性あるので.
  フルパス指定は避けたいです.

  162 :デフォルトの名無しさん:2012/09/27(木) 21:07:40.34
  パスの区切りは/でなく\

  163 :デフォルトの名無しさん:2012/09/28(金) 01:17:45.28
  コピー先も記述しろよ. w.

  164 :デフォルトの名無しさん:2012/09/28(金) 17:47:29.93
  cdなんだろ.

  165 :デフォルトの名無しさん:2012/09/28(金) 23:22:24.41
  C:\>tree
  を実行して.
  出力されたツリーのファイル名の右側にサイズ, 更新日を表示することは可能でしょうか?

  166 :デフォルトの名無しさん:2012/09/29(土) 20:22:12.58
  tree/?

  167 :デフォルトの名無しさん:2012/09/30(日) 04:25:27.59
  散々既出かもしれないけど.
  []や半角スペースを含むフォルダを%nに代入して使いたいのであるが.
  勝手に不具合起こしてうまく行かねーよカスみたいな状況になる.
  どうやったら解消できるかご教授頂きたい.

  168 :デフォルトの名無しさん:2012/09/30(日) 11:11:11.16
  万能かはわからないけど, "%n" とか "%~n" とかを使うようにする.

  169 :デフォルトの名無しさん:2012/10/14(日) 12:57:11.59
  バッチファイルにCScript埋め込む手法覚えてからそっちに逃げるようになっちまった. 堕落.

  170 :デフォルトの名無しさん:2012/10/15(月) 02:44:17.38
  バッチ程度のモノなんか動けばいいだろ.
  メンドクセーのはCで書いてる.

  171 :デフォルトの名無しさん:2012/10/15(月) 21:04:38.12
  バッチファイルはコンパイラとか入れられない環境(例えば鯖とか)で使いたいこともあるからな.
  そういう考えで行けばCScript.exe呼ぶのは割と常套手段だと思う.

  172 :デフォルトの名無しさん:2012/10/15(月) 23:52:40.32
  誰かライブラリ作ってよ.

  173 :デフォルトの名無しさん:2012/10/16(火) 00:36:11.06
  あるだろ.

  174 :デフォルトの名無しさん:2012/10/16(火) 01:11:22.08
  @必須機能@
  ・配列的なもの. 当然shift, unshift, pop, pushはあるよね.
  ・replaceは正規表現対応. 先読み後読み後方参照完備.
  ・数値演算は正負・小数に対応. ついでによくある「Math」の関数を片っ端から実装.
  ・日時演算も余裕. UNIX Timeとの相互変換も簡単.
  ・「"」「^」「%」「)」のエスケープも気にしなくて大丈夫.
  ・都度if errorlevel Nなんてしなくてもtry〜catchで拾えばいいか.
  ここまで書いて虚しくなったんで終わる.

  175 :デフォルトの名無しさん:2012/10/16(火) 01:11:58.88
  perl「呼んだ?」

  176 :174:2012/10/16(火) 01:39:54.52
  PowerShellかPerlを使わせてくれ.
  とまでは言わない.
  バッチ(.bat)とVBScriptだけは勘弁してくれの方向で交渉中・・・orz

  177 :デフォルトの名無しさん:2012/10/16(火) 12:47:31.71
  質問なのですが.
  bat内で複数のbatを処理する際に.
  bat1 <-このbatの処理でファイル名が変化.
  bat2
  bat3
  このような状態だとbat2に処理が渡せないのですが.
  bat1の段階で変化したファイル名をbat2に渡すには.
  bat1の末尾になんと記述すれば良いのでしょうか.

  178 :デフォルトの名無しさん:2012/10/16(火) 15:46:17.04
  ない.

  179 :デフォルトの名無しさん:2012/10/16(火) 16:12:28.02
  変化したファイル名を変数に取っておけばよし.
  一つのコマンドプロンプトでやっている限り変数は全部持ち越しだから.
  バッチ終了で初期化されたりしない.

  180 :デフォルトの名無しさん:2012/10/16(火) 16:21:48.00
  >>179
  ご返答ありがとうございます.
  すみません, よく意味が解らないのですが, 具体的に何をすればいいのでしょうか.

  181 :デフォルトの名無しさん:2012/10/16(火) 16:30:33.18
  何というファイルが何という名前に変化したかっていうのが全然わからないなら絶望的だけど.
  それがわかるようなら例えば.
  :----bat1----
  set filename1=hoge.txt
  set filename2=fuga.txt
  rename %filename1% %filename2%
  :----ここでbat1終わり----
  :----bat2-----
  echo %filename2%

  182 :デフォルトの名無しさん:2012/10/16(火) 16:35:12.69
  すみません, リネームですが, 毎回頭にその日の日付が付くので.
  変化後が一定の名前ではないです.
  ちょっと難しそうですね.
  質問を変えさせて頂きたいのですが.
  特定フォルダ内のファイルを全て指定したbatに放り込むのと同じ処理を.
  batでは出来ないでしょうか.
  これが出来れば, 間にこのbatを挟むことでファイル名の変化も.
  クリアできると思うのですが, 如何でしょうか.

  183 :デフォルトの名無しさん:2012/10/16(火) 16:42:53.88
  その日の日付ってわかってるならその日の日付入れるだけだろ.
  何も難しいことでもない.
  それでも難しいっていうならアドバイスできるレベルじゃないかも・・・.

  184 :デフォルトの名無しさん:2012/10/16(火) 16:58:42.05
  それだと毎日batを書き換えないといけないので手動と変わらなくなってしまいます.
  一つのbatで全部処理ができる, というのを模索中です.

  185 :デフォルトの名無しさん:2012/10/16(火) 17:10:36.71
  もしかして, バッチファイルで引数を受け取れることを知らないとかそういう話?

  186 :デフォルトの名無しさん:2012/10/16(火) 17:23:55.23
  %DATE%なんかも全く知らない, という話かも知れん.

  187 :デフォルトの名無しさん:2012/10/16(火) 17:33:28.10
  勉強不足ですみません, 一度調べてきます.

  188 :デフォルトの名無しさん:2012/10/17(水) 16:51:24.75
  実行すると指定したフォルダで一番容量が多いファイル以外を削除, もしくは.
  指定した容量以下のファイルを削除する, といったbatはできますでしょうか.
  もし可能であれば記述を教えて頂けませんか, お願い致します.

  189 :デフォルトの名無しさん:2012/10/17(水) 17:47:35.99
  可能だけど教えてやらんよ.

  190 :デフォルトの名無しさん:2012/10/17(水) 20:21:36.95
  >>188
  if "%~1" == "" goto :eof
  pushd "%~1" && for /f "skip=1 delims=" %%ain ('dir /a-d /o:-s /b') do del
"%%a"
  popd
  でどう?

  191 :デフォルトの名無しさん:2012/10/17(水) 23:13:03.72
  >>190
  ありがとうございます.
  すみません, batで実行してみたのですが, 何も起きませんでした.
  こちら何か代入しないと行けないのでしょうか, 宜しければ例をお願い致します.

  192 :デフォルトの名無しさん:2012/10/18(木) 00:06:09.56
  190のフォルダの指定は引数かD&Dだからな?
  実行ファイルでもバッチでもそうだけど貰ったものを何も考えずに.
  単に実行してみるってのは危険だぞ.
  rd /s/q位になれば見ただけで警戒するのかもしれんが・・・.

  193 :デフォルトの名無しさん:2012/10/18(木) 04:14:28.13
  ごめんなさい, フォルダではなくファイルを直接ドラッグしていました.
  フォルダを丸ごとD&Dしたら無事動作しました. ありがとうございます.
  こちらの記述ですが, もし対象フォルダが固定の時はどのように.
  書き換えればいいのでしょうか, C:\testとかの場合の例を教えて.
  頂けませんか.

  194 :デフォルトの名無しさん:2012/10/18(木) 04:50:56.75
  すみません, 調べたら解りました.
  if "C:\test" == "" goto :eof
  pushd "C:\test" && for /f "skip=1 delims="%%a in ('dir /a-d /o:-s /b') do del
  "%%a"
  popd
  多分こうですね.

  195 :デフォルトの名無しさん:2012/10/18(木) 19:30:39.67
  よく調べたね. w.
  よく解ったね. w.

  196 :デフォルトの名無しさん:2012/10/19(金) 07:33:25.39
  pushdしてフォルダ移動した後に, &&で移動できたかのチェックしてるんだろうけど,
  pushdもpopdもフォルダ移動に失敗(移動先フォルダがない)時でも.
  errorlevelは0だから, 想定外のファイルをdelする危険があるよ.

  197 :デフォルトの名無しさん:2012/10/19(金) 08:51:08.20
  >>196
  > pushdもpopdもフォルダ移動に失敗(移動先フォルダがない)時でも.
  > errorlevelは0だから,
  デタラメ言わない.
  ちょっと試せばすぐばれる嘘は言わないように.

  198 :デフォルトの名無しさん:2012/10/19(金) 09:27:24.84
  1 if not %cd%\ == %~dp0% echo ok.
  2 if not %~dp0% == %cd%\ echo ok.
  1は通るけど2は.
  > echo の使い方が誤っています.
  と文句言われる. 何で?

  199 :デフォルトの名無しさん:2012/10/19(金) 09:45:30.70
  >>198
  %~dp0%じゃなくて%~dp0じゃね.

  200 :デフォルトの名無しさん:2012/10/19(金) 09:49:15.88
  なるほど. 逆に1がエラーにならないのが不思議だけど. 動けばいいや.

  201 :デフォルトの名無しさん:2012/10/20(土) 15:25:50.24
  不思議だと思うほうが不思議だけど. どうでもいいや.

  202 :デフォルトの名無しさん:2012/10/22(月) 19:41:58.30
  昇順もしくは降順で.
  最初の空きドライブのドライブレターを取得したいのですが,
  やり方がよくわかりません.
  できるのであれば, ご教示よろしくお願いします.

  203 :デフォルトの名無しさん:2012/10/22(月) 20:04:48.29
  そもそも「空きドライブ」の定義は?
  Windowsで使っている限り, 全く何も書かれていない.
  ドライブなんて存在しないと思うけど.
  空き容量はdirの最後の行とかfsutil volume diskfreeとかで取れる.

  204 :デフォルトの名無しさん:2012/10/22(月) 20:12:33.72
  バッチファイル中, startコマンドで別のバッチファイルを呼び出そうとしています.
  start hoge.bat huga..mp4
  と, 引き数を呼び出しているのですが, huga.mp4の関連付けが実行されてしまいます.
  hoge.batに引数を与え実行させるにはどのようにすべきなのでしょうか?

  205 :202デフォルトの名無しさん:2012/10/22(月) 20:28:33.03
  >>203
  説明不足で済みません.
  空きドライブの意味は,
  HDDやDVD等で使われていないドライブという意味です.
  よろしくお願いします.

  206 :デフォルトの名無しさん:2012/10/22(月) 20:52:34.40
  使ってないドライブレターか・・・バッチで取れたっけか.
  WSHではドライブの一覧が取れるから逆算出来るとは思うが.

  207 :デフォルトの名無しさん:2012/10/22(月) 20:59:16.83
  diskpartのスクリプト使えばええんでないの.

  208 :デフォルトの名無しさん:2012/10/22(月) 21:04:37.39
  >>204
  嘘書くと正答が得られないよ. w.

  209 :204:2012/10/22(月) 21:06:51.70
  すんまんせん.
  確かに嘘書きました. w.
  引き数のファイルの拡張子はtsです.
  では引き続きよろしくお願いします.

  210 :デフォルトの名無しさん:2012/10/22(月) 21:09:34.38
  嘘こくでね.
  "引用符"

  211 :204:2012/10/22(月) 21:24:27.34
  ありがとうございます.
  なるほど, 引用符ですか・・・.
  正直, コマンドへのパスも, ファイル名にも半角空白が入ることがあるので.
  引用符を使えないとなると色々変えなきゃならないことがあって大変ですね, , ,

  212 :202デフォルトの名無しさん:2012/10/22(月) 21:33:24.45
  >>207
  diskpartだと, list volumeで一覧は表示できますが,
  自動で空きドライブのドライブ文字を取得する方法がわかりません.
  例えば, 現在, CからHまでとY, Zにドライブが割り当てられているPCで,
  IもしくはXを取得したいわけです.
  引き続きよろしくお願いします.

  213 :デフォルトの名無しさん:2012/10/22(月) 22:37:11.95
  リストが取得できたら後は何という事もないだろ.
  一つのコマンドで一発で取得できるなんて思ってるのだとしたら,
  そんな甘い事は忘れろ.

  214 :デフォルトの名無しさん:2012/10/23(火) 00:27:48.78
  >>212
  それはネットワークドライブをマウントするために必要ってこと?
  ならpushdじゃだめか?(環境によっちゃ認証で詰まるけど)

  215 :デフォルトの名無しさん:2012/10/23(火) 00:42:01.05
  いや単に丸投げしたいだけでしょ.

  216 :デフォルトの名無しさん:2012/10/23(火) 01:10:35.06
  わざわざ名前に「デフォルトの名無しさん」なんて入れる辺り, 釣り入ってるしな.

  217 :デフォルトの名無しさん:2012/10/23(火) 08:13:41.44
  >>212
  そんな段階ならバッチ単体でやるのやめとけ.
  素直にWSH併用しなよ.

  218 :デフォルトの名無しさん:2012/10/23(火) 08:25:16.47
  for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
  subst %%i: . && subst /d %%i: && set a=%%i && goto:a )
  :a
  echo %a%

  219 :202:2012/10/23(火) 13:39:06.88
  >>218
  ありがとうございます. できました.
  &&で分岐するんですね. なるほどと思いました.
  皆さんのご指摘の通り, よくわからないので, 丸投げしてしまいました.
  申し訳ありませんでした.

  220 :デフォルトの名無しさん:2012/10/23(火) 19:43:17.49
  set timeinfo=%DATE:/=%
  xcopy /i /Y %cSource_dir%\aaa.txt D:\log\aaa_%timeinfo%.txt
  というバッチを実行すると.
  D:\log\\aaa_20121023.txt は受け側のファイル名ですか,
  またはディレクトリ名ですか.
  (F= ファイル, D= ディレクトリ)?
  とでます. Fを押下するとaaa_20121023.txtが出力されますが.
  これを強制的にaaa_20121023.txtを出力させたいのですが.
  教えてください.

  221 :デフォルトの名無しさん:2012/10/23(火) 20:57:03.21
  echo F|xcopy〜.

  222 :デフォルトの名無しさん:2012/10/23(火) 21:05:30.73
  xcopyの前にファイル作っておけばいいじゃん.

  223 :デフォルトの名無しさん:2012/10/24(水) 07:02:06.17
  >>219
  技術論文を書いてるんじゃないんだから,
  「, . 」を日常的に使うのは止めた方がいい.
  無教養な専門馬鹿にしか見えないから.

  224 :デフォルトの名無しさん:2012/10/24(水) 07:44:53.96
  >>223
  これは, ひどい. wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.

  225 :デフォルトの名無しさん:2012/10/24(水) 17:35:45.33
  >>224=>>219
  ご苦労さん.

  226 :デフォルトの名無しさん:2012/10/24(水) 17:56:33.04
  >>225
  句読点はつけたほうがいい, 馬鹿にしか見えないから. wwwwwwwwwwwwwwwwwwwwww.
  wwwwwwwwwこうですか?wwwwwwwwwwwwwwwwwwwわかりません. wwwwwwwwwwwwwwwwwwwwww.

  227 :デフォルトの名無しさん:2012/10/24(水) 17:57:22.59
  ここは句読点のスレッドです. wwwwwwwwwwwwwwwwwwwwwwwww.

  228 :デフォルトの名無しさん:2012/10/24(水) 18:03:09.42
  あたし小学3年生なんだけど, 句読点で言いがかりつける人はニューロンが.
  足りてないんだってママがいってた. wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.

  229 :デフォルトの名無しさん:2012/10/24(水) 18:11:56.50
  http://i48.tinypic.com/d4sw1.png
  こ. w. れ. ww. は, www. ひ. wwww. ど. wwwww. い. wwwwww.

  230 :デフォルトの名無しさん:2012/10/24(水) 18:13:44.06
  え, なに?それで句読点はどうなの?それではっきりするからさ.
  wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.

  231 :デフォルトの名無しさん:2012/10/24(水) 23:25:45.35
  特殊「, . 」
  一般「, . 」

  232 :デフォルトの名無しさん:2012/10/25(木) 04:41:30.58
  芝はそんなに悔しかったのか.
  哀れ.

  233 :デフォルトの名無しさん:2012/10/25(木) 06:09:06.99
  >>232
  句読点をつけろ, ここをどこだと思ってるんだ!
  wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww. ぶひゃひゃひゃ.
  wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.

  234 :デフォルトの名無しさん:2012/10/25(木) 08:54:52.99
  >>232
  そりゃ, 今まで自分はエリートだと信じてたのが.
  あっさりどん底に突き落とされたんだからな.
  草生やすしか切り札が無いところが, 低脳度を物語ってるわな(笑.

  235 :デフォルトの名無しさん:2012/10/25(木) 08:58:16.59
  >>234
  そうだな, >>223の発言によってエリートはどん底に突き落とされるよな. wwwwwwwwwww.
  なぜならば句読点に対する指摘だからだ.
  wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.
  wwwwwwwwwwwwwwwwwwww. 句読点武装. wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.

  236 :デフォルトの名無しさん:2012/10/25(木) 08:59:34.79
  句読点について言いがかりつけることができれば無敵だ.
  君も今日から無敵になれる, どんなエリートよりも賢くなれる.
  wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.

  237 :デフォルトの名無しさん:2012/10/25(木) 09:03:08.37
  え, あいつたいしたことないよ, だってあいつ句読点があれだぜ, 俺の句読点力の前では敵じゃないよ.
  wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.

  238 :デフォルトの名無しさん:2012/10/25(木) 09:05:02.45
  技術論文を書いてるんじゃないんだから,
  「, . 」を日常的に使うのは止めた方がいい.
  無教養な専門馬鹿にしか見えないから.
  もういいよ, これが流行語大賞で. wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.

  239 :デフォルトの名無しさん:2012/10/25(木) 09:06:01.38
  句読点に言いがかりをつけたらエリートがどん底に突き落とされます.
  wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.

  240 :デフォルトの名無しさん:2012/10/25(木) 09:32:40.41
  心配するな, 俺にはとっておきの武器がある, 句読点だ.
  wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.

  241 :デフォルトの名無しさん:2012/10/25(木) 09:36:04.63
  男「
      自慢ではありませんが, 私の句読点は「, . 」です.
  女「
      抱いて!いますぐ!この場で!

  242 :デフォルトの名無しさん:2012/10/25(木) 09:37:19.04
  まて, ここから先は句読点同士の戦いだ, お前は帰れ.
  wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.

  243 :デフォルトの名無しさん:2012/10/25(木) 09:41:35.07
  句読点, 句読点, 句読点点ててん点, Let's Go!

  244 :デフォルトの名無しさん:2012/10/25(木) 10:00:43.71
  俺にはエリートをどん底に突き落とす秘策がある.

  245 :デフォルトの名無しさん:2012/10/25(木) 15:14:43.15
  >>235-244
  ここまで自演.

  246 :デフォルトの名無しさん:2012/10/25(木) 20:27:47.03
  2chで句読点は場違いだろ. w.

  247 :デフォルトの名無しさん:2012/10/25(木) 21:15:22.26
  最近のガキはすぐグズるんだな.
  授業もこんな感じなのか?

  248 :デフォルトの名無しさん:2012/10/26(金) 02:15:43.43
  >>247
  おいおいちゃんと句読点つけろよ, 正しくはこうだろ.
  最近のガキはすぐグズるんだな.
  授業もこんな感じなのか?.
  句読点によってお前はどん底に突き落とされた.
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.

  249 :デフォルトの名無しさん:2012/10/26(金) 02:16:32.40
  >>244
  なんですか?それ.

  250 :デフォルトの名無しさん:2012/10/26(金) 02:16:48.23
  そろそろ別のネタにしようよ・・・.

  251 :デフォルトの名無しさん:2012/10/26(金) 02:17:53.65
  >>249
  知りたいか?教えてやる, それは句読点だ.

  252 :デフォルトの名無しさん:2012/10/26(金) 02:19:39.73
  >>250
  ネタであればどれだけよかっただろうか, だが>>223は本気だ.
  >>223は本気で書きやがったんだ.
  > 技術論文を書いてるんじゃないんだから,
  > 「, . 」を日常的に使うのは止めた方がいい.
  > 無教養な専門馬鹿にしか見えないから.
  wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.

  253 :デフォルトの名無しさん:2012/10/26(金) 02:46:15.00
  なんでファビョってんだ.

  254 :デフォルトの名無しさん:2012/10/26(金) 02:53:01.99
  ここ東亜だっけ?

  255 :デフォルトの名無しさん:2012/10/26(金) 03:12:24.14
  >>253
  あれあれ?句読点が見当たらないぞ〜そんなんじゃこのスレじゃ通用しないぞ〜.
  wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.

  256 :デフォルトの名無しさん:2012/10/26(金) 03:13:13.05
  >>254
  違う, ここは句読点.

  257 :デフォルトの名無しさん:2012/10/26(金) 03:14:03.17
  今日もコテンパンにやっつけてやったは, 俺の句読点の前では敵ではなかったは.
  wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.

  258 :デフォルトの名無しさん:2012/10/26(金) 06:11:14.35
  >>253
  「無教養な専門馬鹿」が余程悔しかったんだろ.
  だが, >>223の指摘は間違っていたのかも知れない.
  正しくは「専門馬鹿」ではなく「正真正銘の馬鹿」だな.

  259 :デフォルトの名無しさん:2012/10/26(金) 06:53:39.30
  多分>>219は「専門馬鹿」という言葉の意味すら知らないと思う.

  260 :デフォルトの名無しさん:2012/10/26(金) 08:28:45.93
  >>258
  句読点理論には誤りがあった!
  wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.

  261 :デフォルトの名無しさん:2012/10/26(金) 08:31:53.00
  >>259
  句読点つけてないわけだからお前のほうが馬鹿だということになるな, なぜならばお前は句読点をつけていないから. 詳しくは>>258の理論を勉強しろ.
  wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.

  262 :デフォルトの名無しさん:2012/10/26(金) 08:33:08.61
  句読点でわかるからね, ぜーんぶわかるからね.

  263 :デフォルトの名無しさん:2012/10/26(金) 09:19:27.31
  , . の話を勝手に句読点の有無にすり替えるあたり,
  悔しさが滲み出てますなぁ.

  264 :デフォルトの名無しさん:2012/10/26(金) 09:33:41.75
  >>263
  「, . 」は句読点じゃないとでもいうつもりか!
  句読点じゃないというのならなんだというんだ!
  まぎれもなく句読点だ!
  「, . 」が句読点であることは明白だ!
  だったら「, . 」も句読点だ!

  265 :デフォルトの名無しさん:2012/10/26(金) 10:34:20.36
  >>264
  お前, よっぽど頭が鈍いんだな.

  266 :デフォルトの名無しさん:2012/10/26(金) 10:38:43.17
  >>265
  お前ほどじゃない.

  267 :デフォルトの名無しさん:2012/10/26(金) 10:41:13.66
  頭の回転数は句読点から計算できる.
  wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.

  268 :デフォルトの名無しさん:2012/10/26(金) 13:21:18.05
  http://toro.2ch.net/test/read.cgi/tech/1242136180/250
  ここの句読点厨だろ. w.

  269 :デフォルトの名無しさん:2012/10/26(金) 16:15:06.38
  >>268
  中身を見たが, 今の流れとは全然テーマが違う.
  残念ながら却下.

  270 :デフォルトの名無しさん:2012/10/26(金) 16:54:55.09
  実行中のバッチを途中から書き換えて保存すると通常はエラーで止まりますが.
  これを止まらないようにする方法あったような気がするんですが自分の気のせいですかね?

  271 :デフォルトの名無しさん:2012/10/26(金) 17:55:57.37
  気の迷いだね.

  272 :デフォルトの名無しさん:2012/10/26(金) 20:17:43.61
  書き換え前後で既存のコマンドのファイル先頭からの文字位置が同じだったらいいんだっけ?

  273 :デフォルトの名無しさん:2012/10/27(土) 02:39:32.41
  call とかの ラベル は8文字までと思っていたら, もっと長くてもちゃんと呼べた.
  ラベル名を短くする努力はなんのために・・・・・・ orz

  274 :デフォルトの名無しさん:2012/10/27(土) 08:25:06.89
  MSのヘルプやusageを信じてはいけない.

  275 :デフォルトの名無しさん:2012/10/27(土) 09:10:17.20
  9文字以上のラベル名は8文字目までで判断されるとか個人ブログかなんかで見たことあるけど,
  MS公式のヘルプやドキュメントってどこにあるの?

  276 :デフォルトの名無しさん:2012/10/27(土) 09:52:09.60
  >>275
  Goto
  http://technet.microsoft.com/ja-jp/library/cc756166(v=ws.10).aspx
  |goto コマンドでは, ラベルの最初の 8 文字だけが使われます.
  これかな.

  277 :273:2012/10/27(土) 11:32:31.61
  ラベルで9文字以上行けた件, 恥を忍んで尋ねたい,
  ひょっとして, FAQ だったりした?

  278 :デフォルトの名無しさん:2012/10/27(土) 11:37:02.24
  うぜ.

  279 :デフォルトの名無しさん:2012/10/27(土) 11:51:44.84
  日本語ドキュメントを信用するな. FAQ中のFAQ中のFAQだよ.
  http://technet.microsoft.com/en-us/library/cc756166(v=ws.10).aspx

  280 :デフォルトの名無しさん:2012/10/27(土) 12:09:19.39
  >>277
  俺も知らなかった, というか気にしたことがない.
  ちょっと気になったので, 実機で確認したら 127文字までちゃんと判断してくれる.
  ただ, ラベル名を 128文字以上にすると, cmd.exe がアプリケーションエラーで落ちる. (w.
  環境:
    OS: Microsoft Windows XP [Version 5.1.2600]
    cmd.exe: 5.1.2600.5512

  281 :デフォルトの名無しさん:2012/10/27(土) 15:27:34.68
  >>279
  XPの英語ドキュメントは8文字って言ってるんだよな・・・XP時代そうだったっけ?
  http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/goto.mspx?mfr=true

  282 :デフォルトの名無しさん:2012/10/27(土) 16:36:59.76
  cmdを虐めんなよwそんな大したもんじゃないんだから. w.

  283 :デフォルトの名無しさん:2012/10/27(土) 17:03:54.14
  でもなんか妙に機能拡張してるよね. cmdのくせに.

  284 :273:2012/10/27(土) 18:33:06.00
  れすあり.
  FAQですよね, やっぱし.
  20文字試して通常使用に困ることはないと思ってたけど, 127文字までか.
  確認どうもです.

  285 :デフォルトの名無しさん:2012/10/27(土) 20:07:32.47
  >>284
  FAQは「日本語ドキュメントを信用するな」の方な.

  286 :デフォルトの名無しさん:2012/10/28(日) 00:01:11.92
  皆様こんばんは.
  どうかお力をお貸し下さい.
  音楽ファイルのタグ情報を元に,
  音楽ファイルをbatファイルにドラッグしたら.
  格納しているフォルダ名を変更するbatファイルを作りたいのですが.
  どのように記述すれば良いのでしょうか?
  タグ情報.
  アーティスト  俺.
  アルバムタイトル  俺の作品.
  発売年  2012
  拡張子  mp3 wave など色々.
  の音楽ファイルタグを参照しフォルダ名を.
  俺 - 2012 俺の作品 [mp3]
  に変更したいなと思っています.
  どうか, 教えてください, よろしくお願いします.

  287 :デフォルトの名無しさん:2012/10/28(日) 00:25:35.03
  [*] 何でも無理矢理バッチでやろうとせず, WSH等の使用も検討しましょう.

  288 :デフォルトの名無しさん:2012/10/28(日) 00:56:32.37
  バッチだけでできんのかそんなこと. w.

  289 :デフォルトの名無しさん:2012/10/28(日) 07:42:34.92
  wmic /?

  290 :デフォルトの名無しさん:2012/10/28(日) 14:16:38.59
  うそばっか.

  291 :デフォルトの名無しさん:2012/10/29(月) 06:57:03.83
  http://www.atmarkit.co.jp/fwin2k/operation/command004/command1.html

  292 :デフォルトの名無しさん:2012/10/30(火) 00:36:26.92
  すみませんが, お知恵を貸していただけないでしょうか.
  * やりたいこと.
    windows7で次のコマンドの実行結果の文字列を変数RESULTに設定する.
    "rplsinfo.exe" "TOKYO  MX__番組 (1).ts"-d
    コマンドの実行結果  YYYY/MM/DD
  * 現在のスクリプト.
  for /f "usebackq tokens=*" %%a in (`%2 %1 -d`) do set RESULT=%%a
  echo [%RESULT%]
  * 引数.
  %1は"C:\Users\山田太郎\Videos\TOKYO  MX__番組 (1).ts"
  %2は"rplsinfo.exe"
  * 実行結果.
  'rplsinfo.exe" "TOKYO' は, 内部コマンドまたは外部コマンド,
  操作可能なプログラムまたはバッチ ファイルとして認識されていません.
  []
  お手数をおかけしてすみませんが, よろしくお願いいたします.

  293 :デフォルトの名無しさん:2012/10/30(火) 08:10:39.69
  バッチファイル  全角スペースでググれば何が問題になってるか解るよ.

  294 :デフォルトの名無しさん:2012/10/30(火) 11:47:32.44
  >>292
  > %1は"C:\Users\山田太郎\Videos\TOKYO  MX__番組 (1).ts"
  > %2は"rplsinfo.exe"
  実際は%1にはダブルクオーテーション無しで.
  C:\Users\山田太郎\Videos\TOKYO  MX__番組 (1).ts
  が入ってると思うけどね.
  forの前に.
  echo %2 %1 -d
  とかやって実際にはどんなコマンドになってるのか見ればいいよ.

  295 :デフォルトの名無しさん:2012/10/30(火) 22:28:30.94
  >>293
  ありがとうございました.
  お蔭様でなんとか対策を検討できそうです.
  >>294
  ありがとうございました.
  echo %2 %1 -d  とやってみると, 次のようにダブルクオーテーション付きで表示されました.
  "rplsinfo.exe" "C:\Users\山田太郎\Videos\TOKYO  MX__番組(1).ts" -d
  こちらの件はおそらく大丈夫だと思いますが, 気になる点があればご指摘ください.

  296 :デフォルトの名無しさん:2012/10/30(火) 22:55:15.22
  知ったかしてみる.
  for /f "usebackq" in (``) の``の中で.
  コマンド本体となるrplsinfo.exeを""でくくるとマズイ.
  引数は""でくくっても大丈夫.

  297 :デフォルトの名無しさん:2012/10/30(火) 23:12:23.04
  >>296
  ありがとうございます, 早速試してみました.
  なんと!上手く行きました.
  これでなんとか目的の物が作れそうです.
  本当にありがとうございました.

  298 :デフォルトの名無しさん:2012/10/31(水) 10:18:38.60
  For文で変数の遅延展開を有効にする魔法のSetコマンド文ってなんでしたっけ!?

  299 :デフォルトの名無しさん:2012/10/31(水) 10:23:16.11
  >>132
  これだっけ?あったかも!?さんくす!

  300 :デフォルトの名無しさん:2012/10/31(水) 10:29:31.06
  >>298
  SETLOCAL ENABLEDELAYEDEXPANSION

  301 :デフォルトの名無しさん:2012/11/03(土) 15:46:52.18
  オプション無しのdirコマンドでは隠し属性やシステム属性は出力されませんがディレクトリも出力されてしまいます.
  そこで, ファイルのみを出力しようと, dir /a-dとしたら, 今度はファイルのみではあるのの隠し属性やシステム属性まで出力されてしまいます.
  オプション無しのdirコマンドと同じフィルタレベルで出力するには, dirコマンドのオプションをどのように指定すれば良いのでしょうか?
  また,

  302 :デフォルトの名無しさん:2012/11/03(土) 15:50:18.23
  dir /a-d-h-s

  303 :301:2012/11/03(土) 15:52:06.04
  文章が途中で切れました大変失礼致しました.
  また, dir /aコマンドで隠し属性やシステム属性含めてファイルやフォルダ全て出力されている(っぽい)のですが,
  dirコマンドのヘルプも見てもそうは書かれていないと思うのですがいかがでしょうか?
  http://technet.microsoft.com/ja-jp/library/cc755121(WS.10).aspx

  304 :デフォルトの名無しさん:2012/11/03(土) 16:15:04.06
  >>303
  なにがいかがですか?

  305 :301:2012/11/03(土) 16:16:36.41
  >>302
  一つの/aオプション中に, -h-sやのように必要な数分の-を使えるとは知りませんでした.
  どうもありがとうございます.

  306 :301:2012/11/03(土) 16:17:56.58
  >>304
  "dirコマンドのヘルプも見てもそうは書かれていない" equ "なに"

  307 :デフォルトの名無しさん:2012/11/03(土) 16:20:33.27
  >>306
  お前あれだな, 気持ち悪いな, ゲロ吐きそうなほど気持ち悪い, ゲロキモだな.
  いかがですかってなに?参りましたといってほしいの?何を聞いてんの?いかがでしょうか?

  308 :デフォルトの名無しさん:2012/11/03(土) 16:23:23.50
  今日はいい天気なので部屋の窓を全開にしようと思うのですがいかがでしょうか?

  309 :デフォルトの名無しさん:2012/11/03(土) 16:25:51.00
  さっき買い物に出かけたときふんずけたウンチは犬のものだと思うのですがいかがでしょうか?

  310 :デフォルトの名無しさん:2012/11/03(土) 16:27:25.97
  いかがでしょうかフェスティバルが開催されていると聞いてやってきたのですがいかがでしょうか?

  311 :デフォルトの名無しさん:2012/11/03(土) 16:27:33.77
  dir /aは限定なしなんだからすべてだろ.
  dirはデフォルトでdir /a-h-sと同じだろ.

  312 :デフォルトの名無しさん:2012/11/03(土) 16:28:42.43
  >>309
  ごめんなさい!
  すぐ片付けます.

  313 :デフォルトの名無しさん:2012/11/03(土) 16:32:53.72
  MSのドキュメントは話にならんだろ.
  2chのほうがましだろ.

  314 :デフォルトの名無しさん:2012/11/03(土) 19:58:15.53
  >>303
  いやそもそもそこのドキュメントに書いてあるやん.
  http://technet.microsoft.com/ja-jp/library/cc755121(WS.10).aspx
  > If you use /a without specifying Attributes, dir displays the namesof all
  files, including hidden and system files.
  > Dir /a 属性 属性 を指定せずに/aを使用すると, 非表示名を含むすべてのファイルとシステム ファイルが表示されます.
  翻訳の改善提案(http://technet.microsoft.com/ja-jp/library/translation/edit/cc755121(v=ws.10).aspx?sentenceGuid=aadb1c0a-2984-5c0e-703d-6e90c492ebc6)

  315 :デフォルトの名無しさん:2012/11/04(日) 07:12:40.75
  robocopy "G:\\" "Z:\\G\\" /mir /mon:1 /tee /eta /log+:"R:\\ETC\\backup.log"
  GドライブとZドライブにあるGフォルダを同期させたいのですが, 一部のファイルで同期完了したのに「より新しい」と表示され何度もコピーされます.
  一度コピーしたら変更があるまでコピーしないにはどうすればいいんですか?あとGフォルダが隠しフォルダになってしまうのは何か関係ありますか?

  316 :デフォルトの名無しさん:2012/11/04(日) 09:29:17.83
  その robocopy とやらの作者に聞けよ.

  317 :デフォルトの名無しさん:2012/11/04(日) 10:37:51.21
  そのZドライブがFATだったり古いNASだったりするとタイムスタンプ精度が悪くて同期がうまくいってない可能性がある.
  /FFTオプションを付けてみたら?
  >>316
  robocopy はMS純正でVista以降の標準コマンドなんだが.

  318 :デフォルトの名無しさん:2012/11/04(日) 10:40:28.44
  >>315
  backup.logファイルにヒントがあるかもしれないから, コピペするか.
  ログファイル自体をどこかにうpしてもらえませんか?

  319 :デフォルトの名無しさん:2012/11/04(日) 12:10:10.79
  >>317
  MS様に聞けばいいじゃないか. w.

  320 :デフォルトの名無しさん:2012/11/04(日) 13:06:45.53
  robocopyのGUIツールを作ったMSの中の人のブログのコメント欄にでも投稿してみたら?
  http://blogs.technet.com/b/ken/archive/2009/05/16/richcopy-japanese.aspx

  321 :デフォルトの名無しさん:2012/11/04(日) 13:19:53.32
  >>320
  わかったちょっと荒らしてくる.

  322 :デフォルトの名無しさん:2012/11/04(日) 13:20:18.51
  >>317
  /FFTオプションをつけたところ更新されないようになりました.
  >>318
  何回もコピーしたためか, ログが300MB近く吐かれててメモリ足りずに開くこともできませんでした・・・.

  323 :デフォルトの名無しさん:2012/11/04(日) 13:58:34.95
  >>316
  robocopyを知らないシロート発見.

  324 :デフォルトの名無しさん:2012/11/04(日) 16:07:27.43
  rsync 使ってるから, robocopy なんて知りませんでしたが, それが何か?

  325 :デフォルトの名無しさん:2012/11/04(日) 19:30:43.27
  MS様に聞けない小心者ちゃんをいじめちゃダメぇ〜.

  326 :デフォルトの名無しさん:2012/11/05(月) 01:25:24.74
  バッチ中で何かのコマンドを実行した時に今までの画面出力が.
  全角文字の部分だけ重複して.
  1 個個ののフファァイイルルををココピピ----ししままししたた. .
  みたいな感じになってしまうことがあるんだけど.
  これはいったいどういう理由でなってるの?

  327 :デフォルトの名無しさん:2012/11/05(月) 01:26:32.81
  echo  だったかな.

  328 :デフォルトの名無しさん:2012/11/05(月) 01:29:00.70
  ごめん適当ぶっこいたわからん.

  329 :デフォルトの名無しさん:2012/11/05(月) 02:16:21.93
  ならん.

  330 :デフォルトの名無しさん:2012/11/05(月) 09:45:08.80
  >>324
  全然用途が異なるツールあげられても. w.
  どうせボケるなら, [下矢印]これくらいボケないと.
  > OpenOfficeつかっているから, robocopy なんて知りませんでしたが, それが何か?

  331 :デフォルトの名無しさん:2012/11/05(月) 10:20:05.81
  WIN8 をつかているんですが, 管理者権限を無効にするコマンド誰か知りませんか?
  XPでもいいです.

  332 :デフォルトの名無しさん:2012/11/05(月) 22:19:54.07
  >>327
  tee

  333 :デフォルトの名無しさん:2012/11/05(月) 23:36:07.45
  >>330
  そんなボケはいらんよ. (w.

  334 :デフォルトの名無しさん:2012/11/06(火) 00:13:18.94
  そんなツッコミはいらんよ. (w.

  335 :デフォルトの名無しさん:2012/11/06(火) 00:50:22.88
  ひょっとして >>330 って, マジでツッこんでたの?
  まさかね. (w.

  336 :326:2012/11/06(火) 02:13:17.13
  どうもmediainfoの古い版を起動したときに.
  一瞬コードページが変わるような表示になり元に戻った時に.
  >>326のようになってしまうようだ.
  最新の版では起きないみたい.

  337 :デフォルトの名無しさん:2012/11/06(火) 11:12:39.16
  .batに限らないが, Win上で動くスクリプト関連のエディタは, Sakuraが無難?
  Ctrl+Bで実行とか, Ctrl+F5のコマンドエミュレートとか便利っぽいんだが,
  他にいいのあったらおせーて.

  338 :デフォルトの名無しさん:2012/11/06(火) 15:56:19.51
  さあ?
  実行はtest_hoge.bat $(Path)でもあれば十分だし何でも良いんじゃないの.

  339 :デフォルトの名無しさん:2012/11/08(木) 08:55:28.56
  findstr や find だと検索に一致した文字列のある行を表示しますが,
  検索に一致した部分だけを表示してくれるOS標準のコマンドってありませんか?

  340 :デフォルトの名無しさん:2012/11/08(木) 14:28:37.54
  >>339
  意味が解らん.
  具体例か目的を書いた方がいい.

  341 :デフォルトの名無しさん:2012/11/08(木) 15:41:48.76
  findstr pattern file >nul 2>nul && echo pattern

  342 :デフォルトの名無しさん:2012/11/08(木) 16:06:39.78
  >>340
  grep で言うところの -o オプションに相当することが可能な検索(切り出し)です.
  例えば.
  <a href="http://www.amazon.co.jp/何か1">その1</a><a
  href="http://www.amazon.co.jp/何か2">その2</a>
  <br>
  <a href="http://www.amazon.co.jp/何か3">その3</a>
  というような行を含むファイル test.html で.
  >findstr /R /C:"href=\"http://[^^\"]*" test.html
  で検索をかけるとヒットした部分を含む行全体が丸ごと返ってきますが, yagrep 等なら.
  >yagrep -o "href=\"http://[^^\"]*\"" test.html
  href="http://www.amazon.co.jp/何か1"
  href="http://www.amazon.co.jp/何か2"
  href="http://www.amazon.co.jp/何か3"
  と行全体ではなくヒットした部分のみ個別に切り出せるので.
  >>341
  それだと基本的に固定のパターンにしか対応が難しいような.
  勘違いだったらすみません.
  バッチを捨てて wsh? か vbs? に手を付けたほうがよいでしょうか?

  343 :デフォルトの名無しさん:2012/11/08(木) 17:19:03.16
  http://toro.2ch.net/test/read.cgi/win/1243134619/
  で聞くとバッチで作ってくれるよ.

  344 :デフォルトの名無しさん:2012/11/08(木) 18:09:24.25
  >>342
  バッチにCScript埋め込まばいいじゃん.

  345 :デフォルトの名無しさん:2012/11/08(木) 20:15:10.89
  色々ありがとうございます.
  バッチと合体?させる方が簡単なのか, 難しくなるのかすら見当ついてませんが,
  作成依頼をする事でもないので, とりあえず vbs のいろはから始めてみます.

  346 :デフォルトの名無しさん:2012/11/09(金) 01:28:55.10
  yagrepでいいんじゃないのか. w.

  347 :デフォルトの名無しさん:2012/11/09(金) 16:33:13.17
  お題読めないメクラはレス禁止.
  > OS標準のコマンド.

  348 :デフォルトの名無しさん:2012/11/10(土) 03:19:02.96
  OS標準のコマンド ってPOSIX 1003.1か?

  349 :デフォルトの名無しさん:2012/11/10(土) 10:07:49.71
  このスレでそういう低能な質問するか?

  350 :デフォルトの名無しさん:2012/11/10(土) 11:06:09.83
  バッチファイルごときで低脳とか有能とか関係あるのか. w.

  351 :デフォルトの名無しさん:2012/11/10(土) 13:01:24.30
  無能がバッチやると, バッチじゃ不適切なことまでバッチでやろうとするよ.

  352 :デフォルトの名無しさん:2012/11/10(土) 15:41:36.07
  「それでもバッチでやってみようず!」ってスレだと思ってみているけど, 違うの?

  353 :デフォルトの名無しさん:2012/11/10(土) 16:09:16.23
  拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる.
  質問, テクニック(JScript, Perl等の埋め込みなど含む), 関連情報のためのスレです.
  [*] 何でも無理矢理バッチでやろうとせず, WSH等の使用も検討しましょう.

  354 :デフォルトの名無しさん:2012/11/10(土) 18:03:06.28
  OS付属のコマンドだな.
  標準なんて使うなよな.

  355 :デフォルトの名無しさん:2012/11/10(土) 19:04:29.45
  バッチ内のforコマンドでusebackqを使い, 実行ファイルへのパスに空白を含むコマンドを実行させたいのですが.
  for /F "usebackq" %%A in (`c:\path to\command.exe`) do echo %%A
  のようにしてもうまく行きません.
  引数も食わせたいのですが, どう記述すべきでしょうか?

  356 :デフォルトの名無しさん:2012/11/10(土) 19:05:20.20
  for /F "usebackq" %%A in (`"c:\path to\command.exe"`)do echo %%A

  357 :デフォルトの名無しさん:2012/11/10(土) 19:14:25.87
  >>354
  その程度のあいまいさを処理できない人工無脳はお引き取りください.

  358 :デフォルトの名無しさん:2012/11/10(土) 19:18:34.59
  for /F "usebackq" %%A in (`call "c:\path to\command.exe"`)do echo %%A

  359 :デフォルトの名無しさん:2012/11/10(土) 19:21:43.50
  >>356
  速攻の回答ありがとうございます.
  これで引数なしでコマンドの実行が出来ることは確認できたのですが.
  引数の与えることがどうもうまくできません.
  引数をダブルクォーテーションで括ったり, くくらなかったり, バッククォートの外に出してみたり.
  色々とやってみたのですが, ,
  お手数かけますが, 引数を与える方法を教えてください.
  よろしくお願いします.

  360 :デフォルトの名無しさん:2012/11/10(土) 19:25:40.44
  ダメだったのを書けよ.

  361 :デフォルトの名無しさん:2012/11/10(土) 20:54:36.84
  >色々とやってみたのですが, ,
  for /F "usebackq" %%A in (`call "c:\path to\command.exe"引数`) do echo %%A
  これはやってないんかい?

  362 :デフォルトの名無しさん:2012/11/10(土) 21:11:13.63
  お世話になりました.
  for /F "usebackq" %%A in (`"c:\path to\command.exe"pattern a.txt`) do echo %%A
  上記でうまくいきましたが, 当初うまく行かなかったのは.
  利用する(外部)コマンドによって挙動が異なるからのようです.
  使いたかったコマンドはgrepで, 下記の物を試しました.
  うまく行かないコマンド.
    http://www.steve.org.uk/Software/grep/
  うまく行ったコマンド.
    http://geoffair.net/unix/grep.htm
  ただ, うまくいった方のコマンドでも, 下記のようにコマンドへのフルパスに加え.
  引数の方をさらにダブルクウォートで括るとエラーになってしまいました.
  for /F "usebackq" %%A in (`"c:\path to\command.exe""a.txt" `) do echo %%A
  ありがとうございました.

  363 :デフォルトの名無しさん:2012/11/10(土) 21:14:46.12
  訂正.
  x for /F "usebackq" %%A in (`"c:\path to\command.exe""a.txt" `) do echo %%A
  o for /F "usebackq" %%A in (`"c:\path to\command.exe""pattern" "a.txt"`) do
  echo %%A  等.

  364 :デフォルトの名無しさん:2012/11/10(土) 21:30:10.20
  for /F "usebackq" %%A in (`""c:\path to\command.exe""pattern" "a.txt""`) do
  echo %%A  等.

  365 :デフォルトの名無しさん:2012/11/10(土) 21:49:19.70
  for /F "usebackq" %%A in (`call "c:\path to\command.exe""pattern" "a.txt"`) do
  echo %%A  等.

  366 :デフォルトの名無しさん:2012/11/11(日) 01:46:41.94
  >>356
  >>357
  OSのバージョンやEditionによってはコマンドの有無が違うから,
  標準ではないというのは正しい. けど特別拘った表現は不要だけど. w.
  homeエディションにopenfilesが無くて話が頓挫とか稀にある. 稀にね. そう, homeならね.

  367 :デフォルトの名無しさん:2012/11/11(日) 02:05:37.28
  >>352
  確かにWindows板に比べればその気は強いが.
  実用の場合はそこの見極めは最低限いるからな.

  368 :デフォルトの名無しさん:2012/11/11(日) 05:10:16.03
  Q. 環境変数に4桁の数字を代入したいのですが,
  set /a keisan=0185
  echo %keisan%
  こうするとうまくいきません.
  どうにかして0185を185として代入させることはできませんか.
  ご教示ください.

  369 :デフォルトの名無しさん:2012/11/11(日) 06:08:02.47
  一桁ずつとりだして.
  ゼロだったら削除の上で結合することにしました.
  ほんとうにすみませんでした.
  %[環境変数]:~[オフセット(位置)], [文字数]%

  370 :デフォルトの名無しさん:2012/11/11(日) 10:42:15.62
  set /a で最初の数字が0の時は8進数, xなら16進数として認識される.
  最初が0の10進数として認識させたいなら, 最初の0を削る以外にも.
  桁数が分かってることを前提として.
  set hoge=0185
  set fuga=1%hoge%
  set /a keisan=fuga - 10000
  等とやったりする.

  371 :デフォルトの名無しさん:2012/11/11(日) 15:44:19.77
  バッチファイルでLTrim()する.
  http://scripting.cocolog-nifty.com/blog/2011/07/ltrim-e511.html

  372 :デフォルトの名無しさん:2012/11/14(水) 23:02:35.98
  テキストファイルがいくつか有るとして,
  そのすべてのファイル名の先頭に(abc)とつけるとしたらどうやればいいですかね?
  ren *.txt (abc)*じゃできないみたいなのでどなたかご教授お願いします.

  373 :デフォルトの名無しさん:2012/11/14(水) 23:10:29.28
  for %i in (*.txt) do ren %i abc%i

  374 :デフォルトの名無しさん:2012/11/14(水) 23:56:17.51
  recursion起こすぞ.

  375 :デフォルトの名無しさん:2012/11/14(水) 23:57:30.66
  for /f "delims=" %i in ('dir /b *.txt') do ren %i abc%i

  376 :デフォルトの名無しさん:2012/11/14(水) 23:58:38.42
  ファイル名に空白あったら?

  377 :デフォルトの名無しさん:2012/11/14(水) 23:59:34.27
  for /f "delims=" %i in ('dir /b *.txt') do ren "%i""abc%i"

  378 :デフォルトの名無しさん:2012/11/15(木) 00:01:06.83
  ファイル名にハングルとか非JIS文字あったら?

  379 :デフォルトの名無しさん:2012/11/15(木) 00:01:49.70
  wsh使え.

  380 :デフォルトの名無しさん:2012/11/15(木) 06:20:04.62
  set hoge=0185
  set fuga=10000%hoge%
  set /a keisan=fuga %% 10000

  381 :デフォルトの名無しさん:2012/11/15(木) 06:34:43.72
  >>380
  0 除算エラーです.

  382 :デフォルトの名無しさん:2012/11/15(木) 07:33:02.46
  >>381
  涙拭くハンカチ用意しとけよ. w.

  383 :デフォルトの名無しさん:2012/11/15(木) 21:49:50.80
  >>377
  ありがとうございます. こんなのがスラっと欠けるなんて凄いですね.
  /fオプションの使い方がよくわからないので, もし良かったらこのコマンドの解説を軽くしてもらえませんか?

  384 :デフォルトの名無しさん:2012/11/15(木) 22:00:37.32
  for/?

  385 :デフォルトの名無しさん:2012/11/16(金) 00:10:19.52
  forを完璧に使いこなせたらバッチの何割を会得したと言えるんだろうと思うくらい多機能だよなあ.

  386 :デフォルトの名無しさん:2012/11/16(金) 03:31:23.73
  set keisan=0185
  set /a keisan=2*1%keisan%-2%keisan%

  387 :デフォルトの名無しさん:2012/11/16(金) 16:45:22.44
  >>385
  完璧に使いこなせたらって, そもそもforの何割を会得したんだ?

  388 :デフォルトの名無しさん:2012/11/16(金) 17:07:39.63
  完璧が100%以外の意味を持つとは知らなんだ.

  389 :デフォルトの名無しさん:2012/11/16(金) 17:41:10.60
  日本語も何割を会得したんだ?

  390 :デフォルトの名無しさん:2012/11/16(金) 19:23:28.93
  >>378
  cpをutf8にすりゃいいかもよ.

  391 :デフォルトの名無しさん:2012/11/17(土) 00:18:21.14
  >>386
  お前頭いいな, 感動した.

  392 :デフォルトの名無しさん:2012/11/17(土) 02:09:08.57
  for /F はトークン切り出しとかでCSVの簡易解析とかに使ったかな?

  393 :デフォルトの名無しさん:2012/11/17(土) 03:24:27.06
  昔for /F の括弧中に全角文字があると引数が尻切れになるバグがあったな.
  WinXP以降は直ったみたいだが.

  394 :デフォルトの名無しさん:2012/11/19(月) 21:35:20.83
  代わりに他のバグがあります.

  395 :デフォルトの名無しさん:2012/11/20(火) 00:16:50.19
  @Echo Off & SetLocal EnableDelayedExpansion
  Echo * Params: 0 " " 6
  Call :FuncHoge 0 " " 6
  Echo * Length: 12345678901234567890
  Echo * Return: %Return%
  GoTo EOF
  :--------------------------------
  :FuncHoge
  Set X=1 & Set Z=
  For /L %%I In ( 1, 1, %3 ) Do (
    Echo * Check: !X!
    If /I !X! GEQ 10 (
      If /I %1 LSS !X! (
        Set Z=%~2!Z!
      )
    )
    Set /A X=!X!*10
  )
  Set Return=!Z!%1
  GoTo END
  :--------------------------------
  :EOF
  Pause>Nul
  :END
  数値の桁合わせに書いたんだが最初から文字列にすればよかったと後悔記念.
  ご指摘plz

  396 :デフォルトの名無しさん:2012/11/20(火) 05:30:46.38
  えーと何がしたいのかよくわからんのだが.
  @echo off
  setlocal enabledelayedexpansion
  call :FuncHoge 0 " " 6
  Echo * Length: 12345678901234567890
  Echo * Return: %Return%
  pause
  goto :eof
  :FuncHoge
  for /L %%i in (1, 1, %~3) do set spacer=%~2!spacer!
  set Return=%spacer%%~1
  set Return=!Return:~-%~3!
  goto :eof
  こういうことでいいんかな・・・?

  397 :デフォルトの名無しさん:2012/11/20(火) 17:11:20.47
  PC起動時にコマンドプロンプトをスタートアップより起動してPINGを自動で送るようにしたいです.
  コマンドの内容はこれです「ping *.*.*.* -t -l 2000」*はipが入ります.
  CMDのショートカットのプロパティをいじるだけでは無理でしょうか?
  バッチファイル作成が必要なのでしょうか?
  どなたかご教授願います.

  398 :デフォルトの名無しさん:2012/11/20(火) 18:02:05.68
  バッチファイル作ってスタートアップに突っ込んどけばいいんじゃないの.
  それかschtasks使うとか.

  399 :デフォルトの名無しさん:2012/11/20(火) 18:14:53.85
  ショートカットのリンク先を.
  %windir%\system32\cmd.exe /c ping 127.0.0.1 -t -l 2000
  たぶん作業フォルダをsystem32とかじゃなく適当な場所に指定する必要あり.

  400 :デフォルトの名無しさん:2012/11/20(火) 18:15:57.50
  ショートカットのリンク先を.
  ping 127.0.0.1 -t -l 2000

  401 :デフォルトの名無しさん:2012/11/20(火) 18:23:19.61
  みなさん短時間の間にレスしていただきありがとうございます.
  >>399さんの方法で上手くいきました.
  本当にありがとうございました.

  402 :デフォルトの名無しさん:2012/11/20(火) 18:54:09.03
  cmdよぶなら%ComSpec%

  403 :デフォルトの名無しさん:2012/11/20(火) 19:17:29.34
  よばんでいい.

  404 :デフォルトの名無しさん:2012/11/20(火) 19:19:01.51
  んなこたわかってる.

  405 :デフォルトの名無しさん:2012/11/20(火) 19:24:06.67
  /cって要らないんじゃないの.

  406 :デフォルトの名無しさん:2012/11/20(火) 19:30:01.77
  んなこたわかってる.

  407 :デフォルトの名無しさん:2012/11/20(火) 19:30:03.21
  よばんでいい.

  408 :デフォルトの名無しさん:2012/11/20(火) 19:35:55.84
  おばんです.

  409 :デフォルトの名無しさん:2012/11/21(水) 00:54:48.04
  >>396
  そうです!まさにそれです!!!
  今回 set /? を何度も読んだのに気づきませんでした.
  恥ずかしい. 感謝. また醜態さらしに来ます. 恩に着ます.

  410 :デフォルトの名無しさん:2012/11/22(木) 15:19:27.80
  外部からファイルリストを読み込んで, リストのファイルにアクセスしたいんですが.
  半角の「!」が含まれていると, アクセスできなくなります.
  読み込み時にエスケープさせることはできないですか?
  for /f delims^=^ eol^= %%A in (filelist) do (
  echo "%%~A"
  )

  411 :410:2012/11/22(木) 15:21:21.05
  追記.
  サブルーチン, 他コマンドの引数にしたいのですが失敗するんです.

  412 :デフォルトの名無しさん:2012/11/22(木) 18:53:46.77
  できません.

  413 :デフォルトの名無しさん:2012/11/24(土) 17:47:47.88
  遅延展開してんじゃねーの?

  414 :デフォルトの名無しさん:2012/11/24(土) 18:59:11.33
  じゃあこれでいいんじゃね.
  for /f delims^=^ eol^= %%A in (filelist) do (
  setlocal disabledelayedexpansion
  echo "%%~A"
  endlocal
  )

  415 :410:2012/11/26(月) 11:07:44.29
  サンクス.
  setlocal disabledelayedexpansionで読み込めました.

  416 :デフォルトの名無しさん:2012/11/28(水) 17:47:17.18
  Win 8 Pro x64 を使用しています.
  バッチ操作で netsh wlan show interfaces コマンドを起動し,
  取得される SSID を変数に取りこむには, どのようにすれば良いのでしょうか.

  417 :デフォルトの名無しさん:2012/11/28(水) 18:56:45.35
  昔なら ssid.bat を作っておいて出力をダイナミックに実行とかアブナイことしてるやつもいたけど.
  今はforがある. いい時代だ.

  418 :416:2012/11/29(木) 23:45:25.64
  >>417 これでできました. ありがとうございました.
  for /f "delims=: tokens=2" %%i in ('netsh wlan show interfaces^|find /i "
  SSID"') do set p=%%i
  ちなみに次の行で set p=%p:~1% をしてスペースを削除させてるのですけど,
  これを set p=%%i の時点で行うことは可能なのでしょうか.

  419 :デフォルトの名無しさん:2012/12/02(日) 00:25:56.11
  教えてください.
  ミュージックプレイヤー(foobar)起動時に自動でバッチファイルを実行させようと四苦八苦しています.
  どうすれば良いでしょうか?
  アドレスお願いいたします.

  420 :デフォルトの名無しさん:2012/12/02(日) 00:36:55.55
  バッチファイルでfoobar起動.

  421 :デフォルトの名無しさん:2012/12/02(日) 00:42:34.00
  >>420
  レスありがとうございます.
  なるほど!
  元々このような事を考えたのは,
  立ち上げ時にfoobarフォルダにある.
  プレイリストファイルを自動で削除出来ないか?と思ったからです.
  foobar起動のバッチファイルにプレイリスト削除も記述してしまえば良いのですね.
  早速挑戦してみます.
  ありがとうございました!

  422 :デフォルトの名無しさん:2012/12/02(日) 02:14:37.94
  msecぞろ目率が高いのは板の特性なのか?

  423 :デフォルトの名無しさん:2012/12/02(日) 02:15:22.54
  くっそ. wwww.

  424 :デフォルトの名無しさん:2012/12/02(日) 12:50:19.41
  がれき受け入れ反対の男ら4人逮捕  大阪府警.
  がれき受け入れに抗議するグループの男3人と無職の女(33)の計4人を現行犯逮捕した.
  男3人はいずれも黙秘, 女は「納得いかない」と容疑を否認している.
  府警によると, 逮捕されたのは, 外国人登録証明書から韓国籍の男(45)らとみられる.
  仲間を返して. wwwwwww.
  http://livedoor.blogimg.jp/kikuemonjp010/imgs/6/2/627735f0.jpg
  怒りの大阪府民] 不当逮捕した仲間を返せ [これが関西魂や!] 1/6
  http://www.nicovideo.jp/watch/sm19271298

  425 :デフォルトの名無しさん:2012/12/14(金) 11:32:53.48
  %name%を8:3の名前に変更したいです.
  どうすればいいですか?

  426 :デフォルトの名無しさん:2012/12/14(金) 18:57:15.91
  for %I in ("%name%") do ren "%~I" %~snxI

  427 :デフォルトの名無しさん:2012/12/14(金) 21:31:01.17
  >>426
  ありがとうございました.

  428 :デフォルトの名無しさん:2012/12/19(水) 22:57:54.95
  setlocal enabledelayedexpansion
  set FOLDER=%USERPROFILE%\My Documents\My Music\Ripping
  for /F "delims=\ tokens=1-5, 6*" %%a In ( 'dir /S /B "%FOLDER%"') do (
          set FULLPATH=%%A\%%B\%%C\%%D\%%E\%%F\%%G
          echo !FULLPATH!
  )
  tokens=1-5, 6* の「1-5」と「6*」をそれぞれひとつの変数で表せないでしょうか.
  %%A\〜%%F\まで, ひとつひとつ書かないと駄目ですかね?
  tokens=1*, 6* という書き方は駄目でした. .

  429 :デフォルトの名無しさん:2012/12/19(水) 23:49:54.34
  %%~pA みたいに展開するとか.

  430 :デフォルトの名無しさん:2012/12/21(金) 23:06:40.26
  できないよ. w.

  431 :デフォルトの名無しさん:2012/12/22(土) 07:22:27.67
  move.exeのありかを教えてください. 起動できるのに存在がわかりません. 隠しファイルも探しました.

  432 :デフォルトの名無しさん:2012/12/22(土) 16:53:13.92
  copyと同じところ. w.

  433 :デフォルトの名無しさん:2012/12/22(土) 17:08:25.06
  move.txt /?

  434 :デフォルトの名無しさん:2012/12/22(土) 19:04:02.04
  where move

  435 :デフォルトの名無しさん:2012/12/22(土) 19:22:27.95
  $> which move
  fuck you.
  $>

  436 :デフォルトの名無しさん:2012/12/22(土) 19:30:12.95
  where ahobaka
  >>435

  437 :デフォルトの名無しさん:2012/12/22(土) 19:39:12.86
  www.google.co.jp/search?q=>436
  もしかして "まぬけ"

  438 :デフォルトの名無しさん:2012/12/22(土) 19:48:09.43
  where "まぬけ"
  >>435

  439 :デフォルトの名無しさん:2012/12/22(土) 19:51:28.93
  この流れは・・・・・負ける・・・・っっ!!!

  440 :デフォルトの名無しさん:2012/12/22(土) 19:53:06.01
  おとりこみちゅうすみません.
  コマンドプロンプトから管理者として実行するにはどうすればよいすか?

  441 :デフォルトの名無しさん:2012/12/22(土) 21:53:21.21
  >>440
  "コマンドプロンプトから管理者として実行"でググればいいじゃんない?

  442 :デフォルトの名無しさん:2012/12/22(土) 22:36:25.92
  ぐぐってもなさそうだが?
  3番目に外部ソフト利用があったけどわざわざ使うか.

  443 :デフォルトの名無しさん:2012/12/22(土) 22:44:18.33
  >>442
  runas
  ろくにググれもしないお前は死んで詫びろ.
  スレが汚れる.

  444 :デフォルトの名無しさん:2012/12/22(土) 22:45:35.05
  runasじゃねーだろバカ.

  445 :デフォルトの名無しさん:2012/12/22(土) 22:49:46.79
  バカはスルーで.

  446 :デフォルトの名無しさん:2012/12/22(土) 22:51:34.67
  ルナス!

  447 :デフォルトの名無しさん:2012/12/22(土) 22:51:56.27
  こいつはバカだな.

  448 :デフォルトの名無しさん:2012/12/22(土) 22:53:44.06
  ばかわだまってろ.

  449 :デフォルトの名無しさん:2012/12/22(土) 22:59:10.25
  runasなんてコマンドねーよ.
  443はバカだね.

  450 :デフォルトの名無しさん:2012/12/22(土) 23:05:20.54
  みんなにバカ呼ばわりされて443涙目. wwww.

  451 :デフォルトの名無しさん:2012/12/23(日) 00:33:13.23
  runasはあるけどelevationとはちがうわなwバカにはわからんだろうが. w.

  452 :デフォルトの名無しさん:2012/12/23(日) 00:34:08.93
  で, elevationを外部ソフトなしでやれんのか?

  453 :デフォルトの名無しさん:2012/12/23(日) 02:07:02.76
  >>431
  where /r \ move.exe では.
  Could not find move.exe
  になります. copy.exe copy.com でも同様です.
  徹底的に検索しても, 見つかりません.
  皆さんは, 本当に存在場所を具体的に示すことができているのでしょうか?
  かなり生意気な物言いになってしまいますが, 具体例を示していただけると助かります.

  454 :デフォルトの名無しさん:2012/12/23(日) 02:21:15.59
  〜〜になります.
  だけでいいんだがどうして愚者はこうも挑発が好きなのか.

  455 :デフォルトの名無しさん:2012/12/23(日) 02:43:44.60
  move.exeならオレの隣で寝てるよ.

  456 :デフォルトの名無しさん:2012/12/23(日) 08:28:39.87
  >>453
  xcopy, findstr, replaceあたりはexeがあるけど, copy, move, renameあたりは検索してもexeが無いね.
  ちなみに巨大ファイルをmoveコマンドで移動中にタスクマネージャを確認するとmove.exeなんて出てこない.
  (xcopyコマンドだとxcopy.exeが出てくる)
  その代わりにcmd.exeのCPU使用率が上がるから, moveコマンドはcmd.exeに内包されてるんだと思うよ.

  457 :デフォルトの名無しさん:2012/12/23(日) 09:08:24.00
  start move.exe
  そんなもの無いのがすぐ分かるだろ. w.

  458 :デフォルトの名無しさん:2012/12/23(日) 09:46:18.63
  今の人間に内部コマンドと外部コマンドと言っても通じんのだろうな・・・.

  459 :デフォルトの名無しさん:2012/12/23(日) 11:43:17.57
  逆に古いユーザはDOSのMOVE.EXEを記憶してるから勘違いする.

  460 :デフォルトの名無しさん:2012/12/23(日) 12:13:25.51
  冬休み初日としてはまずまずの流れ.

  461 :デフォルトの名無しさん:2012/12/23(日) 14:10:11.21
  move.exeなんて無いのに.
  move.exe /?
  ってやるとヘルプが表示されるね. 訳わからん・・・.

  462 :デフォルトの名無しさん:2012/12/23(日) 15:17:39.19
  >>433 も書いてるけど, move.gif とか move.xxx でも表示されるよ.

  463 :デフォルトの名無しさん:2012/12/23(日) 18:53:25.22
  内部コマンドかどうかは>>433で分かるってことよ.

  464 :デフォルトの名無しさん:2012/12/23(日) 18:56:03.43
  dir.exe *

  465 :デフォルトの名無しさん:2012/12/23(日) 18:57:20.66
  内部コマンドかどうかは.
  "move" /?
  だな.

  466 :デフォルトの名無しさん:2012/12/23(日) 19:00:11.40
  set PATHEXT=;
  move /?
  だろ.

  467 :デフォルトの名無しさん:2012/12/23(日) 22:45:54.68
  >>465の勝ち.

  468 :デフォルトの名無しさん:2012/12/23(日) 23:26:58.89
  >>465
  xcopyやfindstrでも同じように出るぞ.

  469 :デフォルトの名無しさん:2012/12/23(日) 23:50:04.07
  >>468
  あほう?

  470 :デフォルトの名無しさん:2012/12/24(月) 00:54:57.00
  だな.

  471 :デフォルトの名無しさん:2012/12/24(月) 03:04:46.17
  >>469-470
  お前らがWin7使ったことないというのはわかった.
  >>465で違う結果になるのはXPでは確認, 7では同じ.

  472 :デフォルトの名無しさん:2012/12/24(月) 10:27:05.61
  でたらめのコマンド名でも同じエラーだし.

  473 :デフォルトの名無しさん:2012/12/24(月) 10:57:47.53
  Win7では.
  move. /? と xcopy. /? は違うのか?

  474 :デフォルトの名無しさん:2012/12/24(月) 14:27:35.04
  Win7では.
  "move" /? 外部だけ検索.
  move. /? 内部だけ検索.

  475 :デフォルトの名無しさん:2012/12/31(月) 15:15:27.57
  初心者〜管理者まで必読!コマンドラインが消えた.

  476 :デフォルトの名無しさん:2012/12/31(月) 20:32:30.63
  cmd.exe や PowerShell ですが.
  System32 と SysWOW64 にあるんだけど.
  どっちを使えばいいの?

  477 :デフォルトの名無しさん:2012/12/31(月) 21:08:29.78
  64bitをつかいたければ32
  32bitをつかいたければ64

  478 :デフォルトの名無しさん:2012/12/31(月) 21:10:25.52
  右折したければ左にハンドルを回す.
  左折したければ右にハンドルを回す.
  みたいな.

  479 :デフォルトの名無しさん:2012/12/31(月) 22:14:02.12
  サンクス.
  System32 に 64 ビットのバイナリがあるのか.

  480 :デフォルトの名無しさん:2012/12/31(月) 23:50:43.88
  それは64bitからの場合だよ.
  32bitからだとまたちがうんよ.

  481 :デフォルトの名無しさん:2013/01/01(火) 00:00:05.49
  32bit から 64bit なんて, 呼べたっけ?

  482 :デフォルトの名無しさん:2013/01/01(火) 00:09:19.40
  呼べるにゃ.

  483 :デフォルトの名無しさん:2013/01/01(火) 02:44:30.56
  32bitから64bit呼ぶ場合はSysnative

  484 :デフォルトの名無しさん:2013/01/02(水) 11:58:44.24
  >>475
  スレ立ってからレス数が伸び悩んでいたのでDAT落ちしたのか.
  お互い9スレ目まで来ていたのにな.
  「コマンド」「DOS」ぐらいでしか引っかからないスレタイが一番の問題だったな.
  こっちは「スクリプト」「バッチ」「bat」「cmd」とかで引っかかるから断然有利.

  485 :デフォルトの名無しさん:2013/01/02(水) 12:54:52.91
  >>483
  64bit版のcmd.exeを管理者としてコマンドラインから実行したいのだけど,
  %windir%\sysnative\cmd.exeを管理者特権でコマンドライン実行するにはどうしたらいいの?

  486 :デフォルトの名無しさん:2013/01/02(水) 14:52:57.11
  そのコマンドラインは32/64どっちなんだよお.

  487 :デフォルトの名無しさん:2013/01/02(水) 16:06:15.80
  >>486
  わかりません.
  64ビットOSで「ファイル名を指定して実行」した場合を想定してはいます.

  488 :デフォルトの名無しさん:2013/01/02(水) 16:48:49.20
  UTF8で保存されたテキストファイルがあるんですが, BOM有なのかBOM無なのかを判断する方法はありますか?
  コマンドでなくてもいいんですが, Windowsの標準機能だけで判断したいのです.

  489 :デフォルトの名無しさん:2013/01/02(水) 17:10:21.21
  「バッチファイルだけで, UnicodeLE や UTF-8 の BOM を除去する. 」
  これを使えば前後のファイルを比較して違ってれば有と分かるな.

  490 :488:2013/01/02(水) 18:25:55.57
  自己レスです.
  DEBUGコマンドでテキストファイルをバイナリ表示し,
  先頭2バイトが「FF FE」(ビッグエンディアンの場合は「FE FF」)であるか否かで.
  BOMの有無が確認できました.
  >>489
  ありがとうございます.
  でもその方法はチトめんどいです (^_^;)

  491 :デフォルトの名無しさん:2013/01/02(水) 19:03:03.41
  >>490
  UTF-8のbomのバイト列は「EF BB BF」なんだけど,
  UTF-8で保存されたテキストファイルを調べたいんじゃなかったの?

  492 :デフォルトの名無しさん:2013/01/02(水) 19:59:35.85
  先頭文字を調べればいいだろ.

  493 :デフォルトの名無しさん:2013/01/02(水) 20:21:51.89
  先頭4文字が????か調べればいい.

  494 :デフォルトの名無しさん:2013/01/04(金) 00:23:10.23
  for文中にカウントアップして進捗状況がわりにechoさせてるんだけどカウントが多いと今までの表示が凄い勢いで上にぶっ飛んでいくんだよ.
  何とか1行の中でカウントアップしたいんだけどバッチだけじゃ無理かな.

  495 :デフォルトの名無しさん:2013/01/04(金) 00:32:29.38
  LFだすからだろ.
  CRにしとけ.

  496 :デフォルトの名無しさん:2013/01/04(金) 00:58:37.83
  >>494
  遅延展開で, 変数に入れて, clsして, echoとか.

  497 :デフォルトの名無しさん:2013/01/04(金) 01:03:01.82
  set /p hoge=hogehoge <nul

  498 :デフォルトの名無しさん:2013/01/04(金) 01:22:48.68
  <nulは知らなかった. ありがとう. (横からだケド)
  SetLocal EnableDelayedExpansion
  for /L %%a In (1, 1, 9) do (
      :cls
      set /A b=!b!+1
      set /P b=!b!<nul
      pause>nul
  )

  499 :デフォルトの名無しさん:2013/01/04(金) 01:50:05.74
  ありがとう.
  正直お前らが何言ってるのかさっぱりだからちょっと勉強してくる.

  500 :デフォルトの名無しさん:2013/01/04(金) 08:55:30.30
  やっと分かったすげー, バッチだけでプログレスバーできるとは.

  501 :デフォルトの名無しさん:2013/01/04(金) 12:28:51.75
  >>498
  aが既にあるのにbをインクリメントする必要なくね?

  502 :デフォルトの名無しさん:2013/01/04(金) 17:40:13.57
  引用.
  コマンドプロンプトやバッチファイルで, 環境変数に改行文字(CR)を入れて使う.
  環境変数に改行文字(CR)を入れる.
  名 の unicode が 540D, これをシフトJISで読むと, 0D 54 つまり, CR+T であることを利用して, CR を抜き出します.
  setlocal enabledelayedexpansion
  for /f "delims=" %%1 in ('cmd /u /c echo;名') do (
  set CR=%%1
  set CR=!CR:~0, 1!
  )
  改行文字(CR)を使うときは, 環境変数を遅延展開します.
  echo aaa!CR!bbb

  503 :デフォルトの名無しさん:2013/01/04(金) 17:47:55.15
  >>493
  set /p x= < 対象ファイル.
  if "%x:~0, 4%"=="????" (echo BOM有) else echo BOM無.

  504 :デフォルトの名無しさん:2013/01/04(金) 22:20:24.40
  >>501
  aはforループのダミーですしおすし.

  505 :デフォルトの名無しさん:2013/01/04(金) 22:23:03.35
  for /f %%i in ('"cmd /k prompt $h <nul"') do set bs=%%i
  for /l %%i in (0, 10, 100) do @(ping -n 2 0 >nul
  set /p=%bs%%bs%%bs%%%i%%<nul)

  506 :デフォルトの名無しさん:2013/01/05(土) 04:20:00.46
  <nul
  に, へー, と思ってググったら.
  for /L %%i in (1, 1, 80) do (
  ping -n 1 127.0.0.1 >nul
  set /P <nul =#
  )
  でプログレスバーっぽくできることに増々, へー, となった.

  507 :デフォルトの名無しさん:2013/01/06(日) 23:34:29.16
  win764bitで, bluetoothアダプタの無効->有効をバッチファイルでできますか?
  スリープ復帰したときbluetoothマウス見失うことが頻発してて.
  いつも手動で画面右下のアイコンから, bluetoothアダプタの無効->有効してます.

  508 :デフォルトの名無しさん:2013/01/07(月) 00:08:11.46
  http://vok.paburica.com/index.php?WindowsTips
  の, デバイスの有効・無効をコマンドプロンプトから行いたい.
  にそれらしい方法はあるな.
  URLは直接貼れなかった.

  509 :デフォルトの名無しさん:2013/01/07(月) 17:04:07.31
  devcon.exe

  510 :デフォルトの名無しさん:2013/01/08(火) 21:22:07.64
  デブゴン?

  511 :デフォルトの名無しさん:2013/01/09(水) 01:03:07.71
  >>507  です.
  >>508
  >>509  を参考に試した結果, 思ったとおりのモノができました.
  ありがとうございます.

  512 :デフォルトの名無しさん:2013/01/09(水) 22:42:43.43
  254 : デフォルトの名無しさん[sage] ::2011/10/31 06:25:29
  hogehogeという名前のフォルダを右クリックの「送る」に登録したバッチファイルに送ると,
  WinRARで圧縮すると同時に圧縮したファイル名の先頭にその時の日付と時刻を.
  「(yy-mm-dd_hh-nn) hogehoge.rar」
  このように追加したいのですがどういう書き方をすれば良いでしょうか?
  255 : デフォルトの名無しさん[sage] ::2011/10/31 07:16:57
  cd /d "%~dp1"
  set "ymdhm=%date:~2, 2%-%date:~5, 2%-%date:~8, 2%_%time:~0, 2%-%time:~3,2%"
  set "path=%path%;C:\Program Files\WinRAR"
  winrar a "(%ymdhm%) %~nx1.rar" "%~nx1"
  前スレでこのようなバッチファイルを作って頂いたのですが,
  XPではうまく動作していたんですがWin7 64bitに移行してから,
  複数のファイルをバッチファイルに送ると, ひとつのファイルしか圧縮されません.
  すみません, 教えて下さい.

  513 :デフォルトの名無しさん:2013/01/10(木) 00:40:09.35
  shift /?

  514 :デフォルトの名無しさん:2013/01/10(木) 23:23:51.15
  自分なりに作ってみたんですがどうでしょうか?
  一応動いてはいるんですが, 2個目以降のファイルは1個目に作られたアーカイブに追加していってる感じになっちゃってますね・・・.
  C#を趣味で少しかじっただけなので, こうやってバッチ組むのは初めてなんです. .
  @ECHO OFF
  SETLOCAL
  SET RARPATH="C:\Program Files\WinRAR\winrar.exe"
  cd /d "%~dp1"
  for %%1 in (%*) do %RARPATH% a -ag+(YY-MM-DD_HH-MM) " %~n1" "%%~nx1"

  515 :デフォルトの名無しさん:2013/01/11(金) 05:04:52.69
  >>514
  君がしたい動作になるようにWinRARのヘルプのコマンドラインの項をよく読め.

  516 :デフォルトの名無しさん:2013/01/11(金) 19:39:07.48
  setlocal
  [オプションなど]
  :LOOP
  if "%~1"=="" goto END
  [forコマンド処理など]
  shift
  goto LOOP
  :END
  exit
  ファイルが存在する間はshiftでループして,
  存在しなくなったらエンドみたいのが基本形かな.
  アーカイバのオプションなんかはよく理解した上で設定しないと,
  意図した通りにはならないだろうから要熟読ね.
  てか, rar.exeではなくwinrar.exeなのか.

  517 :デフォルトの名無しさん:2013/01/11(金) 22:18:50.38
  >>516
  ありがとうございます. 参考にします.
  rar.exeを使うほうが自然ですね, すみません.

  518 :デフォルトの名無しさん:2013/01/14(月) 21:30:58.80
  力を貸してください.
  下記コマンドを使用した際,
  findのエラー出力で"ファイルが見つかりません"と標準で出るのを非表示にしたいです.
  findのみでしたら 2>nulで消えたのですがこの使用だと抑止できないのでしょうか?
  for /F "tokens=3" %i in ('dir /S K:\HOGE\ ^| find "のファイル"')doset a=%i

  519 :デフォルトの名無しさん:2013/01/14(月) 21:53:08.03
  findのエラー出力ではなくdirのエラー出力だから.

  520 :デフォルトの名無しさん:2013/01/14(月) 22:30:18.25
  >>519
  なるほど・・・ありがとうございました.
  初歩的なことでした, すみません.

  521 :デフォルトの名無しさん:2013/01/15(火) 02:23:58.35
  写真屋のエレメンツでTIF画像を開くために, 画像をペイントで1回上書き保存をしなきゃいけないんだけど.
  その画像が膨大な量あるので, バッチで一括処理したいんですが何かヒントをいただけないでしょうか.

  522 :デフォルトの名無しさん:2013/01/15(火) 11:43:51.68
  TIFFを他の形式に一括変換するだけじゃないの?
  バッチファイルじゃなくそういうソフト使えばいいだけじゃない?

  523 :デフォルトの名無しさん:2013/01/15(火) 21:59:08.70
  copy *.tif *.jpg

  524 :デフォルトの名無しさん:2013/01/16(水) 00:21:36.26
  ren *.tif *.jpg

  525 :デフォルトの名無しさん:2013/01/16(水) 14:52:31.61
  画像変換ならImageMagickのバイナリ拾ってこいよ.

  526 :デフォルトの名無しさん:2013/01/16(水) 18:26:03.77
  Windows7 x64で利用したいのですが, 管理者権限のあるプロンプトから.
    管理者権限を継承せずに別のバッチファイルを呼び出し.
    管理者権限を持っているプロンプトに戻る方法.
    :: 逆(権限なしから権限ありを呼ぶ)でも化.
  もしくは.
    管理者権限を継承しないアプリケーションの呼び出し.
  をするにはどうしたら良いでしょうか?

  527 :デフォルトの名無しさん:2013/01/16(水) 18:51:13.57
  どうしようもねえよ.

  528 :デフォルトの名無しさん:2013/01/16(水) 21:34:27.29
  >>526
  runas

  529 :デフォルトの名無しさん:2013/01/17(木) 15:55:07.56
  カレントディレクトリにdir 1, dir 2, dir 3ディレクトリがあり.
  copy "dir 1/a.txt" "dir */a.txt"
  でコピーしようとしたらディレクトリが存在しないと言われました.
  どうすれば空白文字の入った兄弟ディレクトリにコピーできますか?

  530 :529:2013/01/17(木) 15:57:04.17
  追記. 実際にはディレクトリは10個もあるので一つ一つパスを記述するのは無しです.

  531 :デフォルトの名無しさん:2013/01/17(木) 16:25:23.61
  1つのファイルを複数フォルダへなんていう都合のいいコマンドは無い.
  諦めて全部書くか, 法則性をもとにループで回せ.
  for /l %i in (1, 1, 10) do copy hoge.txt "hage%i\hoge.txt"
  みたいにな.
  ていうかパスに/使うなんてどこから出てきた?
  余所の流儀を安易に突っ込むなよ.

  532 :526:2013/01/17(木) 17:35:01.89
  >>528
  ありがとうございます, 試してみます.

  533 :529:2013/01/17(木) 18:40:10.74
  >>531
  うまくいきました  ありがとうです.
  サブルーチン, if, for, setとかを覚えました.
  区切り文字気をつけます.

  534 :デフォルトの名無しさん:2013/01/18(金) 00:58:00.05
  for 文で数値を変えながらsqlを実行してますが.
  ある変数での処理時間がかかりすぎる場合にタイムアウトして.
  次の変数になり処理するようにすることはできませんか?

  535 :デフォルトの名無しさん:2013/01/18(金) 01:01:18.56
  >>534
  localhostにpingでも打ってカウントしれ.

  536 :デフォルトの名無しさん:2013/01/18(金) 01:35:24.32
  >>535
  どんな意味が?

  537 :デフォルトの名無しさん:2013/01/18(金) 06:42:06.30
  >>536
  お前の人生くらいには.

  538 :デフォルトの名無しさん:2013/01/18(金) 06:43:57.60
  >>534
  コマンド側で割り込みするの気持ち悪いだろ.
  SQL側でやれ.

  539 :デフォルトの名無しさん:2013/01/18(金) 12:46:33.46
  cleanmgr /sageset:10
  cleanmgr /sagerun:10
  としたとき全ドライブでクリーンアップされますが, DVDドライブなども含まれてしまいますか?

  540 :デフォルトの名無しさん:2013/01/18(金) 13:16:41.44
  >>533
  区切り気を付けるって・・・.
  なんか勘違いしてる気がするな.

  541 :デフォルトの名無しさん:2013/01/19(土) 15:13:21.29
  バッチファイルにドラッグ&ドロップされたものがファイルかフォルダかを判別する方法はありますか?
  ファイルは拡張子が無い場合もあるので「if %~x1%==""」とかでは判別できませんでした.

  542 :デフォルトの名無しさん:2013/01/19(土) 16:14:45.32
  >>541
  以下の内容をバッチファイルにしてSendToフォルダに入れてから, 好きなファイルまたはフォルダを右クリック->「送る」->バッチファイル.
  の順に操作してみてくれないか?
  (普通に引数指定で実行してもいいけど)
  @ECHO OFF
  ECHO [情報]引数は"%~f1"です.
  IF "%~f1"==""    ECHO [情報]引数が未指定です.
  DIR/A "%~f1\." > NUL
  IF ERRORLEVEL 1    GOTO STEP2
  GOTO STEP3
  :STEP2
  ECHO [情報]引数にファイルが指定されています.
  GOTO STEP4
  :STEP3
  ECHO [情報]引数にフォルダが指定されています.
  :STEP4
  ECHO [情報]引数指定テスト終了.
  PAUSE

  543 :デフォルトの名無しさん:2013/01/19(土) 16:23:51.64
  c:\users\user\sendtoがファイルになるが?ぼけ.

  544 :デフォルトの名無しさん:2013/01/19(土) 16:34:14.61
  >>543
  Windows7ではXPと異なり, 以下のようにdirコマンドを使って(/aは省略不可), SendToフォルダの見つける必要があるので注意しましょう.
  [*] この例の場合, "C:\Users\usr\AppData\Roaming\Microsoft\Windows\SendTo"
  が本当のSendToフォルダになる.
  c:\Users\usr>dir/a *SendTo
  ドライブ C のボリューム ラベルがありません.
  ボリューム シリアル番号は ****-**** です.
  c:\Users\usr のディレクトリ.
  2012/10/23 02:20 <JUNCTION> SendTo
  [C:\Users\usr\AppData\Roaming\Microsoft\Windows\SendTo]

  545 :デフォルトの名無しさん:2013/01/19(土) 16:34:56.71
  相変わらず nul の使い道を理解してない情弱が多くて何よりだ.

  546 :デフォルトの名無しさん:2013/01/19(土) 16:45:01.87
  そういう情弱もな.

  547 :542=544:2013/01/19(土) 17:02:25.08
  確かにコンソールへのメッセージ表示ををNULデバイスにリダイレクトしても, エラーメッセージの表示までは抑制できない.
  それは分かるのだが・・・.
  ちなみにWindows95発売前のMS-DOSだけが対象OSなら, dirコマンドなど使わずとも以下の一行で事足りるように記憶している.
  (うろ覚えだから, あまり自信はない. 結局. Windows95/NT4.0〜Windows7の場合はVBScriptを利用するのが一番スマートかも?)
  IF "%1\."==""    ECHO [情報]ディレクトリが指定されてます.

  548 :デフォルトの名無しさん:2013/01/19(土) 17:02:59.04
  >>541
  ファイルであるか否かを判定するのではなく,
  ディレクトリであるか否かを判定する.
  if exist "%~1\*" echo;folder else echo;file

  549 :デフォルトの名無しさん:2013/01/19(土) 17:04:47.05
  カッコが要った.
  if exist "%~1\*" ( echo;folder ) else ( echo;file )

  550 :デフォルトの名無しさん:2013/01/19(土) 17:22:55.03
  >>541の悩みを一行で解決してくれるとは, さすが情強.

  551 :デフォルトの名無しさん:2013/01/19(土) 17:25:43.36
  c:\users\user\sendtoがfileになるが?ぼけ.

  552 :デフォルトの名無しさん:2013/01/19(土) 17:28:16.62
  %~aIを見るのが正解だな.

  553 :デフォルトの名無しさん:2013/01/19(土) 17:43:23.61
  for /f usebackq %%i in (`mshta
  vbscript:execute^("CreateObject(""Scripting.FileS
  ystemObject"").GetStandardStream(1).Write(CreateObject(""Scripting.FileSystemObj
  ect"").FolderExists(""%~1"")):close"^)`)do echo %%i

  554 :デフォルトの名無しさん:2013/01/19(土) 17:54:32.51
  バッチで簡単にできることをそこまでするかばか.

  555 :デフォルトの名無しさん:2013/01/19(土) 17:57:46.98
  >>552
  set attribute=%~a1
  if "%attribute:~0, 1%"=="d" (echo;folder) else (echo;file)
  と, いうところか.

  556 :デフォルトの名無しさん:2013/01/19(土) 17:58:34.45
  そゆこと.

  557 :デフォルトの名無しさん:2013/01/19(土) 21:28:35.08
  >>555
  ジャンクションやディレクトリのシンボリックリンクの属性も,
  "d"になるの?

  558 :デフォルトの名無しさん:2013/01/19(土) 23:19:02.52
  dにlが付く.

  559 :デフォルトの名無しさん:2013/01/20(日) 06:20:53.31
  パスにスペースを含むファイルをバッチファイルにドロップした時は%*%でパスを取得できるけど.
  %~n*%ってやってもファイル名は取得できないね. どうすればいいのだろうか?

  560 :デフォルトの名無しさん:2013/01/20(日) 10:56:15.00
  普通に for で回すしかないんじゃないか?
  for %%f in (%*) do echo %%~nf

  561 :559:2013/01/20(日) 11:31:33.22
  >>560
  そのままコピペしたらでけたよ!アリガトン!!

  562 :デフォルトの名無しさん:2013/01/20(日) 11:42:51.74
  コマンドでファイルの文字コード変換やろうと思っているのですが,
  http://scripting.cocolog-nifty.com/blog/2008/12/cmdexeunicodeut.html
  のページの.
  set /p x="XX"^<nul
  という箇所の「XX」の部分はキーボードからはどのように入力すればよいのでしょうか?

  563 :デフォルトの名無しさん:2013/01/20(日) 12:16:47.45
  BOM(0xff 0xfe)か.
  そのページからコピペ.

  564 :デフォルトの名無しさん:2013/01/20(日) 12:41:02.09
  batファイルスクリプトのみで文字と背景の色を変更する事はできませんか?
  他の言語で言うcursesライブラリみたいなかんじで.

  565 :デフォルトの名無しさん:2013/01/20(日) 14:30:53.47
  >564
  color /?

  566 :デフォルトの名無しさん:2013/01/20(日) 16:26:03.22
  colorは画面全体.
  文字だけならfindstr

  567 :デフォルトの名無しさん:2013/01/20(日) 16:31:03.06
  普通に%~n1でいいけど?

  568 :デフォルトの名無しさん:2013/01/20(日) 18:58:34.90
  >>566
  日本語で. w.

  569 :デフォルトの名無しさん:2013/01/20(日) 19:05:49.91
  標準入出力に対応したコンソールってないですか?
  PowerCmdとConsole2は未対応でした.
  有料でも構いませんがなるべく無料がいいです.

  570 :デフォルトの名無しさん:2013/01/20(日) 21:09:19.49
  cmd.exe

  571 :デフォルトの名無しさん:2013/01/20(日) 22:15:03.68
  バッチファイルで文字色と背景色を変えて文字列をECHOする.

  572 :デフォルトの名無しさん:2013/01/23(水) 19:16:57.56
  "set = *"と"set == *"の違いがよく解らないのですが, =を2つ付ける事に意味はあるのでしょうか?

  573 :デフォルトの名無しさん:2013/01/23(水) 19:35:34.29
  どっちも.
  コマンドの構文が誤っています.
  なので違いはない. 意味もない.

  574 :デフォルトの名無しさん:2013/01/23(水) 21:23:30.42
  set hoge=fuga
  set hoge==fuga
  この2つの違いとしたら前者はhogeに「fuga」が, 後者は「=fuga」が入っている.

  575 :539:2013/01/24(木) 20:56:38.30
  すいませんこれ実行してもクリーンアップされませんでした.
  ダイアログが出て全てチェックはしました.
  なぜでしょうか.
  cleanmgr /sageset:10
  cleanmgr /sagerun:10

  576 :デフォルトの名無しさん:2013/01/25(金) 03:14:53.32
  バッチファイル内のset /aで, 括弧使って計算をグループ化したらエラーに.
  マニュアルどおりにやってるはずなのに・・・.
  と色々ググったりしても解決せず.
  まさか・・・と思いエスケープしたら機能した.
  なんなのこの実装・・・.
  というか/?に書いとけよ・・・.

  577 :デフォルトの名無しさん:2013/01/25(金) 03:23:31.15
  エスケープなんか要らんけど.
  具体的にどんな計算だったか書いてみろ.

  578 :デフォルトの名無しさん:2013/01/25(金) 04:06:41.20
  気になるんだったらてめーで勝手に試せばええ.

  579 :デフォルトの名無しさん:2013/01/25(金) 09:15:52.76
  C:\>set /a (1 + 10) * 3
  33
  C:\>set /a (1+10)*3
  33
  エラーとやらにはならんな.

  580 :デフォルトの名無しさん:2013/01/25(金) 11:37:20.43
  自分で文法間違ってファビョる奴は始末におえんな.

  581 :デフォルトの名無しさん:2013/01/25(金) 14:19:34.10
  (set /a (1+10)*3)
  *3) の使い方が誤っています.
  とか.

  582 :デフォルトの名無しさん:2013/01/25(金) 20:23:51.65
  入れ子の解析なんて俺ならしないな.

  583 :デフォルトの名無しさん:2013/01/25(金) 23:44:41.72
  ここレベル低いな.
  昨日今日始めた奴ばっかかよ.

  584 :デフォルトの名無しさん:2013/01/26(土) 00:09:40.11
  C:\>(set /a "(1+10)*3")
  33
  C:\>

  585 :デフォルトの名無しさん:2013/01/26(土) 00:11:42.35
  >>583
  高レベル(自称)さんちーす.

  586 :デフォルトの名無しさん:2013/01/26(土) 00:20:00.74
  超FAQに右往左往してる自覚はないんだな.

  587 :デフォルトの名無しさん:2013/01/26(土) 00:32:47.78
  誰か困ってる人がいたみたいだけど, 俺は困らないしねぇ・・・.

  588 :デフォルトの名無しさん:2013/01/26(土) 00:59:37.48
  まぁお前は単なる冷やかしだけのゴミだけどね.

  589 :デフォルトの名無しさん:2013/01/26(土) 01:48:01.36
  >>584
  へーこんなことできるんだ.
  と低レベルな俺. w.

  590 :デフォルトの名無しさん:2013/01/26(土) 02:53:36.63
  >>576-577
  どんな間違いしたんだよ. マヌケも反面教師として役に立つからかけやゴミカスが.

  591 :デフォルトの名無しさん:2013/01/26(土) 03:48:36.35
  お前の脳みそ残念すぎ.

  592 :577:2013/01/26(土) 13:10:43.53
  >>590
  なぜ俺を入れる・・・.

  593 :デフォルトの名無しさん:2013/01/26(土) 13:15:21.75
  あまりにも初心者的間違いをしでかしたので.
  恥ずかしくてそれを晒すことも出来ず.
  他人を貶める事でしか精神の安定を保てないのでしょう.

  594 :デフォルトの名無しさん:2013/01/26(土) 22:29:15.14
  cls

  595 :デフォルトの名無しさん:2013/01/27(日) 02:14:30.10
  >>593
  それ自分のことじゃん.
  >>581のように答えを出せない馬鹿が, 自己解決した奴に絡んで精神の安定を図ってるだけ.
  自分が初心者以下の能力しか持ってないことを自覚しないと.

  596 :デフォルトの名無しさん:2013/01/27(日) 02:27:40.06
  echo off

  597 :デフォルトの名無しさん:2013/01/27(日) 09:22:50.87
  >>595
  恥かきにのこのこ出てくることないのに.
  >>581は>>576が初心者以下の能力しか持ってない事を示しているわけだが.

  598 :デフォルトの名無しさん:2013/01/27(日) 09:42:55.38
  >>595
  581をやったの?
  うわぁ・・・・・・.

  599 :デフォルトの名無しさん:2013/01/27(日) 23:34:33.33
  >>597
  お前いい加減にしたらどうよ.
  恥の上塗りはお前だわ.

  600 :デフォルトの名無しさん:2013/01/28(月) 00:12:42.52
  goto :EOF

  601 :デフォルトの名無しさん:2013/01/28(月) 01:26:41.80
  >>600
  ええ加減にせいよ  お前ら  Fack

  602 :デフォルトの名無しさん:2013/01/28(月) 03:17:13.41
  だからなにをしでかしたのか言ってみろよ.
  あと577は間違いだ. 謝罪する.

  603 :デフォルトの名無しさん:2013/01/29(火) 10:41:38.18
  usbをパソコンに接続すると自動的に実行するやつってbatで出来ますか?

  604 :デフォルトの名無しさん:2013/01/29(火) 13:17:35.47
  何を企んでるやら.

  605 :デフォルトの名無しさん:2013/01/29(火) 13:44:48.95
  usbにwebサーバを入れてCMS運用です.

  606 :デフォルトの名無しさん:2013/01/29(火) 19:37:17.27
  autorun.inf usb

  607 :デフォルトの名無しさん:2013/01/30(水) 13:19:29.33
  なるほどありがとうございます.
  それを使ってやってみます.

  608 :デフォルトの名無しさん:2013/01/30(水) 15:51:55.40
  システムにパスが通ってるはずなのにコマンドが使えません.
  コマンドプロンプトからコマンドを打つと確かに使えます.
  batファイルからだと使えません.
  絶対パスで指定するしかないのですが, batファイルの中でもシステムのパスを見る方法はありませんか?

  609 :デフォルトの名無しさん:2013/01/30(水) 16:15:09.63
  パスが通っていれば実行できる. 実行できないのはパスが通ってないから.
  キミが考えなきゃいけないのはどうして, そのbatの中ではパスが通っていないかという事.

  610 :デフォルトの名無しさん:2013/01/30(水) 16:56:23.42
  愚か者は放置で.

  611 :デフォルトの名無しさん:2013/01/30(水) 17:03:25.88
  cmdファイルなら使えるよ.

  612 :デフォルトの名無しさん:2013/01/30(水) 17:10:06.62
  また勝手に放置とかいって仕切る奴がいるよ.

  613 :デフォルトの名無しさん:2013/01/30(水) 19:11:18.79
  batファイルからでも使えるよ.

  614 :デフォルトの名無しさん:2013/01/30(水) 19:25:50.69
  >batファイルの中でもシステムのパスを見る方法はありませんか?
  @echo off
  path

  615 :デフォルトの名無しさん:2013/01/30(水) 19:29:08.85
  見えました!

  616 :デフォルトの名無しさん:2013/01/30(水) 20:02:54.28
  Good Job !

  617 :デフォルトの名無しさん:2013/01/30(水) 20:50:17.99
  >>608
  64bit System32 SysWOW64 sysnative
  この辺りのキーワードが該当するような・・・.

  618 :デフォルトの名無しさん:2013/01/30(水) 21:02:08.61
  ハズレ.

  619 :デフォルトの名無しさん:2013/01/30(水) 21:10:46.23
  すみません.
  複数のフォルダ名を引数で渡して, それぞれのフォルダ内のファイルをコピーしたいのですが.
  "コマンドの構文が違っている"とエラーが出ます. お願いします.
  @echo off
  for /L %%i in (1, 1, 10) do (
  if not "%%i" == ""(
  xcopy %%i C:\Users\%%i\ /Y
  )
  else (exit)
  )

  620 :デフォルトの名無しさん:2013/01/30(水) 21:24:51.10
  ちなみにhttp://rubyinstaller.org/のexeファイルからインストールしたんですよ.
  なぜかbatファイルのみコマンドが効かなくて.

  621 :デフォルトの名無しさん:2013/01/31(木) 19:01:09.01
  if a==a(
  コマンドの構文が違っています.

  622 :デフォルトの名無しさん:2013/02/07(木) 00:05:59.49
  23
  6554
  184
  296
  5040
  [上矢印]のように数が入ったファイルがあるのですが, これらの合計値を求めることはできますか?
  エクセルならセルに貼り付ければ一瞬で右下に合計値が表示されますが, エクセルを使えない環境なので・・・.

  623 :デフォルトの名無しさん:2013/02/07(木) 00:22:03.54
  for /f %i in (a.txt) do set /a x+=%i

  624 :デフォルトの名無しさん:2013/02/07(木) 01:08:39.97
  23+
  6554+
  184+
  296+
  5040=
  バッチじゃないけどこんな風にして電卓にコピペしてもいい.

  625 :デフォルトの名無しさん:2013/02/07(木) 01:13:12.88
  ちなみにset /aで計算できるのは32bit符号付き整数の範囲なんで.
  2147483647を超える数値は計算出来ない.

  626 :デフォルトの名無しさん:2013/02/07(木) 01:28:46.37
  9*9の一桁しか計算できない俺よりはずっとまし.

  627 :デフォルトの名無しさん:2013/02/07(木) 21:27:54.25
  >>622, >>625
  あと, 先頭に 0 が付いてると 8進数と解釈されるので, 注意が必要.

  628 :622:2013/02/08(金) 01:50:50.77
  >>623
  できました!ありがとうございます.
  >>624
  こちらも同じ結果になりました〜!(当たり前かw)
  しかしこんなこと出来るんですね.
  覚えておきます. 感謝!
  >>625
  そんなすごい数は出てこないので大丈夫です. w.
  >>627
  試してみたら確かに.
  気をつけます.

  629 :デフォルトの名無しさん:2013/02/08(金) 01:59:28.99
  凄い数っていってもファイルサイズとかだと簡単に出てくる数字.
  高々2GBまでしか計算出来んってことだから.
  それ以上は桁を切って使うとか面倒なことになる.
  ドライブの空き容量とかは確実に超えるからな.

  630 :デフォルトの名無しさん:2013/02/08(金) 02:36:36.07
  キロバイト単位/切り上げで計算して逃げたこともあるが,
  2TBが当たり前になってきて, sh-がないメガバイトで計算だ〜.
  と, まさにイタチごっこ.

  631 :デフォルトの名無しさん:2013/02/08(金) 10:39:58.60
  CScriptを吐いて計算させてしまえばいい(実も蓋)

  632 :デフォルトの名無しさん:2013/02/08(金) 10:57:23.80
  Windows Vista以降はPowerShellをつかたほうがいいですか?

  633 :デフォルトの名無しさん:2013/02/08(金) 11:12:17.74
  >>632
  その前にまず日本語の勉強だな.

  634 :デフォルトの名無しさん:2013/02/08(金) 11:16:28.99
  Windows Vista以降はPowerShellを使ったほうがいいですか?

  635 :デフォルトの名無しさん:2013/02/08(金) 13:55:54.32
  >>634
  やりたいことに応じて, 便利だと思ったら使えばいい.
  それだけのこと.

  636 :デフォルトの名無しさん:2013/02/09(土) 14:57:59.82
  >>635
  質問の意図を汲み取れよアスペ, お前はもう書き込むな.

  637 :デフォルトの名無しさん:2013/02/09(土) 15:11:44.03
  なにそれ.

  638 :デフォルトの名無しさん:2013/02/09(土) 15:14:00.97
  質問には疑問があっても意図があるとは.
  産経新聞の記者か?

  639 :デフォルトの名無しさん:2013/02/09(土) 15:16:04.34
  >>638
  アスペ乙. w.

  640 :デフォルトの名無しさん:2013/02/09(土) 16:00:06.78
  >>638
  週末限定の小学生だろ.

  641 :デフォルトの名無しさん:2013/02/09(土) 16:24:17.73
  >>638
  質問者が何をしようとしているのかどういうことをやりたいと思っているのかをよく考えてから答えろって言ってんだよ.
  わかんねえの?頭悪いんじゃねえのお前.

  642 :デフォルトの名無しさん:2013/02/09(土) 16:26:48.38
  >>640
  批判されて自分が窮地に立たされるとそうやって相手を貶めて挽回を図ろうとする.
  お前のようなやつがいると大変なんだよね.
  死んでくれないかな.
  いますぐに.

  643 :デフォルトの名無しさん:2013/02/09(土) 16:38:49.45
  >>642
  週末限定の小学生乙.
  あ, 「頭の中身が」と言う意味な.

  644 :デフォルトの名無しさん:2013/02/09(土) 16:39:42.22
  >>642
  キーキー喚くんじゃねーよ山猿が.

  645 :デフォルトの名無しさん:2013/02/09(土) 16:41:20.50
  >638 :デフォルトの名無しさん [sage]: 2013/02/09(土) 15:14:00.97
  >質問には疑問があっても意図があるとは.
  >産経新聞の記者か?
  こうやって揚げ足取って自分が賢いアピールするやつって最低だよな.
  しかも他人が質問してる時にそれをやるんだから.
  どんだけ鬱屈してんだよ.

  646 :デフォルトの名無しさん:2013/02/09(土) 16:42:08.78
  >>643
  >あ,
  ださ. w.

  647 :デフォルトの名無しさん:2013/02/09(土) 16:43:17.47
  >>644
  死ね山猿.

  648 :デフォルトの名無しさん:2013/02/09(土) 17:04:48.16
  >>636
  あなたの汲み取った意図を教えて>_<

  649 :デフォルトの名無しさん:2013/02/09(土) 17:09:37.94
  Windows Vista以降はPowerShellを使ったほうがいいと言って欲しいんだろ?

  650 :デフォルトの名無しさん:2013/02/09(土) 17:12:50.47
  意図を汲み取って答えてやれ.
  Windows Vista以降はPowerShellを使ったほうがいいよって.

  651 :デフォルトの名無しさん:2013/02/09(土) 17:14:09.85
  >>648
  Windows Vista以降はPowerShellを使ったほうがいいかどうかということだ.
  使ったほうがよければ使うし, 使わないほうがよければ使わない.

  652 :デフォルトの名無しさん:2013/02/09(土) 17:14:48.44
  >>649
  質問に答えて欲しい, ちゃんと理由つけてね.

  653 :デフォルトの名無しさん:2013/02/09(土) 17:15:35.48
  >>650
  なんでPowerShellを使ったほうがいいの?説明してくれる?

  654 :デフォルトの名無しさん:2013/02/09(土) 17:29:02.44
  質問の後出しすんな.

  655 :デフォルトの名無しさん:2013/02/09(土) 17:32:07.76
  >>654
  >>634に書いたのにわかってないようだからもう一度書いたんだよ.
  無能なら答えないで.

  656 :デフォルトの名無しさん:2013/02/09(土) 17:33:47.17
  Windows Vista以降はPowerShellを使わないほうがいいよ.

  657 :デフォルトの名無しさん:2013/02/09(土) 17:37:35.88
  Windows Vista以降はPowerShellを使わないほうがいいの?説明してくれる?

  658 :デフォルトの名無しさん:2013/02/09(土) 17:39:08.65
  >>634にはむりぽ.

  659 :デフォルトの名無しさん:2013/02/09(土) 17:42:03.68
  コマンドプロンプトのスレがこんな風に荒れるなんて珍しいな. w.

  660 :デフォルトの名無しさん:2013/02/09(土) 17:44:01.73
  >>659
  週末だからガキが沸いてくるのは仕方ないな.

  661 :デフォルトの名無しさん:2013/02/09(土) 17:48:52.93
  まともな質問者なら,
  ・そもそも, やりたい処理は何なのか.
  ・なぜ「Windows Vista以降」に限ってそう思うのか.
  等々, 詳しい事情を呈示した上で相談してくるのが当然.
  それをせず, 真面目に相手してくれた人を揚げ足取りでもやって.
  からかおうという意図が見え見えだから, 誰もまともに相手しない.
  それだけのこった.

  662 :デフォルトの名無しさん:2013/02/09(土) 17:54:34.60
  >>661
  最初に揚げ足とるくだらないことやったのは>>638
  からかわれるのが怖いから答えることができないっていう臆病者なら質問に口を挟まないでほしい.
  どうせ答えることできないんなら黙ってて欲しい.
  自分の考えをもってるちゃんとした人なら自信を持って答えることできるよね.
  そういう人に答えて欲しい.
  >>661は言い訳をぐだぐだ書いてるだけの無能.

  663 :デフォルトの名無しさん:2013/02/09(土) 17:56:26.38
  そういうひとはあほに答えないよ.

  664 :デフォルトの名無しさん:2013/02/09(土) 17:57:12.50
  >>663
  あほじゃないから答えてくれるってことだね.

  665 :デフォルトの名無しさん:2013/02/09(土) 17:58:22.29
  だれがあほじゃないって?

  666 :デフォルトの名無しさん:2013/02/09(土) 17:59:25.92
  >>665
  俺.

  667 :デフォルトの名無しさん:2013/02/09(土) 18:04:15.41
  >>660
  暴れているのは皆いい年したおっちゃんです・・・.

  668 :デフォルトの名無しさん:2013/02/09(土) 18:40:22.80
  鬼は外.

  669 :デフォルトの名無しさん:2013/02/09(土) 19:37:04.74
  ちょっと煽られた程度で大噴火ってなにこれ.
  最近沸点低すぎる奴多いな.

  670 :デフォルトの名無しさん:2013/02/09(土) 20:12:46.35
  >>669
  なんで煽るわけ?煽って怒られたら相手のせいにするの?人として間違ってると思わない?

  671 :デフォルトの名無しさん:2013/02/09(土) 20:20:19.12
  人として間違ってる, だって.

  672 :デフォルトの名無しさん:2013/02/09(土) 20:24:13.97
  そういうことを言うのは人として間違ってるな.

  673 :デフォルトの名無しさん:2013/02/09(土) 20:27:56.07
  非常識なガキを弄るのは面白い.

  674 :デフォルトの名無しさん:2013/02/09(土) 20:30:52.71
  >>673
  それってあと釣り宣言ていうんだよ.
  まじめに言い負かされて自分は弄る立場だったってあとになって言い訳してるだけなんだよ.
  ださ. w.

  675 :デフォルトの名無しさん:2013/02/09(土) 20:36:14.29
  小人閑居して不善をなす.

  676 :デフォルトの名無しさん:2013/02/09(土) 20:40:49.79
  >>675
  閑居してるけど不善をなしてないから大人.

  677 :デフォルトの名無しさん:2013/02/09(土) 20:43:08.91
  結局誰も質問に答えられないんだね.
  もういいよ.
  こんなところで聞いた俺の質問に答えられなかったお前らが馬鹿だったよ.

  678 :デフォルトの名無しさん:2013/02/09(土) 20:58:21.87
  最近2ch知ったばかりのお子様がヒステリーを起こしているようだな.
  2chがどんな酷い所かなんて無知なガキ以外誰でも知ってる話.
  煽り煽られ無視上等だろうが・・・.
  何で煽るのとか今さら過ぎて, ポカーンとなるだけだわ.

  679 :デフォルトの名無しさん:2013/02/09(土) 20:59:00.89
  おまえ賢いなあ.
  あたま最高にいいなぁ.
  じゃーねぇ.

  680 :デフォルトの名無しさん:2013/02/09(土) 21:02:16.93
  ほらみんなもっと褒めてやれよ.
  それが一番よ.

  681 :デフォルトの名無しさん:2013/02/09(土) 21:04:04.50
  ・・・と言いつつ泣きながら必死でリロードし続ける>>679であった.

  682 :デフォルトの名無しさん:2013/02/09(土) 21:07:04.06
  そういうのはおまえだけだと思うよ.
  誰も屁にも思ってないよ.

  683 :デフォルトの名無しさん:2013/02/09(土) 22:02:52.97
  [上矢印]最後っ屁.

  684 :634:2013/02/10(日) 10:08:20.83
  解答ついてるかなと覗きにきたら荒れててワロス.

  685 :デフォルトの名無しさん:2013/02/10(日) 13:12:45.12
  その前にまず日本語の勉強だな.

  686 :デフォルトの名無しさん:2013/02/10(日) 13:26:49.57
  それじゃ新しい言語powershellもむりぽ.

  687 :デフォルトの名無しさん:2013/02/10(日) 16:52:07.98
  >>677
  質問として最低限の情報がないんだから答えられたらエスパーだよ・・・.

  688 :デフォルトの名無しさん:2013/02/10(日) 18:44:10.66
  そういう問題じゃないだろ.

  689 :デフォルトの名無しさん:2013/02/10(日) 18:46:07.40
  あした以降コートを着て行ったほうがよいでしょうか?
  みたいな質問なんだよ.

  690 :デフォルトの名無しさん:2013/02/10(日) 18:47:24.97
  正しい答えは, 勝手にしろ, だよ.

  691 :デフォルトの名無しさん:2013/02/10(日) 18:57:40.14
  逆切れかお前ら.
  質問に答えられないからって逆切れか.

  692 :デフォルトの名無しさん:2013/02/10(日) 19:07:46.55
  その態度は人として間違ってると思わない?

  693 :デフォルトの名無しさん:2013/02/10(日) 19:30:37.84
  なに切れてんの.
  見苦し.

  694 :デフォルトの名無しさん:2013/02/10(日) 20:40:22.16
  頭の出来の差は歴然としてるな.

  695 :デフォルトの名無しさん:2013/02/10(日) 20:56:57.62
  >>693=691
  今まで誰からも躾けられなかったんだろうな.
  猿にも劣るゴミ屑だ.

  696 :デフォルトの名無しさん:2013/02/10(日) 21:06:51.25
  責任転嫁するな.
  人は躾けられてなるもんじゃない.
  自分でなるんだ.
  >>634は自分で出来の悪い人間になっただけ.
  他人のせいじゃない.

  697 :デフォルトの名無しさん:2013/02/10(日) 21:15:06.07
  違うな.
  そんなのは幻想に過ぎない.
  躾けられずに育てば, 人間もただの畜生.

  698 :デフォルトの名無しさん:2013/02/10(日) 21:41:23.18
  それこそ幻想だろ.

  699 :デフォルトの名無しさん:2013/02/13(水) 20:20:13.28
  キチガイ質問者がひとり来ただけでこの有様.

  700 :デフォルトの名無しさん:2013/02/18(月) 01:03:44.40
  ここのやつはアスペって感じはしないね.
  ただのさみしがりやのこんちくしょうだろ.
  アスペはこんなやり取りを楽しむ暇があったらガリガリプログラム書いてるからね.
  むしろアスペ見習えや.

  701 :デフォルトの名無しさん:2013/02/18(月) 05:19:17.96
  サンドバッグに浮かんで消える憎いあんちくしょうの顔めがけ叩け 叩け 叩け!

  702 :デフォルトの名無しさん:2013/02/18(月) 17:27:54.57
  > @perl -e "if ($ENV{PATH} !~ /MinGW/) {system qq(echo > tmplock)}"
  > @if exist tmplock (@del tmplock & call setmingwpath.bat)
  要するに%PATH%に文字列があるかないかを調べたいんだけど.
  perlでやってるところをバッチファイルだけでやる方法ある?
  findstrは, マッチしない時にif "%%str"==""で空文字に反応してくれずうまくいかなかったのよ.

  703 :デフォルトの名無しさん:2013/02/18(月) 17:33:34.10
  IF "%PATH:MinGW=%"=="%PATH%" (echo ない) else echo ある.

  704 :デフォルトの名無しさん:2013/02/18(月) 18:07:29.13
  errorlevelでも取れるんじゃないの.

  705 :デフォルトの名無しさん:2013/02/18(月) 18:32:05.79
  はあ?

  706 :デフォルトの名無しさん:2013/02/18(月) 18:52:13.38
  path | findstr "MinGW"
  echo %errorlevel%

  707 :デフォルトの名無しさん:2013/02/18(月) 22:20:00.44
  path | find "MinGW"
  echo %errorlevel%

  708 :デフォルトの名無しさん:2013/02/22(金) 05:43:36.24
  「1000%Sparking!.mp3」のように, ファイル名に半角の% と ! の両方が入っている時, それぞれの記号を全角の.
  !と%にリネームしたいと思って四苦八苦してるんですが何か良い方法はないですか?
  ファイル名から%と!の両方を除去する方向でも構わないんですが.
  以下のバッチで! & %のいずれかが入ってる場合は変換出来るものの, % と !が組み合わさってると遅延環境.
  変数の関係であっちを立てればこっちが立たずになっちゃってもうどうすりゃいいのか・・・.
  SetLocal DisableDelayedExpansion
  For /F "Tokens=*" %%j In ('Dir /B *.mp3^|Findstr "&!"') Do Call :_Rename "%%j"
  ENDLOCAL
  :_Rename
  Set _Temp="%~1"
  Set _Temp=%_Temp:&=&%
  Set _Temp=%_Temp:!=!%
  Set _Temp=%_Temp:~1, -1%
  Ren "%~1" "%_Temp%"
  SetLocal EnableDelayedExpansion
  For /F "Tokens=*" %%k In ('Dir /B *.mp3^|Findstr "%%"')Do (
  Set _Temp="%%k"
  Set _Temp=!_Temp:%%=%!
  Ren "%%k" "!_Temp!"
  )
  ENDLOCAL
  pause
  goto :EOF

  709 :デフォルトの名無しさん:2013/02/22(金) 06:39:18.57
  >>708
  for /f "delims=" %%a in ('dir /a-d /b "*.mp3"') do(
  set "FN=%%a"
  call :rep_exc_amp
  call :rep_per_and_ren
  set t1= & set t2= & set t3=
  set FN=
  )
  goto :eof
  :rep_exc_amp
  call set "t1=%%FN:!=!%%"
  call set "t2=%%t1:&=&%%"
  goto :eof
  :rep_per_and_ren
  setlocal enabledelayedexpansion
  set "t3=!t2:%%=%!"
  echo ren "!FN!" "!t3!"
  endlocal
  goto :eof

  710 :デフォルトの名無しさん:2013/02/22(金) 08:03:40.88
  >>709
  おおー, アザマス!きれいだ・・・個別に変換してから順に受渡していけばよかったのか.
  最後のechoを消して実際にリネームですよね.
  ここを参考にまず&と%を変換したあと, !を消そう・・・とかゴテゴテやってる所でした.
  http://stackoverflow.com/questions/4429604/script-to-remove-special-characters-from-filenames
  本当に助かりました. ありがとうございます.

  711 :デフォルトの名無しさん:2013/02/22(金) 10:56:57.91
  001.jpg
  002.jpg
  003.jpg ...
  と連番でファイルが有るとして, それを1つずつ数値を増やして.
  002.jpg
  003.jpg
  004.jpg ...
  とするにはどうすれば良いでしょうか, 教えてください.

  712 :デフォルトの名無しさん:2013/02/22(金) 12:14:51.09
  数値に10000とか元の桁数を十分上回る大きな数を加えてからdirを降順にして,
  順次, 1足した後に下三桁取り出してリネーム, とか.
  俺ならバッチ使わず Flexible Renamer を使う.
  数値の加算も桁合わせも楽だし.

  713 :デフォルトの名無しさん:2013/02/22(金) 17:25:03.83
  あるフォルダが別プロセスで使われているか調べる方法を教えてください.

  714 :デフォルトの名無しさん:2013/02/22(金) 17:59:29.26
  ren
  move
  rd
  してみればエラーになる.

  715 :デフォルトの名無しさん:2013/02/22(金) 18:04:17.46
  for /f %i in ('dir /o-n /b') do (
  set x=1%~ni
  set /a x+=1
  call ren %i %%x:~1%%%~xi
  )

  716 :デフォルトの名無しさん:2013/02/22(金) 22:20:40.59
  move hoge hoge\..
  echo %errorlevel%

  717 :デフォルトの名無しさん:2013/02/23(土) 15:56:18.54
  Windows7(64)の標準コマンドだけで, テキストファイルを編集したい. (単純な単語の置換)
  edlinがあれば事足りるけれど, Windows7(64)にはない.
  JScript埋め込みで出来そうだけど牛刀をもって鶏を割くという感じ,
  もっとかっちょいい方法なないでしょうか?

  718 :デフォルトの名無しさん:2013/02/23(土) 19:32:29.99
  ワードパッドとか.

  719 :デフォルトの名無しさん:2013/02/23(土) 20:21:36.30
  メモ帳でダメな理由は?

  720 :デフォルトの名無しさん:2013/02/23(土) 21:11:10.72
  notepadってコマンドを使うといいよ!

  721 :デフォルトの名無しさん:2013/02/23(土) 21:21:28.16
  for /f "delims=" %i in (a.txt) do (
  set x=%i
  call >>b.txt echo;%%x:旧文字列=新文字列%%
  )

  722 :デフォルトの名無しさん:2013/02/23(土) 22:26:45.12
  それ空白行(^$)飛ばされんじゃ?

  723 :デフォルトの名無しさん:2013/02/23(土) 22:31:35.49
  できるけどきにすんな.

  724 :デフォルトの名無しさん:2013/02/24(日) 23:46:35.69
  \set call/

  725 :デフォルトの名無しさん:2013/02/27(水) 23:00:49.21
  がんばって関数化を進めたらすげぇ重くなった.

  726 :デフォルトの名無しさん:2013/02/28(木) 21:27:45.85
  以下のような動作をするバッチを作りたいのですが.
  Aドライブに111というフォルダがあって, その中にa, b, c, 〜というフォルダがあり.
  それをBドライブのa, b, cdフォルダを作ってそれぞれに111というフォルダを作って.
  Aドライブに入っていたa, b, c, 〜の中身をコピーしたいのですが.
  Aドライブ.
  111-a-[白丸]file
  -b-[黒丸]file
  -c-[二重丸]file
  Bドライブ.
  a-111-[白丸]file
  b-111-[黒丸]file
  c-111-[二重丸]file
  というような感じです.
  よろしくお願いします.

  727 :デフォルトの名無しさん:2013/03/01(金) 16:48:31.62
  文字列を置換するバッチの最後の処理で例えば.
  echo %tmp%>>%text%
  という風にechoで表示した文字列を別ファイルの末尾にリダイレクトして追加いくという方法があったんですが,
  この%tmp%に入る変数に「%」が混ざってると問題が発生するのを回避する方法ありませんか?

  728 :デフォルトの名無しさん:2013/03/01(金) 17:27:24.10
  どんな問題は発生するんだか  それで問題が発生する訳ないが?
  どんな問題か知らんが遅延展開でも使えばよかろうて.

  729 :デフォルトの名無しさん:2013/03/01(金) 17:43:22.37
  %tmp%の最後が数字だと問題が発生するな.

  730 :デフォルトの名無しさん:2013/03/01(金) 22:31:56.06
  コマンドプロンプトでは直接 set tmp=% とできるが.
  バッチファイルでは set tmp=%% と重ねないと消えるね.
  あと%tmp%の最後が数字だと問題が発生するのはコマンドプロンプトだけ.
  バッチファイルでは展開後に 1>> になるから問題なし.

  731 :デフォルトの名無しさん:2013/03/01(金) 23:47:06.06
  まあ.
  >>  "!File!" echo;!Message!
  の方がいいな.

  732 :デフォルトの名無しさん:2013/03/02(土) 10:53:40.69
  set echo とかで遅延展開使わなくてもいけるんじゃなかったっけか.

  733 :デフォルトの名無しさん:2013/03/02(土) 10:54:30.39
  ちゃう call echo だ.

  734 :デフォルトの名無しさん:2013/03/04(月) 10:49:04.62
  ディレクトリAに 0001.dat 0002.dat .... 1000.dat という1000個のファイルがあります.
  0001.datから0500.dat をディスクXに, 0501.datから1000.datをディスクYにコピーする.
  batファイルを作りたいのですが, 力量がなくてすみません.

  735 :デフォルトの名無しさん:2013/03/04(月) 13:39:49.02
  るーぷ.
  set /a count+=1
  set filename=0000%count%
  set filename=%filename:~-4%.dat
  %count% gtr 500 だったら%filename%をほにゃらら.
  そうじゃなかったらほにゃらら.
  るーぷに戻る.

  736 :デフォルトの名無しさん:2013/03/04(月) 22:28:32.65
  set 0=x
  set 1=y
  for %%i in (a\*.dat) do (
  set x=1%%~ni
  set /a x=(x-10001)/500
  call copy "%%i" %%x%%:
  )

  737 :デフォルトの名無しさん:2013/03/07(木) 16:17:33.36
  ディレクトリA
  ABC 123.txt
  ABC 456.txt
  ABC 789.txt
  ディレクトリB
  1A.txt
  2B.txt
  3C.txt
  となっている時に, Bの名前を順番にAの名前と同じにしたいのですが(Bの1A.txtの名前がABC 123.txt)
  良い方法はありませんでしょうか.

  738 :デフォルトの名無しさん:2013/03/07(木) 19:22:00.32
  @echo off
  ren 1A.txt "ABC 123.txt"
  ren 2B.txt "ABC 456.txt"
  ren 3C.txt "ABC 789.txt"

  739 :デフォルトの名無しさん:2013/03/07(木) 22:07:13.68
  >>738
  すみません, ファイルの数が多いのでFORか何かで回せないでしょうか・・・.

  740 :デフォルトの名無しさん:2013/03/07(木) 22:22:04.82
  >>739
  ファイルの数がどうとか, 数値の桁数がどうのとか, 条件が足りなすぎ.
  ABC 123.txt と ABC 99.txt どっちを先にしたいとか.
  dir /b で出したリストを矩形切り貼り出来るエディタで >>738 をするのが.
  結局一番手っ取り早いんじゃないの?

  741 :デフォルトの名無しさん:2013/03/07(木) 22:40:50.14
  perlのようなものでやったほうがラクじゃないのかな.

  742 :デフォルトの名無しさん:2013/03/07(木) 23:14:53.50
  バールのようなもの?

  743 :デフォルトの名無しさん:2013/03/08(金) 00:49:26.45
  >>740
  たしかにそうですね.
  エディタ使ってやってみます. ありがとうございました!

  744 :デフォルトの名無しさん:2013/03/08(金) 03:49:29.38
  ファイルの数とABC順の並びが両フォルダで必ず同じなら二つのforでA・Bフォルダの各ファイル名取得してから.
  サブルーチンに送って順にrenしていくとかじゃいかんのか.

  745 :デフォルトの名無しさん:2013/03/08(金) 04:09:22.92
  2つ以上のリストを同時に扱うってのは結構問題だが.

  746 :デフォルトの名無しさん:2013/03/08(金) 05:10:10.74
  え, そうなのか. 結構安易にやっちゃってたわ・・・.
  どの辺に問題出るんだろ.

  747 :デフォルトの名無しさん:2013/03/08(金) 20:28:49.12
  >>746
  バッチじゃ2ファイルを同時に開くって出来ないでしょ.

  748 :デフォルトの名無しさん:2013/03/08(金) 21:04:37.67
  え?

  749 :デフォルトの名無しさん:2013/03/08(金) 21:06:49.46
  paste.cmdを見ればいいよ.

  750 :デフォルトの名無しさん:2013/03/08(金) 22:27:48.76
  いやdirで2つのフォルダの「ファイル名」のリストを取得するって話じゃないの?
  それでリネームするのは片方だけだし.

  751 :デフォルトの名無しさん:2013/03/09(土) 03:57:54.15
  もう済んじゃったかもしれないけど参考まで.
  @echo off
  setlocal
  pushd z:\ディレクトリA
  set m=0
  for /f %%i in ('dir /b/on *.*') do call :sub dir-A m %%i
  popd
  pushd z:\ディレクトリB
  set n=0
  for /f %%i in ('dir /b/on *.*') do call :sub dir-B n %%~fi
  popd
  if %m% leq %n% (set max=%m%) else (set max=%n%)
  for /l %%i in (1, 1, %max%) do call ren %%dir-B%%i%% %%dir-A%%i%%
  endlocal
  goto :eof
  :sub
  set var=%2
  set /a %var%+=1
  call set %1%%%2%%=%3
  goto :eof

  752 :デフォルトの名無しさん:2013/03/09(土) 23:31:10.29
  [上矢印]
  ファイル名の受け渡しに問題があった.
  以下のように環境変数を経由するように修正して.
  do set fname=%%~i&call :sub dir-A m
  do set fname=%%~fi&call :sub dir-B n
  call set %1%%%2%%="%fname%"

  753 :デフォルトの名無しさん:2013/03/09(土) 23:37:03.56
  さらにdelims指定も忘れてた.
  for /f "delims=" %%i in ('dir /b/on *.*') do set fname=%%~i&call:sub dir-A m
  for /f "delims=" %%i in ('dir /b/on *.*') do set fname=%%~fi&call:sub dir-B n

  754 :デフォルトの名無しさん:2013/03/10(日) 16:57:02.28
  ありがとうございます. エクセルでやりました.

  755 :デフォルトの名無しさん:2013/03/12(火) 05:33:58.80
  おい. wwwwwww.

  756 :デフォルトの名無しさん:2013/03/12(火) 16:25:10.76
  echo list volume | diskpart | find "NTFS"
  というコマンドを実行したとき, ボリュームラベルが未設定だと空欄のままとなりますが,
  この空欄の部分もバッチで判定させるにはどうしたらいいですか?
  下記のバッチでelse以降を以下のようにしてみましたが, エコーが返りません.
  お分かりの方よろしくお願いいたします.
  for /F "usebackq tokens=1-10" %%A in (`echo list volume ^| diskpart^| findstr
  /I /C:"NTFS"`) do (
  if /I "%%D" == "system" (
  echo ドライブの情報 %%C: [%%D] %%G%%H
  ) else (
  if /I "%%D" == "" (
  echo ボリュームラベルは空です.
  )))

  757 :デフォルトの名無しさん:2013/03/12(火) 16:35:20.33
  >>756
  区切り文字をスペースにしたら空欄も吸収されてしまうんで.
  区切り文字を使わず1, 2行目の項目表示を解析して.
  何文字目から何文字がボリュームラベルかってのを取得するしかない.

  758 :756:2013/03/12(火) 17:20:25.24
  >>757さん, レスありがとうございます.
  システムのボリュームラベルが仮に, [Windows]だとすると,
  Volume 1 C Windows NTFS
  のようになりますが, Windowsの W は9文字目になるので,
  この9文字目を解析するという手順ですよね?
  具体的な方法がちょっと思いつかないです, すみません.
  解析のため, 他のコマンドも使う必要がありますか?
  あればそうしたコマンド名も併せてご教示願えればありがたいです.

  759 :デフォルトの名無しさん:2013/03/12(火) 17:25:45.40
  %TEST:  = "" %
  こうやったらダメ?

  760 :デフォルトの名無しさん:2013/03/12(火) 17:26:39.93
  あれ, 化けた.
  %TEST: = "" %

  761 :デフォルトの名無しさん:2013/03/12(火) 17:27:38.41
  もういいや. . .

  762 :デフォルトの名無しさん:2013/03/12(火) 18:06:28.20
  diskpartの出力の上2行ってこうなってるだろ.
  Volume ### Ltr Label Fs Type Size Status Info
  ---------- --- ----------- ---- ---------- ------- --------- --------
  「Label」の位置Aと「Fs」の位置Bを取得して.
  各行のA〜Bまでをボリュームラベルと規定.
  A〜Bが空白なら云々とやる.

  763 :デフォルトの名無しさん:2013/03/12(火) 19:12:35.27
  ドライブレター振ってないときとかは抜きにして, こんな具合の決め打ちはダメ?
  for /F "usebackq delims=" %%A in (`echo list volume ^| diskpart^| findstr /I
  /C:"NTFS"`) do (
  echo %%A | findstr /I /C:"半角スペース16個NTFS" 1>nul
  if errorlevel 1 (
  for /f "usebackq tokens=1-10" %%i in (`echo %%A`) do (
  echo ドライブの情報 %%k: [%%l] %%o%%p
  )
  ) else (
  for /f "usebackq tokens=1-10" %%i in (`echo %%A`) do (
  echo ドライブの情報 %%k: %%n%%o ボリュームラベルは空です.
  )
  )
  )
  半角スペースの表示方法が分かんないので「半角スペース16個NTFS」はそんな感じで置き換えて.

  764 :デフォルトの名無しさん:2013/03/12(火) 20:23:16.19
  >>759-763みなさんレスありがとうございます.
  >>762さん.
  なるほどそういうことでしたか, 完全に読み違い&勘違いしてました. 失礼しました.
  >>763さんできました, ありがとうございます.
  ラベルが空の時エコー返ってきました!
  なるほどなるほど, こういう感じに入れ子にして処理するんですね, 大変勉強になります.
  みなさんお忙しい中対応していただきありがとうございました. 多謝.

  765 :デフォルトの名無しさん:2013/03/13(水) 00:28:14.26
  >>763
  ボリュームラベルの欄の長さって固定なん?

  766 :デフォルトの名無しさん:2013/03/13(水) 00:36:37.41
  事故レス.
  diskpartのlist volumeってボリュームラベルの先頭11文字しか表示しない仕様だった.
  長いボリュームラベルだと全部表示されないじゃん・・・.
  今初めて知ったぜorz

  767 :デフォルトの名無しさん:2013/03/13(水) 00:40:44.09
  8.3形式の時代を生きた人間ならまず疑う.

  768 :デフォルトの名無しさん:2013/03/13(水) 00:54:04.54
  8.3なら12文字じゃん・・・.

  769 :デフォルトの名無しさん:2013/03/13(水) 01:43:41.83
  >>765, 766
  そこは気になったんで「12345678901234567890」と「半角スペース10個123456」って.
  ボリュームラベルで試して「半角スペース16個NTFS」にしといた.
  ドライブレター + スペース3 + ラベル分のスペース11 + スペース2 + ファイルシステム.
  の並びなんで 16文字分 スペースがあれば判定も多少は安全かと.
  「半角スペース11個+(何か文字列)」や「半角スペース7個NTFS」とかの変態なラベルは付けないと信じて.

  770 :デフォルトの名無しさん:2013/03/13(水) 17:22:27.84
  >>768
  8+3=11

  771 :デフォルトの名無しさん:2013/03/13(水) 18:42:23.86
  8+1(.)+3 = 12

  772 :デフォルトの名無しさん:2013/03/13(水) 19:28:39.25
  >>771
  ピリオドを記憶してわけじゃないから.
  http://www.cek.ne.jp/~kunio.h/fat3.html

  773 :デフォルトの名無しさん:2013/03/13(水) 20:26:30.26
  FATの仕様の話じゃなくてdiskpartの表示部のはなしだろ.

  774 :デフォルトの名無しさん:2013/03/13(水) 21:25:05.23
  batファイルを起動した時にコマンドプロンプトが立ち上がりますが, このコマンドプロンプトのウィンドウのサイズを指定する方法はありませんか?

  775 :デフォルトの名無しさん:2013/03/14(木) 00:01:00.99
  >>774
  mode con cols=xx lines=xx

  776 :デフォルトの名無しさん:2013/03/14(木) 00:25:03.93
  おおありがとうございます.

  777 :デフォルトの名無しさん:2013/03/14(木) 12:12:16.52
  batからプログラムを実行するときにプロンプトを表示させない方法ってありますか?
  VBSからbatファイルを呼び出す方法しかないでしょうか?

  778 :デフォルトの名無しさん:2013/03/14(木) 13:56:33.54
  batを呼び出すEXEを作ればいいよ.

  779 :デフォルトの名無しさん:2013/03/14(木) 16:17:21.72
  prompt $s

  780 :デフォルトの名無しさん:2013/03/14(木) 16:18:25.79
  ショートカット.

  781 :デフォルトの名無しさん:2013/03/14(木) 16:44:27.98
  コマンドプロンプトからat 16:40 /interactive nodepad
  ってやってもメモ帳が起動しません.
  間違ってるところをご指摘お願いします.

  782 :デフォルトの名無しさん:2013/03/14(木) 16:45:57.38
  ミス.
  nodepadじゃなくてnotepadです.

  783 :デフォルトの名無しさん:2013/03/15(金) 02:53:04.41
  >>781
  atコマンドはOSによって動作がかなり違うみたい.
  http://www.atmarkit.co.jp/fwin2k/win2ktips/1165atsys/atsys.html
  ちなみにうちのWindowsXP Homeだとそれでちゃんとメモ帳起動したよ.

  784 :デフォルトの名無しさん:2013/03/15(金) 04:11:11.57
  試しにフルパスで書いてみるとどうだい.
  at 16:40 /interactive C:\Windows\notepad.exe
  とか. (System32の下かも知れんが, いずれにしろ実際にある場所を書く)

  785 :デフォルトの名無しさん:2013/03/15(金) 04:40:24.74
  リンク先に, /interactiveを付けても2000Pro/XP以外ではダメだったと書かれてるな.

  786 :デフォルトの名無しさん:2013/03/16(土) 00:40:18.55
  セキュリティ強化のためにVista以降からはサービスからのデスクトップへのアクセスが制限されました.
  http://itpro.nikkeibp.co.jp/article/COLUMN/20071212/289308/
  http://ap.atmarkit.co.jp/bbs/core/fdotnet/12442

  787 :デフォルトの名無しさん:2013/03/16(土) 04:55:29.42
  知らんかったこれ.

  788 :デフォルトの名無しさん:2013/03/18(月) 15:44:15.72
  バッチファイルからユーザーのexeを呼び出すような場合,
  手軽にひとまとめのファイルにする方法はあるでしょうか?
  詳しくない人に手渡すとき, ばらばらになると面倒なので.

  789 :デフォルトの名無しさん:2013/03/18(月) 19:22:19.55
  >>788
  zipで.

  790 :デフォルトの名無しさん:2013/03/18(月) 21:00:09.18
  Windows RTのコマンドプロンプトの互換性ってどんな感じなんだろ?
  robocopyとかifとかforとかってWindows 8と同じくらいの機能あるのかな?
  Surface RTの日本語版が出たから気になってるんだけど.

  791 :デフォルトの名無しさん:2013/03/19(火) 17:44:30.01
  イーモバイルを使ってまして.
  あらかじめ登録したダイアルアップ設定をショートカットでデスクトップに置いてマウスで接続しているんですが.
  これをbatファイルのクリックで「もし接続されていなければ接続, 接続されていれば切断」っというのは出来ますか?

  792 :デフォルトの名無しさん:2013/03/20(水) 01:01:20.95
  ipconfigで確認とか.

  793 :デフォルトの名無しさん:2013/03/22(金) 12:50:24.76
  c:・aaa・bbb・ccc・ddd.cmd
  というバッチファイルでcccというフォルダ名を取得したいのですが.
  どのようにしたらよいでしょうか?

  794 :デフォルトの名無しさん:2013/03/22(金) 14:32:01.70
  意味不明.

  795 :デフォルトの名無しさん:2013/03/22(金) 14:45:32.93
  for %%a in (.) do echo %%~nxa

  796 :デフォルトの名無しさん:2013/03/22(金) 14:57:57.80
  for %%a in (%~p0) do echo %%~nxa

  797 :デフォルトの名無しさん:2013/03/22(金) 15:09:05.35
  forかsetのhelpにディレクトリを取得する方法が書いてなかったっけ.

  798 :デフォルトの名無しさん:2013/03/22(金) 15:12:13.46
  >>795-796
  このスレの住人の温度の無さは抜群.

  799 :デフォルトの名無しさん:2013/03/22(金) 19:07:27.04
  pushd %~p0
  %cd:\=&set dir=%
  echo %dir%

  800 :デフォルトの名無しさん:2013/03/22(金) 19:15:28.96
  劣った案を後から出すのって何?

  801 :デフォルトの名無しさん:2013/03/22(金) 19:16:07.89
  自己顕示欲.

  802 :デフォルトの名無しさん:2013/03/22(金) 19:26:56.54
  >>796はXPではダメ.
  何故なら, %~p0は, c:\aaa\bbb\ccc\
  となり, その結果,
  ECHO は <ON> です.
  と表示されるから.

  803 :デフォルトの名無しさん:2013/03/22(金) 19:51:43.38
  for %%a in (%~p0..) do echo %%~nxa

  804 :デフォルトの名無しさん:2013/03/22(金) 23:01:20.99
  ピリオドが一個多い.

  805 :デフォルトの名無しさん:2013/03/23(土) 03:58:06.18
  「\ccc\ddd.cmdでcccのフォルダ名を取得したい」ってのは, 単にバッチ自身のあるカレントディレクトリ.
  の引数を知りたいだけなんじゃないのか・・・? %~p0 だけで答えは済んでるのかも.

  806 :デフォルトの名無しさん:2013/03/23(土) 05:17:17.40
  俺には.
  c:\aaa\bbb\ccc\ddd.cmdでcccを取得したい.
  としか読めないが?

  807 :デフォルトの名無しさん:2013/03/23(土) 09:42:45.83
  行間読めよ.

  808 :デフォルトの名無しさん:2013/03/23(土) 18:36:00.34
  c\aaa\bbb\をわざわざ削除したところに意味があってだな.

  809 :デフォルトの名無しさん:2013/03/26(火) 18:52:16.33
  スレの趣旨から外れてるかもですが, お尋ねします.
  コマンドプロンプトの履歴(F7キー)の中身をテキストに書き出す方法ってありますか?
  ネットや書籍で情報収集.
  [下矢印]
  コマンドプロンプト上で実行.
  [下矢印]
  このコマンドいいな. バッチファイルにして使おう.
  [下矢印]
  特に長いコマンドだと手打ちでテキストに書き出すのが大変!
  という状況が改善可能であればな, と考えています.
  ご存知の方居りましたらよろしくお願いいたします.

  810 :デフォルトの名無しさん:2013/03/26(火) 19:04:42.73
  >>809
  doskey /history

  811 :デフォルトの名無しさん:2013/03/26(火) 19:15:02.51
  別の方法だと, マウスで範囲選択後, コマンドプロンプトのタイトルバー右クリック, 編集, コピー.
  テキストエディタで貼り付ける.

  812 :809:2013/03/26(火) 19:36:48.05
  >>810-811さん, レスありがとうございます.
  できました!
  doskeyコマンドは初めて知りました.
  色々オプションもあるんですね, こちらも勉強しなくては.
  実は, これまで画面見ながら手打ちしていたので(恥), これでいろいろ捗ります.
  迅速な対応ありがとうございました!

  813 :デフォルトの名無しさん:2013/03/26(火) 20:21:17.99
  やめとけ.
  履歴はいいが, その用途はバッチファイルだろ.

  814 :デフォルトの名無しさん:2013/03/27(水) 10:38:29.42
  @echo off
  taskkill /f /IM notepad.exe
  echo offにしてるのに失敗しても成功しても以下のいずれかの文章がでます.
  ・エラー: プロセス "notepad.exe" が見つかりませんでした.
  ・成功: プロセス "notepad.exe" (PID 2892) は強制終了されました.
  非表示にする方法教えてください.

  815 :デフォルトの名無しさん:2013/03/27(水) 11:09:00.94
  >>814
  「コマンドプロンプト 標準出力 標準エラー出力 リダイレクト」などで検索.

  816 :デフォルトの名無しさん:2013/03/27(水) 11:37:40.55
  コマンドプロンプトを2つ立ち上げて, それぞれのウィンドウをAとBとします.
  AからBに文字を送信する方法ないですか?

  817 :デフォルトの名無しさん:2013/03/27(水) 13:05:34.72
  そんな事をしない設計にするのが先だ.

  818 :デフォルトの名無しさん:2013/03/27(水) 13:30:55.70
  Aでテキスト書き込み.
  Bでテキスト読み込み.

  819 :デフォルトの名無しさん:2013/03/27(水) 15:00:45.44
  >>816
  少なくともバッチファイルの範疇ではないなあ.
  代替の方法が多分あると思うぞ, そもそも何故そうしたいんだ?

  820 :デフォルトの名無しさん:2013/03/27(水) 15:12:03.37
  あるプログラムをAから起動して.
  Bでそのプログラムをリロードしたいんですよ.

  821 :デフォルトの名無しさん:2013/03/27(水) 15:20:01.71
  そんな事をしない設計にするのが先だ.

  822 :デフォルトの名無しさん:2013/03/27(水) 15:34:29.76
  外部からどうこうするってのは無理だがAとBで定期的にファイルを.
  読みに行ってその内容によって自分自身であれこれするってのは出来るけど.

  823 :デフォルトの名無しさん:2013/03/27(水) 16:00:16.33
  >>820
  そのBは常時動いてるバッチファイルスクリプトってこと?
  ・・・何かバッチの用途を大幅に間違えてる気が.

  824 :デフォルトの名無しさん:2013/03/27(水) 21:55:16.45
  バッチAがファイルCに書いて,
  バッチBがファイルCを読む.
  んだけ.

  825 :デフォルトの名無しさん:2013/03/29(金) 02:19:23.53
  set a1=test
  set b=1
  ってやって.
  echo | echo %a%b%%
  だったか.
  echo | echo !a%b%!
  みたいなことすると時々.
  「プロセスが, 存在しないパイプに書き込もうとしました」
  ってのが返ってくるんだけどこれってどういう現象なの?
  一応それが出るときもechoの出力は普通にされてるみたいで.
  条件も別に特定の値って訳でもなさそうでよくわからないんだけど.

  826 :デフォルトの名無しさん:2013/03/29(金) 15:44:18.77
  相手が閉じたパイプに書き込んでるのよ.

  827 :デフォルトの名無しさん:2013/03/29(金) 22:45:22.73
  閉じたパイプってのもよくわからないんだけど.
  毎度発生するわけじゃないってのがなのかどういうこと.
  実害無いなら  2> nul で消せないのかと思ったけど書き方わかんなひ.

  828 :デフォルトの名無しさん:2013/03/29(金) 23:01:51.39
  前のechoが出力するときに, 後ろのechoが終了している.
  つーか, echoにパイプする低脳はめったにいない.

  829 :デフォルトの名無しさん:2013/03/30(土) 00:25:26.43
  できるかどうかやってみただけなんだけどね.
  何で毎回同じ動作にならないのかが気になる.

  830 :デフォルトの名無しさん:2013/03/30(土) 01:17:05.50
  多重処理だからだろ.
  win16なら同じ動作だよ.

  831 :デフォルトの名無しさん:2013/03/30(土) 07:53:35.20
  なるほど.
  実害は無いよねこれ.

  832 :デフォルトの名無しさん:2013/03/30(土) 15:58:20.13
  低脳は実害あるわ. w.

  833 :デフォルトの名無しさん:2013/03/31(日) 09:30:54.04
  @if(0)==(0) ECHO OFF
  CScript.exe //NoLogo //E:JScript "%~f0" %*
  GOTO :EOF
  @end
  で書き始めるの超便利なんだけど, スレチかな?
  >>827
  パイプってのはコマンドラインで「|」使うことのパイプじゃなくて, ソケットのようなプロセス間通信機構としてのパイプを意味してるんだよ.
  コマンドラインでパイプするとこのパイプが作られて入力側と出力側プログラムにパイプハンドルが渡されるし,
  ファイルをリダイレクトするとファイルハンドルが渡される.
  これらのファイル・パイプ・コンソールハンドルはWindowsではファイルハンドルと比較的挙動が似ているしハンドルなのでCloseHandleとかがフツーに作用するんだけど,
  パイプの場合片方が閉じられるともう片方が読み書き(読みの場合はパイプ内のバッファ読みきってから)の時にEOFっぽいエラーが出てくる.
  cmd.exeの内部コマンドは色々怪しい挙動する部分があるから同じかは知らんけど(内部コマンドはプロセス増えない=パイプの渡し方がそもそも違う),右のechoが(入力は使わないとかで)入力を閉じたり終了した後に左のechoが改行文字をパイプに投げるとこのエラーになるはず.
  あと, パイプやリダイレクト使うとそれを受け取った側でハンドルの種別を判別して挙動が変わったりするから, そのへんもめんどい.
  ハンドルがコンソールだとWriteConsoleWでUnicode出力するけど,
  パイプやファイル相手だとWriteConsoleW使えないからマルチバイト文字列に変換して(!)WriteFileするプログラムとか・・・正直どうしようもない.

  834 :デフォルトの名無しさん:2013/03/31(日) 10:42:50.10
  >>833
  バッチでやる範疇じゃないなって時にはそれやるけど.
  それってもうバッチじゃないよねって感じがするね.

  835 :デフォルトの名無しさん:2013/03/31(日) 11:39:03.10
  エディタのシンタックス判別や補完に影響出るからやらない.

  836 :デフォルトの名無しさん:2013/03/31(日) 11:57:39.07
  >>834
  テンプレの.
  >質問, テクニック(JScript, Perl等の埋め込みなど含む), 関連情報のためのスレです.
  に含まれてると理解してたけど違うの?
  このJScript(WSH), Perl埋め込みのおまじない, >2 あたりに書いてあっても良い気がする.
  さっきググってRuby埋め込みもあるのを今知った.
  "等の埋め込み"の"等"って他に何があるんだろ?

  837 :デフォルトの名無しさん:2013/03/31(日) 11:59:11.32
  ゴメン, 安価ミス.
  >>836 は >>833 宛です.

  838 :デフォルトの名無しさん:2013/03/31(日) 16:43:55.70
  >>833
  こういうのやるなら最初からWSHでやれよって思う.

  839 :デフォルトの名無しさん:2013/03/31(日) 18:45:39.84
  個人には意見差があります.

  840 :デフォルトの名無しさん:2013/03/31(日) 22:45:33.01
  >>838
  バッチ書いてて途中でバッチではやりたくない文字列処理が出てきた時にコレを埋めてWSH(JScript)に投げるとかいう場合もある.
  最初からWSHで書いたほうがCScript起動のオーバヘッドもないんだけど, FORの使い勝手の良さから無計画にバッチで書き始めちゃったりとかね.

  841 :デフォルトの名無しさん:2013/03/31(日) 23:27:33.47
  >>840
  これってバッチの途中から出来たっけ?

  842 :デフォルトの名無しさん:2013/03/31(日) 23:39:09.13
  そうなってるだろ?

  843 :デフォルトの名無しさん:2013/03/31(日) 23:58:09.31
  そんなことも分からずに使ってるのか?

  844 :デフォルトの名無しさん:2013/04/01(月) 02:02:01.12
  >>841
  書いてる途中にコレを分割してバッチの頭と尻と腹に埋めて使う.
  途中でWSH混成にする辺りから判るように計画性なんて欠片もないので, 書いてる途中でスクリプトの頭に別のもの埋める位は日常だ.

  845 :デフォルトの名無しさん:2013/04/02(火) 13:55:46.54
  ある実行可能ファイル(バッチファイルなど)をプロセスIDを指定して実行させることはできないのでしょうか?
  Linuxでは出来たのですがWindowsでのやり方がわかりません・・・.

  846 :デフォルトの名無しさん:2013/04/02(火) 20:34:36.95
  変態ソフトやね.

  847 :デフォルトの名無しさん:2013/04/03(水) 14:46:06.72
  >>845
  起動中のプロセスからウィンドウタイトルや実行ファイル名が条件に合うプロセスのIDを列挙・・・とかなら出来たような.
  (バッチで・・・というのはどうだったか解らんが技術的には可能なので)
  でもそうじゃなくてプロセスIDを固定したいってこと?何故そうしたいのか気になるところだけど, ちと変態挙動だねえ・・・出来るのかな.

  848 :デフォルトの名無しさん:2013/04/03(水) 14:56:03.31
  /proc/id/cmdlineを実行って事?

  849 :デフォルトの名無しさん:2013/04/03(水) 16:29:48.64
  >>845
  linuxでどうやるのか教えて.
  なんか気になる.

  850 :デフォルトの名無しさん:2013/04/03(水) 17:56:57.74
  プロセスIDとユーザIDを混同してるんじゃね?
  プロセスIDを指定とか, その発想がまず訳分からん.

  851 :デフォルトの名無しさん:2013/04/03(水) 18:08:44.71
  linuxはそういうもん.

  852 :デフォルトの名無しさん:2013/04/03(水) 18:10:32.47
  本人じゃないけど, sleepを長めに立ち上げて別の処理が終わり次第sleepを殺す.
  なんて事をやってる俺はPIDがわかると楽になるな.

  853 :デフォルトの名無しさん:2013/04/03(水) 18:17:48.46
  PIDがわかるとPID指定はちがうだろ?それもわからんの?

  854 :デフォルトの名無しさん:2013/04/03(水) 18:20:31.96
  同種のバッチ複数からsleepを立ち上げたら「俺のスキルじゃ」対象のsleepのPIDがわからないんだ, ごめんね.

  855 :デフォルトの名無しさん:2013/04/03(水) 18:32:43.20
  start /w "uniq title 1" sleep 10

  856 :デフォルトの名無しさん:2013/04/03(水) 18:37:28.44
  一応言うけど >>852, 854 と >>845 は別人だからね.
  で>>852のsleepは別の方法で解決してるから無視してくださいな.

  857 :デフォルトの名無しさん:2013/04/03(水) 19:13:40.69
  どっちも無視してくださいな.

  858 :デフォルトの名無しさん:2013/04/04(木) 02:11:07.36
  あれだ.
  EXE実行するごとにプロセスリスト見て求めてるIDじゃなかったら殺せばいいやね.

  859 :デフォルトの名無しさん:2013/04/04(木) 03:10:12.86
  for %%i in (%*) do (echo "%%~fi">>"C:\ドラッグアンドドロップされたものリスト.txt")
  これに1000個位D&Dすると「ファイル名または拡張子が長すぎます. 」って怒られるんだけど回避法ないかな.

  860 :デフォルトの名無しさん:2013/04/04(木) 04:02:12.61
  >>859
  その行に到達する前にエラーになってる.
  http://support.microsoft.com/kb/830473/ja
  DDEだかOLEだかで制限の緩和が出来たような気がするけど, バッチからは触れん気がするし詳しくは忘れた.
  リストの作成は別のGUI付きアプリケーション(GUI上へのドロップはこの手の制限が少ない)でやるか,
  十数ファイルずつ処理するか, 一つのフォルダにぶち込んでfor in (*.*)で回すか, くらいしか思いつかん.

  861 :デフォルトの名無しさん:2013/04/04(木) 20:47:16.89
  やりかた帰るんだな.

  862 :デフォルトの名無しさん:2013/04/12(金) 21:51:39.34
  excelファイルを開くのに.
  start hogehoge.xls
  を用いているのですが既に(ネットワーク上の誰かによって)開かれている場合アクセスできないといわれ開けません.
  このとき, 直接開いた時と同じ動作(hogehoge.xlsは編集中のためロック云々, 読み取り専用にしますか?y/nみたいの)
  にしたいのですがどのように記述すればよいでしょうか?
  ちなみにexcelファイルはファイル名に今日の日付がついているのでショートカットをクッションにして開くようなことはできないと仮定します.

  863 :デフォルトの名無しさん:2013/04/12(金) 23:17:07.44
  EXCELの実行ファイルに開きたいファイルを引数で与えて起動したらダメだっけか?
  ファイル名のみの引数でダメだとしても, なんかMS
  Officeには/eとか/ddeとかその手のオプションが色々あるようだしその辺に希望の動作は有るんじゃないかとは思うけど.

  864 :デフォルトの名無しさん:2013/04/12(金) 23:41:45.03
  start excel /r hogehoge.xls

  865 :デフォルトの名無しさん:2013/04/17(水) 07:11:19.60
  バッチを勉強中なんだけど・・・.
  下記のように「Busyo.txt」, 「Sei.txt」, 「Mei.txt」の3つのテキストがあります.
    Busyo.txt    Sei.txt      Mei.txt
  +------+  +----+  +----+
  |総務部|  |安藤|  |明子|
  +------+  |井上|  |一郎|
                 |上田|  |運子|
                 |遠藤|  |英治|
                 |小川|  |音子|
                 +----+  +----+
  これを, それぞれバッチで結合したいと思っています.

  866 :デフォルトの名無しさん:2013/04/17(水) 07:15:00.19
  まず「Busyo.txt」+「Sei.txt」のように<1対多>のパターン.
  そして「Sei.txt」+「Mei.txt」のような<多対多>のパターンです.
  Busyo.txt  +  Sei.txt        Sei.txt  +  Mei.txt
  +------------+          +----------+
  |総務部  安藤|          |安藤   明子|
  |総務部  井上|          |井上   一郎|
  |総務部  上田|          |上田   運子|
  |総務部  遠藤|          |遠藤   英治|
  |総務部  小川|          |小川   音子|
  +------------+          +----------+

  867 :デフォルトの名無しさん:2013/04/17(水) 07:22:23.09
  それからそれから?

  868 :デフォルトの名無しさん:2013/04/17(水) 08:00:24.16
  どうすれば良いのかなという問いです.
  ・「Busyo.txt」+「Sei.txt」のように<1対多>のパターン.
  こちらはset /p hogehoge=<Busyo.txt でなんとかそれっっぽいのはできたけど.
  「Sei.txt」+「Mei.txt」のような<多対多>のパターンで苦しんでいます.

  869 :デフォルトの名無しさん:2013/04/17(水) 12:02:42.56
  call > out.txt
  echo.> Mei_
  type Mei.txt>> Mei_
  set /a cnt = 0
  for /f "delims=" %%a in (Sei.txt) do (
  set "SEI=%%a"
  call :s
  set SEI=
  )
  del Mei_
  set cnt=
  goto :eof
  :s
  set /a cnt += 1
  for /f "skip=%cnt% delims=" %%a in (Mei_) do (
  echo %SEI% %%a>> out.txt
  goto :eof
  )
  こんなんでどう.

  870 :デフォルトの名無しさん:2013/04/17(水) 12:28:22.85
  setlocal enableextensions enabledelayedexpansion
  type nul>out.txt
  set i1=Sei.txt
  set i2=Mei.txt
  (for /F "delims=" %%i in ('find /C /V ""') do set /aa1=%%i) <%i1%
  (for /F "delims=" %%i in ('find /C /V ""') do set /aa2=%%i) <%i2%
  if %a1% lss %a2% set /a a1=a2
  (for /L %%i in (1, 1, %a1%) do (
  set /p s1=<&4 >nul
  set /p s2=<&5 >nul
  echo;!s1! !s2!>>out.txt
  )) 4<%i1% 5<%i2%

  871 :デフォルトの名無しさん:2013/04/17(水) 13:21:33.39
  エクセルでも使った方がずっと楽だがな.

  872 :デフォルトの名無しさん:2013/04/17(水) 13:26:28.49
  全自動バッチで中間ファイルを複数スレッドで作るとやらざるを得ないから参考になる.

  873 :デフォルトの名無しさん:2013/04/17(水) 20:13:49.39
  for /f %%S in (Sei.txt) do (
  set /p M=
  call echo %%S %%M%%>>out.txt
  ) < Mei.txt

  874 :デフォルトの名無しさん:2013/04/17(水) 20:50:09.79
  >>873
  動かねぇだろ.

  875 :デフォルトの名無しさん:2013/04/17(水) 21:02:05.46
  すまん, 空で書いてるもんで.
  (for /f %%S in (Sei.txt) do (
  set /p M=
  call echo %%S %%M%%>>out.txt
  )) < Mei.txt
  こうか?

  876 :865-866:2013/04/17(水) 23:31:12.25
  神降臨!
  >>869-870, 875
  ありがとうございました.
  感謝です!

  877 :デフォルトの名無しさん:2013/04/17(水) 23:34:18.06
  神でぐぐると.
  http://scripting.cocolog-nifty.com/blog/2006/09/post_d564.html

  878 :デフォルトの名無しさん:2013/04/18(木) 14:03:33.21
  でも, 実際にはそれぞれが一致するか分からないよな.
  一行でもずれてたら全部ごみだ.
  最低でも行数が一致するかどうかは事前にチェックしないといけないと思う.
  キーがあるならfindで探してつなげられるとおもうけど.
  まあ, それっぽい名前をランダムに作るならありかな.
  それでもランダムを計算したほうがいいと思うけど.

  879 :デフォルトの名無しさん:2013/04/18(木) 20:22:16.51
  見苦しいな. w.
  要するにunixのjoin相当だな.

  880 :デフォルトの名無しさん:2013/04/18(木) 21:09:17.75
  pasteだろ. w.

  881 :デフォルトの名無しさん:2013/04/19(金) 07:55:01.54
  >878
  >最低でも行数が一致するかどうかは事前にチェックしないといけないと思う.
  確かにSei.txtに神田, 木梨とか追加して実行したら.
  神田音子, 木梨音子ができちゃうね.

  882 :デフォルトの名無しさん:2013/04/19(金) 17:43:44.73
  あほか.

  883 :デフォルトの名無しさん:2013/04/19(金) 19:29:24.87
  要件にないこと云々.

  884 :デフォルトの名無しさん:2013/04/20(土) 00:24:55.08
  バッチで動く証跡管理モドキのツールを作りたいのです.
  共有フォルダは全部Dドライブにあるので.
  とりあえず下記みたいにして無限ループにしてみました.
  :start
  openfiles /query /v /s \\localhosts /FO csv |find "D:\" >>hoge.csv
  goto start
  ただこれだと時刻がとれないのです.
  一行の中にecho %time% で表示される時刻も一緒に出せないでしょうか.

  885 :デフォルトの名無しさん:2013/04/20(土) 00:36:17.45
  実行結果は下記のようになります.
  "localhosts", "32", "root", "Windows","0", "Read", "D:\\bin\hogehoge.txt"
  "localhosts", "26", "2chuser", "Windows","0", "Read", "D:\\総務部\会計課\予算.doc"
  "localhosts", "18", "sitaraba", "Windows","0", "Read", "D:\\人事部\25年度異動.mdb"
  こいつを下記みたいにしたいのです.
  01:23:34.56, "localhosts", "32", "root","Windows", "0", "Read",
  "D:\\bin\hogehoge.txt"
  12:00:12.34"localhosts", "26", "2chuser","Windows", "0", "Read",
  "D:\\総務部\会計課\予算.doc"
  20:44:08.46"localhosts", "18", "sitaraba","Windows", "0", "Read",
  "D:\\人事部\25年度異動.mdb"

  886 :デフォルトの名無しさん:2013/04/20(土) 00:41:03.77
  また, そんな百済ないのではなく, もっと良い方法があれば教えてください.
  一応, イベントログの監査機能のONもやってみたのですが.
  あれだと見にくいし色々なログを拾いすぎてイマイチでした.
  なお本物の証跡管理ソフトは1000万とかいうトンデモナイ見積でした・・・.

  887 :デフォルトの名無しさん:2013/04/20(土) 01:15:55.30
  :start
  for /f "delims=" %%a in ('openfiles /query /v /s \\localhosts/FO csv ^|find
  "D:\"') do call echo %%TIME%%, %%a>>hoge.csv
  goto start

  888 :デフォルトの名無しさん:2013/04/20(土) 02:37:33.65
  >>884
  %time% は午前中にメンドクサイ事になる気がする.
  %time: =0% で置換しといた方がいい気がする.

  889 :デフォルトの名無しさん:2013/04/20(土) 09:34:10.00
  >>887-888
  ありがとう, 月曜になったら職場の鯖で動かしてみます.
  ついでにご存知なら教えて欲しいのですが, このopenfilesだと.
  Read と Warite は拾ってくれるのですがDelete  と  Create  は拾ってくれません.
  これを拾う方法は何かないでしょうか.

  890 :デフォルトの名無しさん:2013/04/20(土) 21:55:04.76
  wmic

  891 :デフォルトの名無しさん:2013/04/22(月) 21:17:49.85
  >>887-888
  『報告』
  ばっちり動きました.

  892 :デフォルトの名無しさん:2013/04/23(火) 07:29:33.32
  いま2chで話題になってるこのツール欲しいな.
  前編  http://himasoku.com/archives/51776465.html
  後編  http://himasoku.com/archives/51776946.html

  893 :デフォルトの名無しさん:2013/04/23(火) 08:49:43.40
  公開したらアンチウィルスに登録されるオチだけどな.
  つか最後のスクショ見たらWin32APIをC#クラスでラップとかはやってるのに,
exe名称をsvchostにして偽装で終わりってのはなんか半端だなぁ・・・.
  dllにして適当なプロセスに読ませりゃいいのに・・・.

  894 :デフォルトの名無しさん:2013/04/23(火) 22:34:46.31
  >>892
  十数年前からフリーで公開されてるのがたくさんあるから.

  895 :デフォルトの名無しさん:2013/04/23(火) 22:49:05.12
  >>893
  dll もぐりこませるのはチートでやったけど,
  DLLのバグがプロセスに影響して業務に支障が出る場合がある.
  また, プログラムが動作するためのスタックやヒープが少ないとオーバーフローのエラーになる.
  しかも>>892 が使ってるのはC# だけど, これは .net なので,
  アプリが .net じゃない場合はライブラリをDLLが自分で全部ロードしないと動かない.
  .net な DLLを走らせるには結構な数のライブラリを読み込まないといけないけど.
  それはDLLをもぐりこませるインジェクタがやらないといけない.
  どの道, インジェクタを exe で作る必要があるんだから.
  ほんとのスパイ目的じゃない奴はある程度明示的に存在したほうがいい.
  だから偽装する必要すらないと思うんだけど, 偽装するならsvchostだよな.
  俺も怪しいと思いながらsvchostは見逃してる.

  896 :デフォルトの名無しさん:2013/04/24(水) 04:06:10.32
  >>895
  DLL一個インジェクションして死ぬようなプロセス(又はdll)はそれはそれで問題が有ると思うが・・・.
  かといってシステム以外の場所にいるシステムと同じ実行ファイル名とか, パスが見える状況では怪しすぎる.
  リソース消費の関係でプロセス分けるにしても, ある種の明示をするにしろ, rundllでdllを読ませたほうが良いと思う.
  dllだけだとインジェクタが要るのは.NETに限らずdllの宿命だけど,
  こういうケースならADからレジストリ弄ってエクスプローラなりieなりに読み込ませたり, rundllにキックさせるなり出来る.
  C#でもstdcallなエクスポートも出来たりしたと思うんで(そういうラッパも有るみたいだし)そのへんは問題無い・・・筈.
  個人的な印象では, 後ろ暗さ・怪しさ感は, 不正パスsvchost>インジェクション>rundllで.
  一般ユーザからの隠蔽性能は, インジェクション>rundll >= 不正パスsvchost, かなぁとか思う.
  自分だったら不正パスsvchostとか見つけたらその瞬間にkillしてVirusTotal送りするな.
  っていうかスレチだなゴメン.

  897 :デフォルトの名無しさん:2013/05/01(水) 12:11:28.51
  FAT32なデバイスの空き容量を取得する方法を教えておくれ.
  fsutil volume diskfree やったら「FSUTIL ユーティリティにはローカル NTFS ボリュームが必要です. 」と断られてしまった.

  898 :デフォルトの名無しさん:2013/05/01(水) 23:23:55.18
  dirコマンドの何が不満なのかね?

  899 :デフォルトの名無しさん:2013/05/02(木) 00:24:07.51
  FAT32かどうかも知りたいって事なら, 素直にVBScriptと併用するのが無難だと思うが.

  900 :デフォルトの名無しさん:2013/05/03(金) 10:22:45.19
  Win板PowerShellスレに書いたが, 反応無さげな気がするのでこちらにも投下.
  PowerShellが標準で実行できる設定になってないことにハラが立ったので,
  PowerShellスクリプトとして実行可能なバッチファイルを作ってみた.
  もし不備や改善できる点があれば指摘して欲しい.
  ファイル末尾に何行か改行を入れないと何故か動かないことがあるので注意.
  @(":", "`""<#") 2>NUL
  @POWERSHELL -Command - <%0
  @EXIT /B %ERRORLEVEL%
  #>)|%{}
  Write-Host "Hello world!"

  901 :デフォルトの名無しさん:2013/05/03(金) 10:41:41.66
  次はこれをJS, VBSでやってみたらどうだろう.
  以前CUI環境でのみ実行して欲しいスクリプトとかあったんだよな.
  ・・・・・・などと考えた後, 全部WSH側でやった方が早いことに気づいた.
  出来たとしても, 実用的な意味は多分無いな, うん.

  902 :デフォルトの名無しさん:2013/05/03(金) 11:11:28.54
  どうしても1ファイルにしたい場合は別として,
  通常はパラメータでExecutionPolicy指定する方が良いと思う.
  >powershell -ExecutionPolicy RemoteSigned .\test.ps1

  903 :デフォルトの名無しさん:2013/05/03(金) 11:53:36.37
  -ExecutionPolicyオプションで一時的に実行ポリシーを変更できたのか.
  するとドットソースの読み込みが出来るようになるし, >>900 で標準入力に.
  流し込んでいるせいか, 変な動作してた部分が改善するかもしれないな.
  ご指摘感謝です.

  904 :デフォルトの名無しさん:2013/05/09(木) 00:29:27.36
  複数人で共有してるファイルサーバのDドライブ上に新しいファイルやフォルダが作られたり.
  削除されたらログに吐くようにしたいのです.
  単純にdirで吐いたやつを比較するだけだと.
  dir /s /b d:\ >hoge1.txt
  timeout /t 3600
  dir /s /b d:\ >hoge2.txt
  fc hoge1.txt hoge2.txt >hoge3.txt
  これだと新規ファイルを作るとhoge2.txtの行がズレた文だけ全部が表示されてしまいます.
  またDドライブの中身が数ギガあるので最初の「dir /s /b d:\」の段階で凄く時間がかかる.
  またフォルダを拾ってくれませn
  何か良い方法はあるんでしょうか?

  905 :デフォルトの名無しさん:2013/05/09(木) 09:04:01.12
  >>904
  dir /s /b d:\ > h1
  timeout /t 3600
  dir /s /b d:\ > h2
  copy h1 + h2 h3
  sort h3 | uniq -i -u > h4
  copy h1 + h4 h5
  sort h5 | uniq -i -d > h7
  copy h2 + h4 h6
  sort h6 | uniq -i -d > h8
  echo sakujo
  type h7
  echo tsuika
  type h8
  uniq はここから.
  http://unxutils.sourceforge.net/
  時間がかかるのは仕方ないと思う.
  フォルダも含むので問題ない.

  906 :デフォルトの名無しさん:2013/05/09(木) 18:31:59.66
  ファイル システム イベントの監視の概要.

  907 :900:2013/05/09(木) 19:39:59.95
  どうにか形になったので最後に報告.
  @(":`""<#")2>NUL
  @ECHO OFF
  SET PS_TMP=
  SET PS_CMD=%0
  FOR /F "delims=" %%a IN ('CMD /C "POWERSHELL -NoLogo -Command-<%0"') DO SET
  PS_TMP=%%a
  IF NOT EXIST %PS_TMP% EXIT /B 255
  TYPE %0 >>%PS_TMP%
  POWERSHELL -NoLogo -ExecutionPolicy RemoteSigned -File %PS_TMP% %*
  SET PS_CMD=%ERRORLEVEL%
  DEL %PS_TMP% 2>NUL
  CMD /C "EXIT /B %PS_CMD%"
  SET PS_TMP=
  SET PS_CMD=
  EXIT /B %ERRORLEVEL%
  #>)>$null #[上矢印]bat [下矢印]PS
  if (&{!$MyInvocation.ScriptName}) {
    while (1) { try {
      $o = [System.IO.Path]::GetTempFileName()
      $n = ($o -replace "[^.]+$", "ps1")
      ren $o $n -ea Stop
      echo """$n"""
      exit
    } catch { rm $o -ea SilentlyContinue }}
  }# setup完了.
  $args |%{ echo "コマンド引数:<$_>" }
  Read-Host 標準入力おk.

  908 :デフォルトの名無しさん:2013/05/09(木) 19:47:13.30
  サイズぎりぎりのところで何とか書き込めたか.
  もう少し短くまとめられたら良かったんだが,
  bat部分がどうにも長くなってしまうわな.
  これで標準入力・コマンド引数・終了コードも.
  使えるようになったんでとりあえずはここまで.

  909 :デフォルトの名無しさん:2013/05/11(土) 18:11:18.06
  すごい!あほ.

  910 :デフォルトの名無しさん:2013/05/11(土) 21:32:13.67
  http://blogs.msdn.com/b/jaybaz_ms/archive/2007/04/26/powershell-polyglot.aspx

  911 :デフォルトの名無しさん:2013/05/11(土) 21:39:50.52
  すごい!かしこ.

  912 :デフォルトの名無しさん:2013/05/11(土) 22:50:55.25
  >>907
  TYPE %0 >>%PS_TMP% はなんで追記でリダイレクトしてるの?
  DEL %PS_TMP% 2>NUL は他プロセスがファイルをロックしていて,
  ファイル削除に失敗する可能性を考慮しなくて良いのかしら?

  913 :デフォルトの名無しさん:2013/05/11(土) 22:58:01.99
  JAVASCRIPTでは, 配列をグローバル変数として使うことはできないのか?

  914 :デフォルトの名無しさん:2013/05/12(日) 12:27:10.94
  >>904のをUSNジャーナル使って何とか出来んかと色々やってみてるんだけど.
  どうも手に余るっぽい. ファイルの削除を追うスマートな方法がわからん.
  とりあえず今出来てるぶん. ファイルが多くなるとdir使うよりはずっと速いんだが・・・.
  setlocal enableextensions enabledelayedexpansion
  set target=D
  for /f "tokens=1, 2 delims=x" %%i in ('fsutil usn queryjournal%target%:') do
  if "%%i"=="次の USN : 0" set nextusn=0x%%j
  if not exist usn%target%.txt (
  echo;%nextusn%>usn%target%.txt
  goto :eof
  )
  set /p lastusn=<usn%target%.txt
  set log=%date:/=%_%time::=%
  set log=%target%_%log: =0%.txt
  if "%nextusn%" neq "%lastusn%" (
  for /f "tokens=1, 2 delims=x" %%i in ('fsutil usn enumdata 1%lastusn%
  0x7fffffffffff0000 %target%:') do (
  if "%%i"=="ファイルの参照番号 : 0" (
  for /f "delims=" %%k in ('fsutil file queryfilenamebyid %target%:0x%%j') do
  set changedfile=%%k
  set changedfile=!changedfile:~23, -3!
  echo;!changedfile!>>%log%
  )
  )
  echo;%nextusn%>usn%target%.txt
  )

  915 :デフォルトの名無しさん:2013/05/12(日) 17:21:48.89
  >>912
  追記になってるのは引数渡しで試行錯誤してた時の名残だわ.
  ファイル削除不能の可能性は確かにあるし, スタートアップにでも仕込みを.
  入れれば対応可能だろうけど, 一時フォルダ内に残ったゴミの量をみれば,
  MS含め誰も気にしてないのは明らかだよね.

  916 :デフォルトの名無しさん:2013/05/12(日) 17:54:54.75
  http://gallery.technet.microsoft.com/scriptcenter/fbc46ecd-04b3-40e1-85b6-905b3545fc74

  917 :デフォルトの名無しさん:2013/05/13(月) 08:14:06.89
  >>910
  後ればせながらちょっと見てきたが, 流石MSの人, 良くできてるね.
  正規表現でスクリプトを分別する方法は考えていたけど, ワンライナーに.
  収まるよう短く出来る程PSに習熟してないので, その辺は敵わないとしても.
  bat部分識別用の行頭@@とか, GOTO :EOF なんていう定義済みのラベル.
  でサクッと戻り値返しつつ終了してるところとか, いやこれはお見事.

  918 :デフォルトの名無しさん:2013/05/13(月) 08:21:40.16
  あれ? EXITで終了しても普通に最後の戻り値取れるね.
  GOTOで終了させるのは何の意図があるんだろうか.

  919 :デフォルトの名無しさん:2013/05/13(月) 15:41:06.78
  >>918
  バッチ部分を色々拡張した時に, PSの呼び出しがサブルーチンの中だった場合にも使えるからとか?

  920 :デフォルトの名無しさん:2013/05/15(水) 00:14:53.26
  LinuxやMacなどに対応したWindows PowerShell, ついに登場!もうWindows買わなくていいぞ.
  http://engawa.2ch.net/test/read.cgi/poverty/1368543510/

  921 :デフォルトの名無しさん:2013/05/15(水) 00:23:45.06
  スレチ.

  922 :デフォルトの名無しさん:2013/05/21(火) 03:53:05.56
  「, 」区切りのファイルの1列目を抽出し, スペースを削除したものを.
  別ファイルに出力することを考えております. 下記のように行いましたが, うまくいかず. . .
  助言頂けると助かります. また2連続でスペースがあった場合, 次の行を読みに行くようにしたいです.
  @echo off
  setlocal enabledelayedexpansion
  for /F "tokens=1 delims=, " %%a in (test.txt) do (
  set TARGET=
  set FLAG=0
  call :main %%a
  :main
  set AAA=%1
  rem スペースなのか確認.
  if not !AAA!_CHK==_CHK (
  set TARGET=!TARGET!!AAA!
  set FLAG=0
  shift
  call :main
  ) else (
  rem スペースだった場合.
  if !FLAG!==1 (
  rem 2連続でスペースだった場合.
  call :NEXT
  ) else (
  set FLAG=1
  shift
  call :main
  )
  )
  :NEXT
  echo !TARGET!>>kekka.txt
  )

  923 :デフォルトの名無しさん:2013/05/21(火) 03:55:36.31
  [test.txt]
  AAA AA, BBB
  CCC CC, DDD
  E EEEEE, FFF
  [kekka.txt(期待値)]
  AAAAA
  CCCCC
  EEEEEE
  書ききれなかったので, 2回にわけます.

  924 :デフォルトの名無しさん:2013/05/21(火) 06:07:52.78
  rem 二重引用符とかが入力されると挙動が怪しくなるけど, ダメ文字回避は苦手なので放置.
  @echo off
  setlocal enabledelayedexpansion
  for /F "tokens=1 delims=, " %%a in (test.txt) do call :main "%%a"
  goto :EOF
  :main
  set FLAG=0
  set BUF=%~1
  set STR=
  :mainloop
  if defined BUF (
  if "!BUF:~0, 1!" == " " (
  set /a FLAG+=1
  ) else (
  set FLAG=0
  set STR=!STR!!BUF:~0, 1!
  )
  if !FLAG! GEQ 2 set BUF=-
  ) else (
  if defined STR echo !STR!>>kekka.txt
  goto :EOF
  )
  set BUF=!BUF:~1!
  goto :mainloop

  925 :デフォルトの名無しさん:2013/05/21(火) 07:56:45.27
  shift ./?

  926 :デフォルトの名無しさん:2013/05/21(火) 07:58:31.70
  @echo on

  927 :922:2013/05/21(火) 08:19:17.74
  >>924
  早速のご回答ありがとうございます.
  想定していた結果が得られました.
  またよろしければ1点ご教授頂けますでしょうか.
  "!BUF:~0, 1!"
  これはどのような処理内容となるのでしょうか?

  928 :922:2013/05/21(火) 08:24:17.33
  すみません. もう1点抜けていました.
  set BUF=!BUF:~1!
  こちらも教えて頂けると助かります.

  929 :デフォルトの名無しさん:2013/05/21(火) 08:32:15.30
  >>928
  ENABLEDELAYEDEXPANSION
  について調べると良いよ.

  930 :デフォルトの名無しさん:2013/05/21(火) 08:33:50.65
  あ, それとも ~の挙動か.
  あれもset/?辺りに載ってなかったっけ.

  931 :デフォルトの名無しさん:2013/05/21(火) 09:38:34.79
  遅延展開は自分で使ってて知らんてことは無いだろうから後者じゃね?

  932 :デフォルトの名無しさん:2013/05/22(水) 00:48:48.93
  set /?に載ってるけど.
  "%BUF:~0, 1%"はBUFのオフセット0(1文字目)〜1(2文字目)までの文字列を取り出す指定で, BUFの最初の一文字を展開する.
  "%BUF:~1%"はBUFのオフセット1(2文字目)〜最後までの文字列を取り出す指定で, BUFの最初の一文字を除く全てを展開する.
  文字単位で処理できることは処理できるけど, なんかどうにも野暮ったい.
  %%で出来る展開オプションは!!でも使える(けどifで使う時とかに挙動が違うとか何とか)

  933 :デフォルトの名無しさん:2013/05/22(水) 20:23:22.95
  ダメ文字の一部(!%^&<>|)回避の参考例.
  @echo off
  for /f "delims=, " %%i in (test.txt) do set "a=%%i"& call :x
  goto :eof
  :x
  set /a b=0, c=0
  :y
  call set "d=%%a:~%c%, 1%%"
  if not defined d goto z
  if "%d%"==" " (set /a b+=1) else set b=0
  if not %b%==2 (set /a c+=1) & goto y
  :z
  call set "a=%%a:~0, %c%%%"
  set "a=%a: =%"
  if not defined a goto :eof
  set "a=%a:^=^^%"
  set "a=%a:&=^&%"
  set "a=%a:>=^>%"
  set "a=%a:<=^<%"
  set "a=%a:|=^|%"
  echo %a% >> kekka.txt

  934 :デフォルトの名無しさん:2013/06/02(日) 08:39:36.13
  当たり前だけど echo > って排他みたいな気の利いた事はしてないんだな.
  10万行4スレッド分担 HDD上で約1500行 RAMDisk上で約500行 も漏らすのは驚いた.

  935 :デフォルトの名無しさん:2013/06/02(日) 14:30:11.98
  排他はしてるだろwばか.
  その結果漏らすんだろwばか.
  全体を逐次化したけりゃ, 全体を()で括って.
  (
  ) > kekka.txt
  ってやりゃいいんだよwばか.

  936 :デフォルトの名無しさん:2013/06/02(日) 15:54:48.02
  ちょっとWindowsのバッチファイルのことで質問.
  特定のフォルダにある複数ファイルを別のフォルダに移動させたいんだが,
  移動時の日付と時間が付加された形になるようファイル名を自動的にリネームしつつ移動したい.
  (例えばreadme.txt -> readme-20130602-153908.txt)みたいな感じ.
  なのでバッチファイル中で.
  for %%A in (%1) do call :filemove %%A
  exit /b
  :filemove
  set filename1=%~n1
  set filename2=%~x1
  〜(以下日付と時間を取得)
  MOVE /Y C:\移動元\%filename1%%filename2% D:\移動先\%filename1%-%日付%-%時間%%filename2%
  みたいに書いたんだが, 元のファイル名に特殊文字が入っているとfilename1の内容が特殊文字のところで切られてしまうんで.
  拡張子より前のファイル名を正確に取得できず, 最後のMOVEのところでコピー元のファイルがないと怒られてしまう.
  これをどうにかしてファイル名に特殊文字が入っていてもちゃんと機能するようにしたいんだけどうまいやり方ってないかな?
  ファイル名に特殊文字を使わせないようにするのは無理なので, 特殊文字があっても何とかするというスタンスでいきたんだけど・・・.
  エロい人いい方法があったら教えてくださいお願いします.

  937 :デフォルトの名無しさん:2013/06/02(日) 16:12:30.70
  set "filename1=%~n1"

  938 :デフォルトの名無しさん:2013/06/02(日) 17:37:12.88
  バッチファイルでLF改行をCRLF改行に置換したり,
  LF改行やCRLF改行を明示的に指定してファイルに書き込んだりすることはできますか?
  なおLF改行1バイトを埋め込んだファイルを標準入力やパイプ渡しする方法以外でお願いいたします.

  939 :デフォルトの名無しさん:2013/06/02(日) 21:01:02.68
  http://scripting.cocolog-nifty.com/blog/2008/11/post-f885.html

  940 :デフォルトの名無しさん:2013/06/02(日) 23:13:59.01
  >>935
  全体を()でって /wait 無しの start 使って完全に別スレッド動作になってるから. . .
  まぁ, 組んでる最中のお遊びだから気にしないでくれ.
  実際のところ, 最後sortで〆るから別個のファイルに書き出すだけで済むんだ.

  941 :デフォルトの名無しさん:2013/06/03(月) 03:09:05.88
  横だが, 排他がいい加減なら漏れるんじゃなくて, 順序が乱れたりデータが壊れるのが普通.
  その手の症状が無いなら, 排他制御の問題じゃなくてバッファが溢れてると考えられる.
  つまりパイプのバッファサイズをどうにかして設定できれば・・・.

  942 :デフォルトの名無しさん:2013/06/03(月) 06:38:19.52
  排他ってこの場合は書き込みロックだろ.
  排他をしてないんじゃなく, 衝突時にロック解除を待たずにエラーとして書き込みを諦めるから漏らしてるんだろ.
  衝突時に対象が開放されるまで待機するような処理をするプログラムにリダイレクトして代理書き込みしてもらうか,
  cmd.exeプロセスごとに別の書き込みファイルに書いて後でマージするか, ってところじゃね.
  935のやり方だと, 同一のcmd.exeプロセス上の書き込みロックの解除が遅れて単独で自爆する事故は防げるだろうけど,
  ロック期間が伸びるから別のcmd.exeプロセス上での書き込みロックと衝突しやすくなるんじゃないかと.

  943 :デフォルトの名無しさん:2013/06/03(月) 07:28:17.01
  あ, なんかごめん, 俺が言葉の使い方というかそもそも排他を勘違いしてたのね.
  解決法とかはあまりどうでもいいんだけど, 一応大まかにこんな感じの処理です.
  ::以下バッチファイルとして使うと バッチファイル名.bat.dat が生成されます.
  if ""=="%~1" (goto main) else (goto sub)
  :main
  type nul>"%~0.dat"
  for /L %%A in (1, 1, %NUMBER_OF_PROCESSORS%) do start "" /MIN%~0 %%A
  pause
  exit
  :sub
  set /a num1=%~100000
  set /a num2=100000 / %NUMBER_OF_PROCESSORS%
  set /a num3=0
  set /a num4=0
  :loop
  set /a num4=%num1% + %num3%
  echo %num4%!>>"%~0.dat"
  set /a num3=%num3% + 1
  if %num2% GTR %num3% goto loop
  exit

  944 :デフォルトの名無しさん:2013/06/03(月) 10:01:42.39
  @echo offを入れると「プロセスはファイルにアクセスできません. 別のプロセスが使用中です. 」が山ほど出るな.
  んで, 「int main(int c, char **v){FILE *f;if(c==2){while(!(f=fopen(v[1],
  "a")))Sleep(0);
  while((c=fgetc(stdin))!=EOF)fputc(c, f);fclose(f);}return 0;}」
  なプログラムに書き込みさせれば・・・と思ったがクソ遅かった上にこれでも0.3%程取りこぼしたorz
  後からマージって超優秀.

  945 :936:2013/06/03(月) 10:12:25.40
  >>937
  遅くなったけどサンクス.
  大抵の特殊文字は>>937でいけそうな感じだったけど, いろいろ試してたら一部ダメな文字があるみたい.
  試しに.
  for %%A in (%1) do call :filedisp %%A
  exit /b
  :filedisp
  set "filename=%~n1"
  set ext=%~x1%
  echo ファイル名 %filename%
  echo 拡張子 %ext%
  echo ファイル名全部 %filename%%ext%
  ってサンプルバッチファイルtest.batを書いて.
  新しいテキスト(1)#!.txt
  新しいテキスト(1)%#.txt
  新しいテキスト(1)%# - コピー.txt
  のあるフォルダでtestbat *.txtってやると, 1つ目はうまくファイル名が表示されるけど2つ目は%が抜け落ちて.
  3つ目はスペースの手前, #の後までだけで拡張子も取得できない.
  こういうのもうまく処理できる方法ってないですかね??

  946 :デフォルトの名無しさん:2013/06/03(月) 10:34:44.29
  :loop
  cmd /c "echo;hoge>>out.txt" 2>nul
  if errorlevel 1 goto :loop

  947 :デフォルトの名無しさん:2013/06/03(月) 11:30:59.87
  >>945
  >>933
  ダメ文字回避の話題は過去ログでいくつか出てる.
  自分は, リネームソフトで一時的に全角にして処理後に戻すとかやってる.
  無理矢理バッチでやっても労多くして功少なしなので.

  948 :デフォルトの名無しさん:2013/06/03(月) 12:58:50.55
  逐次化 バッチ ファイル.
  でぐぐれば山ほど出てくるわ.

  949 :デフォルトの名無しさん:2013/06/03(月) 21:08:08.59
  >>945
  for %%A in ("%~1") do set "n=%%~nA" & set "x=%%~xA"& call :f
  exit /b
  :f
  set d=%date%
  set t=%time%
  if not %d%==%date% goto f
  set d=%d:/=%
  set d=%d:~0, 8%
  set t=%t::=%
  set t=%t: =0%
  set t=%t:~0, 6%
  move /y "%n%%x%" "移動先\%n%-%d%-%t%%x%"

  950 :936:2013/06/04(火) 19:09:40.12
  >>947
  すぐ上に出てたのね・・・気付かなかったスマン.
  >>949
  サンクス.
  それ参考にしてバッチファイル書き直したら上手く動くようになったみたい.
  これで面倒な処理を自動化できるんでホント助かった.
  どうもありがとう.

  951 :デフォルトの名無しさん:2013/06/24(月) 17:38:37.63
  ファイルのタイムスタンプを取得するのに, for で %~ti だと 年/月/日 時:分 まで得られますが.
  秒 まで取得するにはどのようにすれば良いでしょうか.

  952 :デフォルトの名無しさん:2013/06/24(月) 23:36:07.50
  >>951
  自己レスです.
  forfiles コマンド使って実現できました, お騒がせしました.

  953 :デフォルトの名無しさん:2013/06/29(土) 22:00:26.49
  ふと気になったんだけどみんな, " ) "の位置ってどこで書いてるの?
  if %hoge% EQU 1 (
  echo %hoge%
  )<-この位置?
  )<-それともこの位置?

  954 :デフォルトの名無しさん:2013/06/29(土) 22:01:53.93
  ごめんスペース消えてた.
  if %hoge% EQU 1 (
  echo %hoge%
  )<-この位置?
  :                      )<-それともこの位置?

  955 :デフォルトの名無しさん:2013/06/29(土) 22:55:45.75
  if %hoge% EQU 1 (echo %hoge%)<-この位置.

  956 :デフォルトの名無しさん:2013/06/30(日) 15:41:28.73
  >>953
  >if %hoge% EQU 1 (
  >  echo %hoge%
  >)<-この位置?
  俺は, こっち.
  理由は, if の終わりだから.

  957 :デフォルトの名無しさん:2013/06/30(日) 16:21:54.39
  >>955
  たしかにそのコードだったらそれで良いんだが・・・.
  >>956
  無茶苦茶だが"("の中に"("が続く様な場合は下みたいになるのか.
  今まで"("と同じ位置に")"を書いてたわ.
  ありがとう.
  :if %hoge% EQU 1 (
  :  echo %hoge%
  :  for /f "delims=" %%a IN (c:\hogehoge.txt) DO (
  :    echo %%a
  :  )<-この位置.
  :)<-この位置.

  958 :デフォルトの名無しさん:2013/06/30(日) 17:14:21.45
  >>954
  > :                      )<-それともこの位置?
  この書き方の人って, elseは次の行に書いてるの?

  959 :デフォルトの名無しさん:2013/06/30(日) 18:06:35.89
  >>958
  :                      )  else(
  同じ行に書いてた.
  "("の真下を見れば")"があって自分的には見易かったんだが・・・.
  他の人が見難いなら書き方改めるか.

  960 :デフォルトの名無しさん:2013/06/30(日) 21:35:48.84
  >>958
  )else(
  で書いてる.

  961 :デフォルトの名無しさん:2013/06/30(日) 21:59:30.33
  >>960
  その else ( に対する ")" はどうしてるの?

  962 :デフォルトの名無しさん:2013/06/30(日) 22:16:24.80
  if *** (
      [白上三角][白上三角][白上三角]
  ) else (
      xxx
  )

  963 :デフォルトの名無しさん:2013/06/30(日) 22:22:42.60
  >>962
  だな.

  964 :デフォルトの名無しさん:2013/07/01(月) NY:AN:NY.AN
  if *** (
      [白上三角][白上三角][白上三角]
      ) else (
      xxx
  )

  965 :デフォルトの名無しさん:2013/07/01(月) NY:AN:NY.AN
  >>964
  無いわー.
  [*] 個人の感想です.

  966 :デフォルトの名無しさん:2013/07/01(月) NY:AN:NY.AN
  ちたんだelse

  967 :デフォルトの名無しさん:2013/07/01(月) NY:AN:NY.AN
  アイスですね.

  968 :デフォルトの名無しさん:2013/07/01(月) NY:AN:NY.AN
  >962
  これが一般的かと思う.

  969 :デフォルトの名無しさん:2013/07/04(木) NY:AN:NY.AN
  質問させてください.
  batでmsgbox "あいうえお"と書かれたabc.vbsを呼び出したいのですが,
  batはvbsをスタートさせるだけで, 以降の処理は継続して動かしたいのです.
  何個か方法を考え, 作ってみたのですがどれも理想通りに行かず状態です.
  start "abc.vbs" /d "%~dp0"
  [上矢印]新規cmd.exeが起動するだけでvbsは実行されない.
  start abc.vbs /d "%~dp0"
  [上矢印]理想通り, vbsは起動すると共に以降のbat処理も動くが, ファイル名に空白があった場合は使えない.
  Cscript "%~dp0abc.vbs" //Nologo
  [上矢印]vbsは起動するが, msgboxのOKを返してvbsを終了させないとbatの処理は継続されない.
  よろしくお願い致します.

  970 :デフォルトの名無しさん:2013/07/04(木) NY:AN:NY.AN
  start "" "abc.vbs" /d "%~dp0"

  971 :デフォルトの名無しさん:2013/07/04(木) NY:AN:NY.AN
  startの""で括られた第一パラメタはウィンドウのタイトルバーに表示するウィンドウタイトルです.
  なので先頭の"abc.vbs"はタイトルメッセージなのだと受け取られます.
  試しに, そのbatを.
  start "bat実行中" xxx.bat
  とかで起動してみれば, ウィンドウタイトルの意味も分かると思います.
  ご質問の回等としては, タイトルを正しく指定すればいいだけです.
  start "" "abc.vbs" /d "%~dp0"

  972 :969:2013/07/04(木) NY:AN:NY.AN
  >>970-971
  正常に動きました!!
  確かに'start "abc.vbs" /d "%~dp0"'を実行すると,
  タイトルにabc.vbsとなったcmd.exeが上がりました・・・.
  ありがとうございました.

  973 :デフォルトの名無しさん:2013/07/13(土) NY:AN:NY.AN
  コマンドラインからCPU温度を取得する方法無いですかね.
  Win32_TemperatureProbeを使った方法だと自分のPCの温度は取れないようで・・・.
  そういうCPU温度を手軽に取れるコマンドラインアプリとか誰か知らないですか?

  974 :デフォルトの名無しさん:2013/07/13(土) NY:AN:NY.AN
  wmic /?

  975 :デフォルトの名無しさん:2013/07/13(土) NY:AN:NY.AN
  MSAcpi_ThermalZoneTemperature

  976 :デフォルトの名無しさん:2013/07/14(日) NY:AN:NY.AN
  >>975
  それはもっと対応してない.

  977 :デフォルトの名無しさん:2013/07/14(日) NY:AN:NY.AN
  とれたけど.

  978 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
  C:\Users\hoge> wmic /MSAcpi_ThermalZoneTemperature
  グローバル スイッチが無効です.
  動かないです.

  979 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
  そこまでアホじゃないが, 対応してない環境だったらエラーで落ちる.

  980 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
  wmic /namespace:\\ROOT\wmi path MSAcpi_ThermalZoneTemperature get
  CurrentTemperature/value

  981 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
  エラー:
  説明 = サポートされていません.

  982 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
  CurrentTemperature=3272
  CurrentTemperature=2732

  983 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
  あ.

  984 :デフォルトの名無しさん:2013/07/17(水) NY:AN:NY.AN
  t

  985 :デフォルトの名無しさん:2013/07/17(水) NY:AN:NY.AN
  次スレ.

  986 :デフォルトの名無しさん:2013/07/17(水) NY:AN:NY.AN
  まだか.

  987 :デフォルトの名無しさん:2013/07/17(水) NY:AN:NY.AN
  「wmic」これを「ダブルミック」と呼んでるけど皆はど〜よ?

  988 :デフォルトの名無しさん:2013/07/17(水) NY:AN:NY.AN
  >>982
  3272(C.)???

  989 :デフォルトの名無しさん:2013/07/17(水) NY:AN:NY.AN

  990 :デフォルトの名無しさん:2013/07/18(木) NY:AN:NY.AN
  次スレ.

  991 :デフォルトの名無しさん:2013/07/19(金) NY:AN:NY.AN
  まだか.

  992 :デフォルトの名無しさん:2013/07/19(金) NY:AN:NY.AN
  たててくるお!

  993 :デフォルトの名無しさん:2013/07/19(金) NY:AN:NY.AN
  だめだったお!

  994 :デフォルトの名無しさん:2013/07/19(金) NY:AN:NY.AN
  おぺレ〜てィんぐツすてむ.
  のっとふぁうソど.
  ぷりィ〜ずいソさ〜とツすてむでィすく.
  ひっ卜えにィ〜き〜.

  995 :デフォルトの名無しさん:2013/07/19(金) NY:AN:NY.AN
  スレ立て名人はいないのか.

  996 :デフォルトの名無しさん:2013/07/19(金) NY:AN:NY.AN
  建てた.
  [.cmd] バッチファイルスクリプト %10 [.bat]
  http://toro.2ch.net/test/read.cgi/tech/1374205515/

  997 :デフォルトの名無しさん:2013/07/19(金) NY:AN:NY.AN
  >>996
  おつ.

  998 :デフォルトの名無しさん:2013/07/19(金) NY:AN:NY.AN
  >>996
  乙.

  999 :デフォルトの名無しさん:2013/07/19(金) NY:AN:NY.AN

  1000 :デフォルトの名無しさん:2013/07/19(金) NY:AN:NY.AN

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

216 KB
*スマホ版* 掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 05.02.02 2014/06/23 Mango Mang&uuml;&eacute; *
FOX * DSO(Dynamic Shared Object)


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