1 名前:デフォルトの名無しさん mailto:sage [2011/09/13(火) 01:20:20.25 ] 拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる 質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです。 ※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう。 前スレ 【.cmd】 バッチファイルスクリプト %7 【.bat】 hibari.2ch.net/test/read.cgi/tech/1298873550/ 【.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/
232 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 19:18:03.62 ] >>バッチならどのマシンでも実行出来るかなと思ったんだが・・・。 この条件なら WSH 使えばいい話
233 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 19:28:24.00 ] >何か他に最適な言語はありますか。 WSHは言語じゃない
234 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 19:35:38.57 ] そんなこといったらバッチファイルも言語じゃないだろ
235 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 20:02:33.21 ] >>234 じゃバッチファイルの言語はなんだ?言ってみろ
236 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 21:14:32.23 ] バッチ
237 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 22:01:34.34 ] バッチは基本的にコマンドの羅列でしかないので厳密には言語じゃないけど、 一般的には言語(スクリプト)として扱われることが多い・・・てことじゃない? unixのシェルスクリプトも同じ扱い。
238 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 22:48:51.96 ] >>228 thx!!!!!ありがとうございます!! バッチファイルを今まで書いたことなかったので お願いしたのだけれど、やっぱり機能追加とかしたいので結局自分でも覚えなきゃいけないな・・・ 仕事でバッチを頻繁に使うわけでもないので若干面倒臭い。。 >>232 >>233 すみません、語彙力不足で・・・。 上でお願いしたようなことが出来るのなら言語じゃなくても何でも良いです。 ただ共有して使うつもりなのでインストールとかが必要なものは面倒なので要らない感じです。 WSHってのでバッチよりサクッと出来るならその方が個人的には嬉しいです。
239 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 23:23:21.05 ] 最近スレの質が下がったな 日本語変なやついるし 検証もしないで出来ないとか無理とかいうやついるし 全角英字とか()
240 名前:デフォルトの名無しさん mailto:sage [2011/10/26(水) 23:35:01.96 ] 出来ないというか普通はsedとか使うんじゃないの
241 名前:デフォルトの名無しさん mailto:sage [2011/10/27(木) 00:32:18.73 ] >>239 出来ると思うならやってみろよ
242 名前:デフォルトの名無しさん mailto:sage [2011/10/27(木) 08:41:46.72 ] 出来ると思うならやってみろよ(キリッ
243 名前:デフォルトの名無しさん mailto:sage [2011/10/27(木) 17:46:44.38 ] どうでみいいから好きにしてよ(キリッ
244 名前:デフォルトの名無しさん mailto:sage [2011/10/27(木) 23:02:47.57 ] 出来ないと思うなら証明してみろよ(キリッ
245 名前:デフォルトの名無しさん mailto:sage [2011/10/27(木) 23:39:38.13 ] うちも履歴が止まったが保存日数減らしたら再開したわ
246 名前:デフォルトの名無しさん mailto:sage [2011/10/28(金) 00:15:34.97 ] このスレはあなたにとって役に立ちましたか? ○ 非常に役にたった ○ 役にたった ○ どちらともいえない ○ 役に立たなかった ○ 全く役にたたなかった
247 名前:デフォルトの名無しさん mailto:sage [2011/10/28(金) 01:56:16.55 ] 非常に腹がたった
248 名前:デフォルトの名無しさん mailto:sage [2011/10/28(金) 11:58:38.57 ] ユーザー名がtestであるときに cd C:\Users\testと打たないで cd /~test見たいな感じでC:\Users\testに移動できる書き方ってありませんか?
249 名前:デフォルトの名無しさん mailto:sage [2011/10/28(金) 12:13:54.46 ] エスパー回答 cd %USERPROFILE%\test
250 名前:デフォルトの名無しさん mailto:sage [2011/10/28(金) 12:42:02.05 ] 宇宙飛行士じゃないけど cd /d %USERPROFILE%
251 名前:デフォルトの名無しさん mailto:sage [2011/10/28(金) 12:53:08.99 ] ありがとうございます!
252 名前:デフォルトの名無しさん mailto:sage [2011/10/28(金) 13:01:01.75 ] pushd使え
253 名前:デフォルトの名無しさん mailto:sage [2011/10/28(金) 13:04:50.44 ] pushdとpopdっていうのがあるんですね これ便利ですね!ありがとうございます!
254 名前:デフォルトの名無しさん mailto:sage [2011/10/31(月) 06:25:29.84 ] hogehogeという名前のフォルダを右クリックの「送る」に登録したバッチファイルに送ると、 WinRARで圧縮すると同時に圧縮したファイル名の先頭にその時の日付と時刻を 「(yy-mm-dd_hh-nn) hogehoge.rar」 このように追加したいのですがどういう書き方をすれば良いでしょうか?
255 名前:デフォルトの名無しさん mailto:sage [2011/10/31(月) 07:16:57.68 ] 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"
256 名前:デフォルトの名無しさん mailto:sage [2011/10/31(月) 10:14:55.58 ] "C:\Program Files\WinRAR.exe" a -ag+{(}YY-MM-DD_HH-MM{) } "%~1"
257 名前:デフォルトの名無しさん mailto:sage [2011/10/31(月) 11:03:26.79 ] 7-zipを使っております c:\code\の中のファイルで新しく更新されたファイルのみを c:\backup.7zに追加・更新したいのですが それを手動でやってたのですがバッチファイルでこういうのをクリックしたら自動的にできるようには出来ませんか?
258 名前:デフォルトの名無しさん mailto:sage [2011/10/31(月) 12:56:16.55 ] hh.exe ms-its:C:\Program Files\7-Zip\7-zip.chm::/cmdline/syntax.htm
259 名前:デフォルトの名無しさん mailto:sage [2011/10/31(月) 15:06:31.79 ] >>255 完璧に動きました。 バックアップ用に使います。最高です。 ありがとうございました。 >>256 WinRAR自体に日付と時刻をファイル名に付加するパラメータがあったんですね。 ありがとうございます。
260 名前:デフォルトの名無しさん mailto:sage [2011/10/31(月) 15:51:50.41 ] >>259 pushd "%~dp1" "C:\Program Files\WinRAR\WinRAR.exe" a -ag+(YY-MM-DD_HH-MM) " %~nx1.rar" "%~nx1"
261 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 11:18:59.37 ] Windows8でコマンド使おうとすると いつまでバッチ使ってるんだPowerShell使えやって警告が出るみたいだな Windows9あたりでcmdは廃止になるかもしれないな
262 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 18:19:04.70 ] なんのために?
263 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 18:30:20.91 ] PowerShellってvista以降なら標準で入ってるものですか? もし標準で入っているならPSに移行してみたいですが
264 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 20:34:51.75 ] >>261 mjd?batしか使かった事ないし腹立ってきた。 PowerShellとか難しそう
265 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 20:36:13.45 ] エディションによる
266 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 22:04:24.96 ] homeエディションなら問題ないですかね?
267 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 22:38:42.34 ] homeエディションなら問題なく入ってない
268 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 13:11:33.76 ] バッチファイルのソースによく書かれている nx〜〜とかってどういう意味ですか?変数とは違うものなんでhそうか あと~~みたいな上の方に出てるニョロニョロと、dpってやつが何者なんでしょうか。 初心者の質問ですみません・・・。
269 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 13:54:52.82 ] ntcmds.chmのバッチ パラメータを使用するを読むんだ
270 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 15:43:44.64 ] batファイルを為まくってたのに努力が水の泡になる困った PSに移行するべきかRubyとかPerlとかPythonを使うべきか
271 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 15:46:05.16 ] >>270 ほんとそうだよな。せっかく今まで覚えてシコシコ作りまくってたのに 腹立つわマジで
272 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 16:26:22.70 ] command.comはなくなるだろうが、cmd.exeがなくなるものか、あほども
273 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 16:41:16.63 ] >>269 バッチファイル初心者だから、ntcmds.chmって何だろうと思って 調べてみたんだが、コマンドのヘルプみたいなもんか。 Win7では日本語のヘルプは無いらしい・・・。 本当にPowerShellっての覚えた方が良いってことか d.hatena.ne.jp/IIJIMAS/20101101/1288542425#c
274 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 16:43:43.01 ] 俺もRuby,Perl,Pythonで書きたいところなんだが 会社のマシンってこいつらが標準でインスコされてないことがあるんだよな…
275 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 16:49:09.86 ] >>274 「ウィルスの危険性があるので導入は認めませんキリッ」(by糞管理部門)
276 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 16:49:35.83 ] >>272 どういうことですか? 2つはOSによって名前が違ってますが片方がはいっているものではないのですか? なくならないんですか?
277 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 16:50:31.25 ] プログラミングできない人が多い会社(おれ以外プログラミングってなに?レベル)の場合HSP導入するべき?
278 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 17:06:34.98 ] >>277 HSPはあくまでゲーム製作用スクリプトの趣が強いかと とりあえずはWSH辺りが相場なんじゃないかね
279 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 17:37:56.28 ] >>273 for /?
280 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 18:01:03.13 ] >>276 command /?
281 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 18:45:15.02 ] WSHってPower shellに置き換えられる過去の遺産になるんじゃないっけ
282 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 18:48:03.85 ] すれ違い
283 名前:デフォルトの名無しさん mailto:sage [2011/11/07(月) 07:08:39.26 ] ちょっと変な質問ですが start myprog のコマンドはstartですが myprog でmyprogを実行する(暗黙の)コマンド名ってなんて言うんでしょう 別のスクリプトで start("myprog") => start myprogを実行する と一緒に s = exec("myprog") => myprogを実行して出力を返す s = run("myprog") と言ったメソッドを定義したいんですがその名前は何がいいのかなと
284 名前:デフォルトの名無しさん mailto:sage [2011/11/07(月) 08:15:27.21 ] >>284 大雑把な説明だけど。 myprogがOSからみて実行ファイル(.exe、.com(笑)等)であればOSのプロセス管理機能の 管轄で実行されるので、特に暗黙のコマンドというものはない。 myprogがデータファイル(.txt等)であれば、OSに登録されている拡張子割当を元に 該当プログラムに"myprog"をパラメータとして勝手に渡して実行してくれる。 拡張子に割り当てられたプログラムが暗黙のコマンドになる。 (バッチファイルもこのパターンに相当する) どちらの場合もstartコマンド有無は特に関係ない。 後者のパターンで"start myprog"を実行した場合でも、startコマンド実行後myprogに割り当てられた プログラムが起動してmyprogがパラメータとして渡されるので、この場合も「暗黙のコマンド」が存在することになる。 拡張子割当の検索はバッチの範疇では無理・・・だと思う(レジストリを見なきゃならん)。 見当違いなことを言っていたらごめん。
285 名前:デフォルトの名無しさん mailto:sage [2011/11/07(月) 09:24:59.10 ] 拡張子割り当てはassocとかftypeとか?
286 名前:デフォルトの名無しさん mailto:sage [2011/11/07(月) 15:57:27.19 ] >>284 アンカミス 見当違い >>283 >start myprog >のコマンドはstartですが の引数もコマンドです。 >myprog >でmyprogを実行する(暗黙の)コマンド名ってなんて言うんでしょう myprogです。
287 名前:デフォルトの名無しさん mailto:sage [2011/11/07(月) 19:08:03.54 ] >>284 callだよーん
288 名前:デフォルトの名無しさん mailto:sage [2011/11/07(月) 19:17:40.95 ] C:\doc1.0\bin C:\doc2.0\bin という二つのパスがあります このうち前者のほうをシステムのパスに登録しているのですが batファイルでパスを後者に切り替えるにはどう書くのでしょうか?
289 名前:デフォルトの名無しさん mailto:sage [2011/11/07(月) 19:21:27.08 ] set path=%path:C:\doc1.0\bin=C:\doc2.0\bin%
290 名前:デフォルトの名無しさん mailto:sage [2011/11/07(月) 19:31:54.97 ] 289様ありがとうございます pathはC:\doc1.0\bin以外にもjavaなどのパスやらインストールしたソフトが勝手に登録したパスもありますが ご教示いただいたコードのC:\doc2.0\binの部分にそれらを足したほうがいいのでしょうか? それともC:\doc1.0\binというパスを見つけたらC:\doc2.0\binに置換するという動作でしょうか?
291 名前:デフォルトの名無しさん mailto:sage [2011/11/07(月) 19:59:48.22 ] set /?
292 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 17:54:49.91 ] batファイルを起動してから毎時00分に指定したdosコマンドを実行したいのですがタスクスケジューラを使わずにbatファイルでできますか?
293 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 18:09:19.93 ] %TIME%の分を取り出して比較して これを繰り返せばよい 適当に待ちを入れて
294 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 22:44:52.61 ] :loop sleep 60-現在の秒数 タスクを実行 goto loop
295 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 23:04:41.04 ] 'sleep' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
296 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 23:09:40.73 ] waitfor sleep /t 60-現在の秒数
297 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 23:12:44.67 ] 'waitfor' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
298 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 23:25:22.75 ] msg %username% /time:60-現在の秒数
299 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 23:38:21.08 ] 送信するメッセージを入力してください。メッセージの入力を終了するには、改行してか ら、Ctrl+Z キー、Enter キーを押します。
300 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 23:38:48.90 ] 送信するメッセージを入力してください。メッセージの入力を終了するには、改行してか ら、Ctrl+Z キー、Enter キーを押します。 ^Z セッション名の取得エラー 1702
301 名前:デフォルトの名無しさん mailto:sage [2011/11/18(金) 23:55:48.28 ] msg * /time:60-現在の秒数 sleep
302 名前:デフォルトの名無しさん mailto:sage [2011/11/19(土) 00:18:03.47 ] セッション名の取得エラー 1702
303 名前:デフォルトの名無しさん mailto:sage [2011/11/19(土) 00:34:43.64 ] :loop if not 60-現在の秒数 == 00 goto loop タスクを実行 :loop2 if 60-現在の秒数 == 00 goto loop2 goto loop
304 名前:デフォルトの名無しさん mailto:sage [2011/11/19(土) 00:46:53.69 ] コマンドの構文が誤っています。 コマンドの構文が誤っています。 コマンドの構文が誤っています。 コマンドの構文が誤っています。 コマンドの構文が誤っています。 コマンドの構文が誤っています。 コマンドの構文が誤っています。 コマンドの構文が誤っています。 コマンドの構文が誤っています。 コマンドの構文が誤っています。 コマンドの構文が誤っています。 コマンドの構文が誤っています。 コマンドの構文が誤っています。 コマンドの構文が誤っています。 コマンドの構文が誤っています。 コマンドの構文が誤っています。 コマンドの構文が誤っています。 コマンドの構文が誤っています。 コマンドの構文が誤っています。 コマンドの構文が誤っています。 コマンドの構文が誤っています。 コマンドの構文が誤っています。 コマンドの構文が誤っています。 コマンドの構文が誤っています。 コマンドの構文が誤っています。
305 名前:デフォルトの名無しさん mailto:sage [2011/11/19(土) 00:48:02.09 ] 役立たずばかりだな
306 名前:デフォルトの名無しさん mailto:sage [2011/11/19(土) 00:50:05.81 ] おまえの役に立ってたまるかぼけ
307 名前:デフォルトの名無しさん mailto:sage [2011/11/19(土) 01:00:26.80 ] おれんちはsleepあるからいいよw
308 名前:デフォルトの名無しさん mailto:sage [2011/11/19(土) 19:30:14.31 ] 1秒スリープ echo WScript.Sleep(1000) >sleep.vbs cscript //Nologo sleep.vbs
309 名前:デフォルトの名無しさん mailto:sage [2011/11/19(土) 20:33:07.77 ] >>294 >>296 osのバージョンによっては入っていないんだな >>301 セッション名の取得エラーって知っているか? >>303 アホか負担が高すぎる >>307 何も解決してない答えだな 汎用性がないわ >>308 これは使えるな
310 名前:デフォルトの名無しさん mailto:sage [2011/11/19(土) 23:24:06.28 ] 厳密じゃなくて適当に1秒待ちで良いなら ping -n 2 127.0.0.1 1>nul OS制限はまず無いし
311 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 00:06:16.93 ] start /wait "" mshta vbscript:Execute("GetObject(""winmgmts:{impersonationLevel=impersonate}""). ExecNotificationQuery(""select * from __InstanceModificationEvent where TargetInstance isa 'Win32_LocalTime' and TargetInstance.Minute = 0 and TargetInstance.Second = 0"").NextEvent:Close")
312 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 00:15:53.25 ] pingは環境によってFWでブロックされて止まってしまう
313 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 00:24:34.55 ] アホには>>303 がちょうどよいw
314 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 00:41:31.13 ] mshta javascript:setTimeout('close()',10000)
315 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 10:04:22.81 ] そもそも最初は、「毎時00分に」なのに「00秒に」と誤解した上に、途中から「1秒待ち」の話になってる。 へぼプログラマがバグを作りこむ理由の一端がわかった気がする。
316 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 15:37:58.48 ] 応用のできないアホはスルーで
317 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 15:40:21.60 ] msまで追求するのが漢道
318 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 16:12:00.10 ] >>315 へぼプログラマがバグを作りこむ理由の一端がわかった気がする。
319 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 17:19:17.93 ] >>316 応用? 00分の検出と、1秒待ちってぜんぜん違う機能だぞ。 どう応用するのか、見せてもらえるかな?
320 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 17:26:48.84 ] >>319 なんでその2つを同じ階層で考える?
321 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 17:32:09.01 ] 応用のできないアホはスルーで
322 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 17:36:30.86 ] まぁまぁ落ち着けよお前ら 一番悪いのは>>303 なんだから
323 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 17:50:30.16 ] >>320 え゛っ、応用じゃないの? (w 応用見せてみと言うと階層が違うとか、なんだかねぇ。
324 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 18:00:38.70 ] おい単芝vipに帰れよ
325 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 18:21:54.10 ] HP機だと c:\hp\bin\sleep.exe が使えるよ
326 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 18:25:01.24 ] >>324 お前が帰れよ、つーかででくんな。
327 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 18:32:56.02 ] powershell start-sleep
328 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 18:42:28.32 ] 'powershell' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
329 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 18:43:43.94 ] 'c:\hp\bin\sleep.exe' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
330 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 19:01:18.78 ] hpの事なんて聞いてねえよ!
331 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 19:05:48.99 ] おまえなんかに言ってないよw 自我肥大するんじゃねーよw
332 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 23:10:10.73 ] 自我肥大はスルーで