[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 05/23 10:33 / Filesize : 215 KB / Number-of Response : 844
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【.cmd】 バッチファイルスクリプト %8 【.bat】



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/

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 ]
自我肥大はスルーで

333 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 23:18:48.73 ]
pause /t:n

334 名前:デフォルトの名無しさん mailto:sage [2011/11/20(日) 23:59:17.74 ]
>>292
やったな、おい!大漁じゃねーか!雑魚ばっかりだけど!

335 名前:デフォルトの名無しさん mailto:sage [2011/11/21(月) 00:35:05.56 ]
これってそんなに難しい質問なのか

336 名前:デフォルトの名無しさん mailto:sage [2011/11/21(月) 00:45:48.84 ]
応用のできないアホには

337 名前:デフォルトの名無しさん mailto:sage [2011/11/21(月) 03:33:48.01 ]
choice /t 10 /d y

338 名前:デフォルトの名無しさん mailto:sage [2011/11/21(月) 03:47:51.65 ]
diskpart /t 15

339 名前:デフォルトの名無しさん mailto:sage [2011/11/21(月) 05:32:44.27 ]
>>333
続行するには何かキーを押してください . . .
>>337
'choice' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
>>338
DiskPart はパラメータを処理できませんでした。
詳細については、'diskpart /?' を使用してください。



340 名前:デフォルトの名無しさん mailto:sage [2011/11/21(月) 09:26:48.83 ]
cmd.exe組み込みコマンドと同名のプログラムがPATH中に存在するとき、
組み込みコマンドを指定する方法はありますが?
mkdirはmdに変更することで逃げられますが、この方法が使えないとき
はどうすればいいでしょうか?

341 名前:デフォルトの名無しさん mailto:sage [2011/11/21(月) 13:42:17.35 ]
似たような機能のtoolを入れる

342 名前:デフォルトの名無しさん mailto:sage [2011/11/21(月) 14:41:11.23 ]
>>340
うそこけ 組み込み優先でないってか?

343 名前:デフォルトの名無しさん mailto:sage [2011/11/21(月) 16:03:37.77 ]
>>341
それすると何がどうなるって?ばかか

344 名前:デフォルトの名無しさん mailto:sage [2011/11/21(月) 16:30:39.06 ]
>>340
逆ならいくらでもあるが

345 名前:デフォルトの名無しさん mailto:sage [2011/11/21(月) 16:39:27.54 ]
>>340
setlocal
set path=
組み込みコマンド
endlocal

346 名前:デフォルトの名無しさん mailto:sage [2011/11/21(月) 17:28:38.33 ]
>>342
うーん。試してみたらコマンドプロンプトは組み込み優先でした。
実はnmakefileの中だったのです。>>345を採用することにしますた。

set path= & 組み込みコマンド

347 名前:デフォルトの名無しさん mailto:sage [2011/11/21(月) 17:35:24.19 ]
最初からそう言え
cmd /c 組み込みコマンド

348 名前:デフォルトの名無しさん mailto:sage [2011/11/21(月) 22:14:14.00 ]
timeout /t 10

349 名前:デフォルトの名無しさん mailto:sage [2011/11/22(火) 06:18:57.26 ]
NDWord: /t



350 名前:デフォルトの名無しさん mailto:sage [2011/11/22(火) 10:59:35.06 ]
'NDWord:' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

351 名前:デフォルトの名無しさん mailto:sage [2011/11/22(火) 12:48:26.59 ]
整合性レベルの低で起動する簡単な方法ないですか?

352 名前:デフォルトの名無しさん mailto:sage [2011/11/22(火) 12:57:18.84 ]
%~tIは更新日時のようですが、作成日時は取れないんですか?

353 名前:デフォルトの名無しさん mailto:sage [2011/11/22(火) 13:30:43.72 ]
start /low

354 名前:デフォルトの名無しさん mailto:sage [2011/11/22(火) 13:56:05.67 ]
for /f "usebackq tokens=1,2*" %i in (`dir /tc "%~f1"^|find "%~nx1"`) do (set a=%i%j&call echo %a%)

355 名前:デフォルトの名無しさん mailto:sage [2011/11/22(火) 14:04:16.98 ]
%i%jじゃ繋がっちゃうだろ

356 名前:デフォルトの名無しさん mailto:sage [2011/11/22(火) 21:16:09.49 ]
"%~nx1"が"ファイル"だとだめだろ

357 名前:デフォルトの名無しさん mailto:sage [2011/11/22(火) 21:24:25.23 ]
"eol= "ってやればうまく行きそうだが、行かん。遺憾だ

358 名前:デフォルトの名無しさん mailto:sage [2011/11/22(火) 21:39:46.47 ]
eol=の仕様は謎だな

359 名前:デフォルトの名無しさん mailto:sage [2011/11/22(火) 21:46:13.61 ]
findstr /r /c:"^[^ ].*%~nx1"



360 名前:デフォルトの名無しさん mailto:sage [2011/11/22(火) 21:59:25.95 ]
for /f "usebackq tokens=1,2*" %i in (`dir /tc "%~f1"^|find "%~nx1"`) do (if not defined a set a=%i %j&call echo %a%)

361 名前:デフォルトの名無しさん mailto:sage [2011/11/22(火) 22:05:59.46 ]
だからー "%~nx1"が"ディレクトリ"だとだめだろ

362 名前:デフォルトの名無しさん mailto:sage [2011/11/22(火) 22:08:54.13 ]
find "/"
がええかも

363 名前:デフォルトの名無しさん mailto:sage [2011/11/22(火) 23:34:25.37 ]
for eolでggったら"delims= eol= "でいいみたいね

364 名前:デフォルトの名無しさん mailto:sage [2011/11/23(水) 01:56:38.52 ]
そのじゃディレクトリの作成日時は取れんな

365 名前:デフォルトの名無しさん mailto:sage [2011/11/23(水) 12:30:43.59 ]
start cmd /c pause
とすれば、別プロセスで開始したコマンドの終了を待たずに次に進めるけど、
(start cmd /c pause & start cmd /c pause) | sort
などとパイプすると、startしたアプリをすべて終了するまで次に進まなくなってしまうのを回避する方法ありません?
(start cmd /c pause & start cmd /c pause) > hoge.txt
リダイレクトなら普通に次に進めるのですが…

366 名前:デフォルトの名無しさん mailto:sage [2011/11/23(水) 16:12:04.51 ]
意味不明だな
(start cmd /c pause & start cmd /c pause) | sort
で止まるのは当然だろw何がしたい?
start cmd /c "pause | sort"
とか?


367 名前:365 mailto:sage [2011/11/23(水) 17:35:31.29 ]
>>366
確かにそのスクリプトじゃ何がしたいのか意味不明だけど、ようは、

[a.cmd]
Echo 処理1開始
Rem 処理1
Echo 処理2開始
Rem 処理2
Echo 処理3開始
start "" "重い処理3cmd"
Echo 処理4開始
start "" "重い処理.4cmd"
pause
exit /b

ってのがあって、そのスクリプトに対し、

call a.cmd | tee "log.log"

的なことをしたのです。
a.cmd 内では、pause まで進むのにもかかわらず、
重い処理3cmd, 重い処理4cmd が修了するまで、
call a.cmd | tee "log.log"
の次に進みません。

call a.cmd
だけなら問題なく次に進むのだけど、何でそうなるのかが自分にはよくわからんのです。

368 名前:デフォルトの名無しさん mailto:sage [2011/11/23(水) 18:33:00.23 ]
こういうこと?
ttp://scripting.cocolog-nifty.com/blog/2007/09/messagebox_5566.html

369 名前:デフォルトの名無しさん mailto:sage [2011/11/23(水) 18:45:04.00 ]
>ProcessStartInfo.UseShellExecute=trueでプロセスを起こすと、
>ファイルハンドルを引き継がないようです。
ってことは
ショートカット作って
start "" "重い処理3cmd.lnk"
だな



370 名前:デフォルトの名無しさん mailto:sage [2011/11/23(水) 21:55:29.35 ]
rundll32.exe url.dll,FileProtocolHandler "重い処理3.cmd"
でもええんじゃね

371 名前:365 mailto:sage [2011/11/23(水) 22:04:00.88 ]
>>368-369
ありがとうございます!!

> ttp://scripting.cocolog-nifty.com/blog/2007/09/messagebox_5566.html
> どうもパイプの前のプロセスにパイプのハンドルの複製が残っているのでは?
なるほど…

ショートカットで、ばっちし うまく動きました。

372 名前:365 mailto:sage [2011/11/23(水) 22:12:02.17 ]
>>370
なるほど!
手っ取り早くてイイですね!

373 名前:デフォルトの名無しさん mailto:sage [2011/11/24(木) 20:05:50.79 ]
cmd.exeのバグだな

374 名前:デフォルトの名無しさん mailto:sge [2011/11/24(木) 23:51:22.85 ]
そうだな

375 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 19:02:04.82 ]
hou

窓の杜 - 【REVIEW】UnixのコマンドをWindowsのコマンドプロンプトで利用可能にする「Gow」
www.forest.impress.co.jp/docs/review/20111206_496043.html

376 名前:デフォルトの名無しさん mailto:sage [2011/12/13(火) 21:04:34.69 ]
コマンドプロンプトで使えても、複数行の引数とかで困りそうな…

377 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 23:05:30.91 ]
お願いします。
Windows7です。

host.txtが

<ホスト名A>,<IPアドレス>
<ホスト名B>,<IPアドレス>

というようなパターンで記載されております。

キーボード入力→入力を変数に格納(%host%)。

・変数%host%と一致する行を、host.txtの1列目から探す、見つかったら一致する行の2列目を変数ipに格納

という処理を行いたいのですが、まったく方法が思いつきません。
お知恵を拝借いたしたく。

よろしくお願いします。

378 名前:デフォルトの名無しさん mailto:sage [2011/12/14(水) 23:30:42.76 ]
set /p host="> "
for /f "tokens=1,* delims=," %%a in (host.txt) do (
if "%%a" == "%host%" set "ip=%%b"
)
echo %ip%

379 名前:377 mailto:sage [2011/12/15(木) 00:03:14.03 ]
>>378
勉強になります。そのまま使わせていただきます。
ありがとうございます。





380 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 08:11:06.17 ]
Windows2008使用です。
バッチ上から、システム環境変数(本来、マイコンピュータ右クリックでたどっていって編集するもの)を編集したいです。

reg add で編集(追加)はできるんですが、同じバッチ内(コマンドプロンプト内)では、反映されてません。
これを反映させられるようにしたいです。
pathを編集したいわけじゃないので、フルパスにしたからといって解決するものでもないです。

どなたかご存知の方いらっしゃいましたらご教授お願いします。

381 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 09:34:10.72 ]
>set /?

382 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 09:58:29.01 ]
馬鹿登場

383 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 10:26:35.05 ]
reg addしたものと同じものをsetしなおすのが手っ取り早いとは思うけどな。

start "" cmd.exe /c "%~0" %*

とかやって独立したプロセス立ち上げると環境変数って新規のが使われるんだっけ?
そうなったら今度はローカルで変更した環境変数まで消えちゃうんだけど。

384 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 14:42:17.97 ]
setx/?

385 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 17:15:10.74 ]
'setx' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

386 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 17:59:03.37 ]
setx.exeはServer 2003以降、Vista以降で有効の模様。2000/XPでは使えない。

387 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 18:26:27.91 ]
2000/XPは使わない。

388 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:08:09.34 ]
すいません以前ここでcdは使うな。代わりに○○を使えって教わったのですがそのコマンドが忘れました
どなたか教えてください

389 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:24:55.46 ]
>>252-253 か?
別にcdでもいいよ



390 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:41:51.36 ]
cd /d
かもよ

391 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 11:58:44.93 ]
pushdとか?

392 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 12:45:07.22 ]
>>389-391
先生方ありがとうございます
それです

393 名前:デフォルトの名無しさん [2011/12/26(月) 18:39:34.18 ]
hoge_012.txt
hoge_12345.txt
hoge_abcd.txt
みたいなファイル名のファイル群から、hoge部分を消したいんですが
どう書けばいいですか?
ren hoge_*.txt _*.txt
ってやると
_oge_012.txt
_oge_12345.txt
_oge_abcd.txt
とリネームされました
期待する結果は
_012.txt
_12345.txt
_abcd.txt
です

394 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 22:06:51.92 ]
>>393
ファイル名の先頭のhogeを除去したいなら
for /f "tokens=1,* delims=_" %%a in ('dir /a-d /b ^| findstr /r "^hoge.*_.*"') do (echo "%%a_%%b" "_%%b")
こんな感じかな

ファイル名のどこかのhoge部分を除去したいなら、置換を利用して
for /f "delims=" %%a in ('dir /a-d /b ^| find "hoge"') do (call :renhoge "%%a")
goto :eof
:renhoge
set "name=%~1"
set name=%name:hoge=%
echo "%~1" "%name%"
set name=
goto :eof
こんな感じかな

リネームするときはechoをrenに置き換えてね

395 名前:デフォルトの名無しさん mailto:sage [2011/12/26(月) 22:24:34.78 ]
>>394
できました!ありがとう
ワイルドカードで簡単に出来るものだと思ってました

396 名前:デフォルトの名無しさん mailto:sage [2011/12/27(火) 16:34:39.16 ]
できるよ

397 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 01:02:03.81 ]
カレントフォルダにあるすべてのファイルに対して
AABBBtxt→AA-BBB.txt
AACCCtxt→AA-CCC.txt
のように3バイト目にハイフンを入れたいです。
AAは必ず同じ文字列となります。
ren AA* AA-*
としたらAA-BB.txtとなりBが1個きえてしまいました。
どのようにしたらよいでしょうか

398 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 01:08:57.22 ]
まず
set x=AABBBtxt
をAA-BBB.txtに変えてみな
それができればあとはできるだろ?

399 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 02:20:05.30 ]
> 3バイト目にハイフンを入れたいです。
set a=%~1
set b=%a:~0,2%-%a:~2%
echo %b%



400 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 02:22:35.04 ]
> AAは必ず同じ文字列となります。
set a=%~1
set a=%a:AA=AA-%
echo %a%






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<215KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef