1 名前:デフォルトの名無しさん mailto:sage [2011/02/28(月) 15:12:30.34 ] 拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる 質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです。 ※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう。 前スレ 【.cmd】 バッチファイルスクリプト %6 【.bat】 hibari.2ch.net/test/read.cgi/tech/1277465356/ 【.cmd】 バッチファイルスクリプト %5 【.bat】 pc12.2ch.net/test/read.cgi/tech/1242268171/ 【.cmd】 バッチファイルスクリプト %4 【.bat】 pc12.2ch.net/test/read.cgi/tech/1229955189/ 【.cmd】 バッチファイルスクリプト %3 【.bat】 pc11.2ch.net/test/read.cgi/tech/1217860043/ 【.cmd】 バッチファイルスクリプト %2 【.bat】 pc12.2ch.net/test/read.cgi/tech/1197881068/ 【.cmd】 バッチファイルスクリプト %1 【.bat】 pc11.2ch.net/test/read.cgi/tech/1178281991/
209 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 10:34:01.78 ] >>183 だから単純に for /f "delims=" %%i in ('dir /b/aa V:\ts\*.mp4') do if not exist "\\nas\contents\%%~nxi" xcopy "%%~i" "\\nas\contents\%%~nxi" /M こんなんでいいだろ。 俺だったら同名存在したら連番なり日付なり追加リネームしてコピーってのも バッチ内でやると思うけど。
210 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 10:51:17.00 ] dir使って不要なループを避けるならxcopyのコピー対象外(/h無し)の 隠し属性とシステム属性も除外して'dir /b/aa-h-s V:\ts\*.mp4'だな 逆にxcopyのオプションだけで対応するのなら、forの拡張機能は使わないな
211 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 11:34:28.35 ] もう質問者は見ていないだろw
212 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 11:55:37.81 ] >>210 転送元がmp4な時点でシステム属性とか隠し属性なんて無いと思うけどw
213 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 12:08:32.89 ] >>212 録画のシステムが糞なら録画中のファイルがmp4で隠し属性になる可能性あり
214 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 12:13:02.40 ] それはコピーしなくていいのか?
215 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 16:06:21.24 ] もう質問者の中学生は見ていないだろw
216 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 17:27:08.46 ] 会社で何してんだ?
217 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 17:55:35.59 ] バッチファイルをダブルクリックすると黒いウィンドウが開くんですがなんとかなりませんか?
218 名前:デフォルトの名無しさん [2011/03/29(火) 18:08:10.99 ] color f0
219 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 18:51:24.99 ] batファイルのショーカットで起動 起動時の設定は最小化
220 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 18:52:14.50 ] 問題は黒いではなくウィンドウが開くなんです
221 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 18:52:22.96 ] ショートカットだったw
222 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 18:53:32.29 ] 個々にショートカットを作る以外の方法でお願いします
223 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 18:57:11.82 ] batファイルをexeに変換できるツールがどこかにあったような…
224 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 19:00:12.02 ] 個々にexeを作る以外の方法でお願いします
225 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 19:01:55.01 ] 関連付けのopenを cmd.exe /c start /b "%1" に変えればよくね?
226 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 19:04:52.25 ] よくねえ
227 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 19:09:43.97 ] start /b "" "%1" かな?
228 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 19:11:03.32 ] start /min "" "%1" かな?
229 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 19:12:20.64 ] >>227 よくねえ
230 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 19:16:29.59 ] /B 新しいウィンドウを作成せずにアプリケーションを起動します。 なのに変だね
231 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 19:19:32.67 ] どっちにしろ黒いのがチラッと…
232 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 19:29:20.70 ] >>228 よくねえ ちったぁ試してから言えよ 役立たずばっか
233 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 19:34:37.91 ] 試すわけないだろw 質問者が試せよw
234 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 20:50:36.04 ] 試さなくたって分かるが?
235 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 20:56:01.72 ] だったら正解は?
236 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 21:26:26.84 ] cmd.exe /c start /min cmd.exe /c "%1" だよ
237 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 22:17:46.12 ] WScript.CreateObject("WScript.Shell").Run """" & WScript.Arguments.Item(0) & """", 0 だな
238 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 22:52:37.67 ] それも言うなら mshta.exe vbscript:close(CreateObject("WScript.Shell").Run("""%1""",0)) だな
239 名前:デフォルトの名無しさん mailto:sage [2011/03/29(火) 23:03:31.35 ] ウィンドウは出したいけどアクティブにしないでっていうのは?
240 名前:デフォルトの名無しさん mailto:sage [2011/03/30(水) 00:15:50.37 ] 俺はアホなので試してみたんだが、 >>236 は >>231 >>237 と >>238 は 動かん
241 名前:デフォルトの名無しさん mailto:sage [2011/03/30(水) 00:31:59.08 ] >>236 は batファイルにD&Dが効かなくなるな
242 名前:デフォルトの名無しさん mailto:sage [2011/03/30(水) 01:19:39.53 ] すまんな、試してないんで >>240 mshta.exe vbscript:close(CreateObject("WScript.Shell").Run("cmd.exe /c ""%1""",0)) ただし>>241 >>241 cmd.exe /c start /min cmd.exe /c "%1" %* ただし>>240 外部ファイルを作れば別だが、どっちもと言うわけにはいかんな
243 名前:デフォルトの名無しさん mailto:sage [2011/03/30(水) 10:20:08.25 ] 保存する場所と名前は適当に変えてくれ WScript C:\callbat.vbs %* -- C:\callbat.vbs -- strCmd = "cmd.exe /c" For i=0 To WScript.Arguments.Length - 1 strBuf = WScript.Arguments.Item(i) If InStr( 1, strBuf, " ", 1 ) = 0 Then strCmd = strCmd + " " + strBuf Else strCmd = strCmd + " " + """" + strBuf + """" End If Next WScript.CreateObject("WScript.Shell").Run strCmd, 0
244 名前:デフォルトの名無しさん mailto:sage [2011/03/30(水) 16:45:56.57 ] それより cmd.exe /c のショートカット作って c:\hoge.lnk "%1" %* でいいんじゃね
245 名前:デフォルトの名無しさん mailto:sage [2011/03/31(木) 02:37:30.94 ] それ以前にもう .bat なんか捨てろ!!!!捨てろ!!!! もういいだろっ… こんな…ゲイツの気まぐれにっ…!!!! いっぱい!!!!いっぱい(SEが)死んだんだぞ!!!!
246 名前:244 mailto:sage [2011/03/31(木) 02:42:04.35 ] ちなみに、ダブルクォーテーションエスケープでの %1 は 「何が起こっても不思議じゃない」 という覚悟でもなければもう書けない。 …マジで…ゲイツ氏ね…
247 名前:デフォルトの名無しさん mailto:sage [2011/03/31(木) 04:09:00.19 ] >>246 ≠>>244 いみふ 大体詐称すな
248 名前:デフォルトの名無しさん mailto:sage [2011/03/31(木) 04:51:37.89 ] コマンド プロンプトのデフォのウインドウ位置を弄れ。 ぎりぎり外へ押しやれば起動しても見えなくなるぞw
249 名前:デフォルトの名無しさん mailto:sage [2011/03/31(木) 08:07:57.34 ] タスクバーに出るのもアウトらしいからw
250 名前:デフォルトの名無しさん mailto:sage [2011/03/31(木) 08:20:55.05 ] ウイルスでも作りたいのかw
251 名前:デフォルトの名無しさん mailto:sage [2011/03/31(木) 16:57:38.69 ] >>183 コピー先のリストをdirとかで取って/EXCLUDEに指定すればどうかな?
252 名前:デフォルトの名無しさん mailto:sage [2011/03/31(木) 18:57:48.74 ] 作業フォルダにxcopyして、そこからreplace /aでターゲットに
253 名前:デフォルトの名無しさん mailto:sage [2011/03/31(木) 22:12:32.06 ] >>249 いつ、そんな条件が追加されたんだ?
254 名前:デフォルトの名無しさん mailto:sage [2011/04/01(金) 19:26:50.48 ] 1582年6月13日
255 名前:デフォルトの名無しさん mailto:sage [2011/04/01(金) 22:46:47.79 ] 質問です。 下のバッチで、1個目と2個目の echo の表示が ユニコード文字があると化けるんだけど 仕様なの? for /f %%i in ('dir /b') do ( echo "%%i" echo "%%~i" echo "%%~nxi" )
256 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 00:46:19.04 ] ユニコード文字って何? 大概の文字はユニコードだけど?
257 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 01:09:33.23 ] シフトJISにない文字のことじゃね?
258 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 01:13:41.77 ] だったら仕様だな
259 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 01:18:58.42 ] for %%i in (*) do ( echo "%%i" echo "%%~i" echo "%%~nxi" ) なら化けんよ
260 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 01:35:40.37 ] ありがとうございます。やっぱ仕様ですか。 ユニコード特有の文字のことでした。
261 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 01:45:47.51 ] >ユニコード特有の文字のことでした。 だから意味不明だと言っとるだろがぼけ
262 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 01:54:13.53 ] うるせハゲ
263 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 01:56:31.10 ] だまれデブ
264 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 01:57:21.57 ] 禿げてないけどぼけ
265 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 01:58:06.19 ] デブでないけどぼけ
266 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 01:59:25.93 ] ユニコード特有の文字って何だよぼけ
267 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 02:00:31.99 ] >>266 ユニコード制御文字
268 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 02:02:30.29 ] ぐぐれカス
269 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 02:06:34.42 ] カスらっくだぼけ
270 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 02:09:27.91 ] UNCパス上のバッチファイル実行するとサポートしてない云々のメッセージが出るけど、 これってカレントが強制的に%WINDIR%にされてるのかね? > nul で抑制できないけど、取り合えずバッチは動いてるみたい 支障が出る or 出そうな状況ってありますか?
271 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 02:10:04.30 ] >>267 確かに。だが、ボケはユニコード制御文字のことを言ってるのか?
272 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 02:12:29.78 ] >>270 相対パス使ってると支障でるんじゃね? 取り合えずUNC使う時はpushdとpopd使うようにしてる。
273 名前:270 mailto:sage [2011/04/02(土) 03:00:19.58 ] >>272 なるほど<相対パス 今pushd/popdで試してみたら、やっぱ起動時のカレントは C:\Windowsになってた@Win7 バッチ内で何かの実行ファイルをキックするような内容程度なら、 全部絶対パスで渡してやれば特に問題ないのかな
274 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 05:30:09.48 ] >>258 仕様ってどういう仕様?
275 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 06:19:58.70 ] cmd /a
276 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 07:48:37.83 ] cmd /u で実行しても化けるよボケ
277 名前:デフォルトの名無しさん [2011/04/02(土) 08:09:08.88 ] 丂丄丅丌丒丟丣两丫丮丯
278 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 08:26:15.20 ] 上みたいな字が混じってると >>209 みたいなのが誤動作する可能性があるんだよボケ
279 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 08:46:12.84 ] 文字コードの話になると、すぐ>>256 みたいなガキが出てくるのなw
280 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 09:22:43.72 ] >>279 仕様だ。
281 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 12:48:13.93 ] >>278 もう古い時代のバッチに拘るな
282 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 16:20:37.26 ] >>281 拘ってるのは、知識もスキルもない窓際管理職と掃き溜め管理部門だけ
283 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 17:33:13.38 ] >>276 cmd /u で実行したら化けないとは言ってないよボケ /aと/uは出力を変えるだけだボケ 入力はa固定だボケ
284 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 17:35:32.15 ] >>278 >>277 はユニコード特有の文字か?ボケ
285 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 17:41:43.99 ] (厨)皆いい年こいたおっさんです
286 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 18:55:32.21 ] いい年こいてるからボケてるんだよボケ
287 名前:デフォルトの名無しさん mailto:sage [2011/04/02(土) 19:40:44.78 ] 若年性もあるよボケ
288 名前:デフォルトの名無しさん mailto:sage [2011/04/03(日) 17:50:43.52 ] あほぼけかすもユニコード特有の文字か?ボケ
289 名前:デフォルトの名無しさん mailto:sage [2011/04/03(日) 17:59:29.90 ] 何言ってるか分からんよボケ
290 名前:デフォルトの名無しさん [2011/04/03(日) 18:14:08.41 ] C:\test.batというバッチファイルがあります。 『バッチファイルの内容』 ----------------ここから myprogram %1 ----------------ここまで myprogramというのは自作のプログラムです。」 このプログラムに引数を渡したいのですが、引数が「aaa bbb ccc」というふうに3つのキーワードを入れると、バッチファイルではaaaしか認識しません。 myprogram %1 %2 %3と書くことで取得できるのですが、引数に入れるキーワードの数は2個以上でいつも不規則な数になってます。 myprogram "%1"と書いても取得できませんでした どのようにして%1のみで全てを取得する事ができますでしょうか?
291 名前:デフォルトの名無しさん mailto:sage [2011/04/03(日) 18:25:59.37 ] >290 "%~f1" でOK。(ただしWindows95/98/Meでは不可)
292 名前:デフォルトの名無しさん mailto:sage [2011/04/03(日) 18:33:29.11 ] >>291 何言ってるか分からんよボケ
293 名前:デフォルトの名無しさん mailto:sage [2011/04/03(日) 18:35:37.02 ] %*でいいんじゃね
294 名前:デフォルトの名無しさん mailto:sage [2011/04/03(日) 18:37:21.02 ] >>291 ありがとうございます;;大変助かりました
295 名前:デフォルトの名無しさん mailto:sage [2011/04/03(日) 19:07:54.37 ] そんなわけねーよ
296 名前:デフォルトの名無しさん mailto:sage [2011/04/03(日) 19:23:07.99 ] 何でそんなわけねーんだよ?
297 名前:デフォルトの名無しさん mailto:sage [2011/04/04(月) 10:38:51.40 ] 指定した文字から、指定した文字までを削除するバッチってどうやるんでしょうか? ai-1234_ueo.text 変換後 aiueo.text
298 名前:デフォルトの名無しさん mailto:sage [2011/04/04(月) 12:55:20.48 ] 「-1234_」を抜くって意味なら set a=ai-1234_ueo.text echo %a:-1234_=% 「-」〜「_」までなら set a=ai-1234_ueo.text set b=%a:*-=% call echo %%a:-%b%=%%%%a:*_=%%
299 名前:デフォルトの名無しさん mailto:sage [2011/04/04(月) 13:09:46.41 ] ありがとうございます。
300 名前:デフォルトの名無しさん mailto:sage [2011/04/04(月) 21:47:14.35 ] 調べ方が悪いと思うんですが、解説サイトを見つけれ無かったので教えてください。 .batを並列で動かそうとしています。 例えば、 body.bat rem 動かない start “c:\a.bat“ start “c:\b.bat“ 上記なら動かない 下記なら動く body.bat rem 動く start ““ “c:\a.bat“ start ““ “c:\b.bat“ startの後のダブルクォーテーションが必要な理由を教えていただきたいです。 メンドクサイようでしたら、解説サイトを教えて頂けませんか。 宜しくお願いします。
301 名前:デフォルトの名無しさん mailto:sage [2011/04/04(月) 22:06:00.22 ] >>300 start /?
302 名前:デフォルトの名無しさん mailto:sage [2011/04/04(月) 22:10:23.82 ] こういうコマンドの使い方も知らずに適当な事やるやつってなんなんだろうね。
303 名前:デフォルトの名無しさん mailto:sage [2011/04/04(月) 23:02:39.82 ] すぐに見つかったけど START ["タイトル"] [/Dパス] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED] [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL] [/WAIT] [/B] [コマンド/プログラム] [パラメータ] タイトルは省略可能。ただし、プログラム名が空白を含む等で " " で囲まなければならない場合、 start "C:\Program Files\prog1\prog1.exe" と書くと、これがタイトルとみなさる。
304 名前:デフォルトの名無しさん mailto:sage [2011/04/04(月) 23:37:03.23 ] それじゃだめだとちょっと前に言ったばっかりだろ
305 名前:デフォルトの名無しさん mailto:sage [2011/04/05(火) 22:25:31.81 ] >301-303さん 返事が遅くなりました。すいません、ありがとうございます。 start /? すいません、初歩でした。 上記を確認後に改めて、中身を確認すると、 a.batは、自作でtitleは書いていない。 b.batは、他人が書いたバッチでtitleを書いていました。 b.batは、タイトル書いているのに、 body.bat start ““ “c:/b.bat“ と書かないと動きませんでした。 この時のウインドウのタイトルを確認し忘れました。 ウインドウのタイトルがどうなってるのかは、明日、確認します。 start で設定するタイトル ““ とバッチ内で設定するtitleは、設定が違うのでしょうか? 相次ぐ質問で、申し訳御座いません。 お返事は、早くとも明日のこのぐらい時間か、明後日の朝になりますが、お付き合いお願いします。
306 名前:デフォルトの名無しさん mailto:sage [2011/04/05(火) 22:36:40.35 ] 壁に激突してください。
307 名前:デフォルトの名無しさん mailto:sage [2011/04/05(火) 23:00:48.68 ] 本当、一度死んだ方がいいよな。 タイトルそのものは全然関係無いってのに。
308 名前:デフォルトの名無しさん mailto:sage [2011/04/06(水) 01:27:44.04 ] ひたすら丁寧口調で、自分の望む解凍を得るまで粘る、ってのがここ数年多いよね 気に入らない回答には罵倒して煽る、みたいなのがたくさんいた昔の方が 健全だったように思える
309 名前:デフォルトの名無しさん mailto:sage [2011/04/06(水) 04:05:22.68 ] >お付き合いお願いします。 お断りします。