[表示 : 全て 最新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/

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%

401 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 11:18:02.60 ]
batファイルからカラーダイアログを呼び出せることって無理ですか?

402 名前:397 mailto:sage [2011/12/29(木) 00:13:43.43 ]
>>398-400
ループ処理が難しそうですが、なんとかできそうです。
ありがとうございました。

403 名前:デフォルトの名無しさん mailto:sage [2012/01/01(日) 02:26:05.21 ]
mshta "about:<script>function b(){new ActiveXObject('Scripting.FileSystemObject'
).GetStandardStream(1).Write(d.ChooseColorDlg().toString(16));close();}</script>
<body onload='b()'><object id='d' classid='clsid:3050f819-98b5-11cf-bb82-00aa00b
dce0b'></object></body>"|more

404 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 16:14:43.54 ]
【質問】
 ・1-18までカウントしていく関数(サブルーチン?)を作りたいです。
  調べて自分なりに試しているのですが、上手くいかずに行き詰ってしまいました。
  下記のように、1-9までは01-09のように0を付加して表示したいです。
  01/18
  処理結果
  02/18
  処理結果
【 OS 】
 ・Windows XP Professinal SP3
【構文】
SET /A CNT = 1
SET /A IND = 18

CALL :ZERO %CNT%

:ZERO
IF "%1" LEQ "9" (
SET /A DD = %1
SET /A DD += 100
SET /A ABC = %DD:~-2%
ECHO %DD:~1,2%/%IND%
SET /A CNT+=1
)
EXIT /B

よろしくお願いします。

405 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 17:07:34.22 ]
> 1-18までカウントしていく関数(サブルーチン?)を作りたいです。
仕様がよくわからん。18超えたらどうするの?
01,02,03,・・・17,18とechoさせたいわけじゃないよね?
処理結果とあるけど、別の処理をループさせてのカウントかな?
だとすればわざわざサブルーチンにしなくても set CNT=101
で101-118をカウントして %CNT:~-2% で表示させればいい

@echo off
set CNT=100
:loop
set /a CNT+=1
echo %CNT:~-2%/18
echo 処理結果
if not %CNT%==118 goto :loop
pause

406 名前:450 mailto:sage [2012/01/05(木) 18:39:55.01 ]
>>405
レスありがとうございます。
教えていただいた方法でできるようになりました。
どうもありがとうございました!

SQLiteのVACUUMとREINDEXのバッチ作成の際に、01/18: ファイル名.拡張子 と表示して、
現在何個あるうちの何番目を処理中かどうか、というのを表示させたく作成中でした。
その際に、1-9までについては先頭に0を付加したかったのですが、書式的なもののやり方
が分からずにいました。 ※1/18ではなく、01/18のように。

【バッチ内容】
SET ADDONS = addons.sqlite

SET /A CNT = 100
SET /A IND = 18

CALL :loop %CNT% %ADDONS%
REM ここに 01/18: addons.sqlite と表示させたい。
sqlite3.exe ..\..\%ADDONS% VACUUM
sqlite3.exe ..\..\%ADDONS% REINDEX

:loop
SET /A CNT += 1
ECHO %CNT:~-2%/18: %2
EXIT /B


【希望結果内容】
01/18: addons.sqlite

407 名前:404 mailto:sage [2012/01/05(木) 18:43:23.40 ]
>>404です。
>406の名前欄が間違っていました。
失礼しました。

※教えていただいてできたので良かったのですが、
>>404でなぜうまく動作しないのか謎でモヤモヤが。

どうもありがとうございました。



408 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 21:09:16.86 ]
>>407
if "12" leq "9" echo 文字列の比較は一桁目から

409 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 21:11:30.07 ]
×一桁目
○左

410 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 22:31:16.99 ]
コマンドプロンプト上で
for /L %i in (1,1,10) do @(set /a 123)
とやると
123123123123123123123123123123
と改行挟まずに出力されるんですが、これのメカニズムを誰か説明してください。

411 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 22:46:19.69 ]
set が改行を剥いでいるんじゃね。

set /P とかで、入力は改行で終了するだろうけど、結果には改行が入っていない方が便利だし。

412 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 23:14:53.08 ]
setが改行を出さないだけだろ

413 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 19:02:34.30 ]
:loop
execcommand
sleep 600
goto loop

というループがあって
真ん中あたりでユーザーがその挙動を変えられるようにしたいんだけど
何も入力がなければループを妨げない、
入力があったらキーを set key=? して
call :setoption
するにはどうすればいいでしょう。

414 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 19:47:08.87 ]
>>413
www.vector.co.jp/soft/dos/util/se053514.html
こういうツール使うとか
これがまともに動くかどうかわからないから試してダメだったら
似たようなの探すか、作って配布してくれ

415 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 20:36:27.20 ]
choice/?

416 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 22:04:41.80 ]
tomeout/?

417 名前:デフォルトの名無しさん [2012/01/12(木) 22:42:42.89 ]
treeを入れるとそのディレクトリのファイルをツリー形式で出力されますが
これに加えてファイル名+サイズ名+最終更新日を出力したいのですが可能でしょうか?



418 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 23:00:03.63 ]
dir /s を整形するとか。。めんどくさそうだけど。

419 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 23:03:13.11 ]
vbs とかで作った方が楽かと。

420 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 23:18:18.22 ]
バッチでは?

421 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 01:17:12.05 ]
ttp://www1.axfc.net/uploader/Sc/so/309130.jpg
ttp://www1.axfc.net/uploader/Sc/so/309131.zip
こんなのどう
普通にtreeするのに比べるとめちゃくちゃ遅いけど
表示のスタイルは tree /a /f を参考に
ファイルの表示は dir /a-d /t:w を行ごとに

422 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 05:19:27.39 ]
>>417
www.vector.co.jp/soft/win95/util/se247619.html

423 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 06:58:49.41 ]
>>422
スレチ

424 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 15:57:19.14 ]
>>415-416
choiceはできそうだけど、timeoutはどう判定すんだ?

425 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 17:00:32.46 ]
むりぽ

426 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 22:16:52.32 ]
画面で区別できんだからバッチでもできるっしょ

427 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 02:31:56.51 ]
だめぽ



428 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 00:23:57.26 ]
%1に渡したファイルやフォルダがルートにあるのかどうかを判定するのってどう書けばいいですか?
%~1が3文字だったら、とか思いついたけどもっと上手い方法だったり定石があるなら教えてください

429 名前:428 mailto:sage [2012/01/15(日) 00:25:03.61 ]
訂正します
> %~1が3文字だったら
%~dp1が3文字だったら

430 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 00:36:58.61 ]
UNCとかにも対応したいなら
set a=%cd%
push ..
set b=%cd%
popd
して比較するとか

431 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 01:41:37.76 ]
"%~p1" == "\" だとダメなの?

432 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 09:17:31.43 ]
>>430
ありがとうございます
UNCのことはすっかり失念していました
cdでUNCはカレントに出来ないと言われて困りましたけど
pushd "%~dp1" で勝手にネットワークドライブの割り当てをやってくれて
カレントディレクトリを移すことが出来ました
>>431
それでよかったですよねありがとう


pushd "%~dp1"
if exist "%cd%\%~nx1" (call :ROOTEXP "%cd%\%~nx1") else echo ファイル見つからない
pause
exit
:ROOTEXP
echo "%~1"
echo "%~dpnx1"
if "%~p1"=="\" (echo ルートディレクトリにあるよ) else echo ルートじゃないよ
exit /b

一応、これで意図した動作になりました
ルートにあるファイルやフォルダの場合、echo "%~1" がZ:\\test.txt のように\\となるのですが
正常に動いてるみたいですし、"%~dpnx1"で正しいパスは取れるのですが
この書き方で問題が出るケースはありますでしょうか?

433 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 20:29:01.37 ]
空きメモリか使用メモリを標準出力でゲットするコマンドないですか。
memはさすがに消滅していたw

434 名前:デフォルトの名無しさん mailto:sage [2012/01/15(日) 21:04:49.82 ]
wmic

435 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 00:29:25.23 ]
tasklistの各行の出力結果を合計してみるとか

436 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 03:38:43.26 ]
それはねーよ

437 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 12:21:08.71 ]
wmic調べてみます。ありがとうございました。



438 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 12:27:17.34 ]
wmic os get freephysicalmemory

439 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 17:08:24.54 ]
for /f %%i in ('wmic os get freephysicalmemory') do set x=%%i
echo %x%

ECHO は <ON> です。

440 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 17:35:24.25 ]
for /f "eol=F" %i in ('wmic os get freephysicalmemory') do echo %i

441 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 17:49:41.37 ]
ECHO は <ON> です。

442 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 21:14:43.83 ]
for /f "skip=1" %i in ('wmic os get freephysicalmemory') do if not defined mem set mem=%i
echo %mem%

443 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 23:58:50.04 ]
for /f %i in ('wmic os get freephysicalmemory') do (call set x=%i) & if defined x call set mem=%i
echo %mem%


444 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 03:36:44.19 ]
'wmic' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

445 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 14:12:06.16 ]
Windows 2000以降のOSではWMIが標準で実装されている
Windows 2000にはwmic.exeは用意されていない

446 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 15:37:33.32 ]
それを言うならXP以降だろw

以降はそれも含むんだから

447 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 18:17:43.40 ]
win2kはwmiコンポーネント実装済みだけどwmicは同梱されていないって事じゃね?



448 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 19:55:57.58 ]
それを言うなら>>446阿呆だろw

449 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 00:35:34.90 ]
xp homeはwmic入ってないのか

450 名前:デフォルトの名無しさん [2012/01/22(日) 15:35:57.54 ]
D:\MUSIC\(複数アーティスト)\(各々に複数アルバム)\Resize\Folder.jpg という階層で
Folder.jpgを1つ上のディレクトリに上書き移動して、Resizeフォルダを削除したいのですがうまくできません。
ご教示いただけないでしょうか、一所懸命初めてバッチ書いてみましたがたぶん見当はずれです

cd /d D:\MUSIC
for /d %%A in (*) do (
cd %%A
for /d %%B in (*) do (
cd %%B\Resize
move /y Folder.jpg ..\Folder.jpg
cd ..
rd /s /q Resize
)
)

451 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 16:36:07.61 ]
>>450
cd /d d:\music
dir /a-d /b /s Folder.jpg >list_fjpg.txt
dir /ad /b /s Resize >list_Resize.txt
処理するファイルが上のリストで問題ないようならこれで出来ると思う
for /f %%a in ('dir /a-d /b /s Folder.jpg') do move "%%~a" ".."
for /f %%b in ('dir /ad /b /s Resize') do rd /s /q "%%~b"

Resizeフォルダ以外にもFolder.jpgがあって上のがダメなら
dir /a-d /b /s Folder.jpg|findstr /e /l /i "\Resize\Folder.jpg" >list_fjpg.txt
これでたぶん大丈夫だと思うけど試してダメだったらfindstrのオプションとか工夫してみて

452 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 16:36:27.77 ]
cdをpushdやpopdに変えて試してみてね

453 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 16:49:17.51 ]
>>450
cd /d "D:\MUSIC"
for /d /r %%a in (*) do (
pushd "%%a"
call :movejpg "%%~na"
popd
)
goto :eof
:movejpg
if not "%~1" == "resize" (if not "%~1" == "Resize" goto :eof)
move Folder.jpg ..\
cd ..\
rmdir resize
goto :eof

454 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 16:51:54.76 ]
jpgを拾うようにした自前のものがよく似ていたので1行目だけ編集したのを貼ってみる。

cd /d D:\MUSIC
for /r /d %%i in (*) do (
if exist "%%i\resize" (
move "%%i\resize\*.jpg" "%%i"
rd /s /q "%%i\resize"
)
)

趣旨が違うかもしれないが。


455 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 18:06:41.19 ]
>>454のを少し弄って
cd /d D:\MUSIC
for /r /d %%i in (*) do (
if exist "%%i\resize\folder.jpg" (move /y "%%i\resize\folder.jpg" "%%i"&&rd /s /q "%%i\resize")
)
これで質問者の要求仕様を満たすんじゃね?

456 名前:450 [2012/01/23(月) 09:47:50.42 ]
みなさんありがとうございます!
せっかくなので環境をコピーして4つとも試してみましたがどれもうまくいきました!
バッチファイルが綺麗に完走するのってピタゴラスイッチ的な爽快感がありますね

457 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 13:55:01.20 ]
2chブラウザのkakikomi.txtを自動で編集して、
日付データと本文部分だけを残すというbatファイルをつくりました

find /v "Subject:" <kakikomi.txt >kakikomi2.txt
find /v "URL :" <kakikomi2.txt >kakikomi3.txt
find /v "From :" <kakikomi3.txt >kakikomi4.txt
find /v "Mail :" <kakikomi4.txt >kakikomi5.txt

というゴリ押しで一応目的は達成できたのですが、時間もかかるし無駄が多い気がします
もっとスマートな書き方もあるのでしょうか?

kakikomi.txt内の書き込みデータは、
--------------------------------------------
Date : 2012/01/01 00:00:00
Subject: スレッドタイトル
URL : ...
From :
Mail :

本文
--------------------------------------------
のくり返しになっています



458 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 14:34:47.86 ]
findstr/?

459 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 14:37:22.65 ]
findstr /b /v "Subject: URL FROM MAIL" "kakikomi.txt" >"kakikomi2.txt"
本文の行頭に同じ文字列があったらその行も消えるけど>>457よりはマシと思う

460 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 14:49:55.56 ]
>>459
ありがとう!次回からは書いてくれたものを使ってみます

461 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 23:44:16.41 ]
フォルダ内のtest*.batを順に実行したいのですが、10回callする毎に標準出力に
メッセージを出したく思います
↓を実行すると毎回echoが実行されてしまうのですがどう修正すべきでしょうか?

set /a N=1
for /F %%a in ('dir .\test*.bat /b') do (
call %%a
set /a N = %N% + 1
if "%N%"=="10" do (
echo ----------
set /a N=1
)
)


462 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 00:15:29.97 ]
>>461
echo onで実行されたバッチがどうなってるか見りゃわかるけど…

遅延環境変数でググってみ。

463 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 00:56:33.67 ]
for /f %%a in ('dir /b test*.bat') do (
call %%a
call :COUNT
)
pause&exit

:COUNT
set n+=1
if %n%==10 (echo ----------&set n=
)
exit /b

464 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 00:59:13.37 ]
> set n+=1
set /a n+=1

465 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 09:22:44.38 ]
遅延環境変数のことを失念していました(ノ∀`)
サンプルまで書いていただいてありがとうございます

466 名前: 忍法帖【Lv=5,xxxP】 mailto:sage [2012/01/28(土) 20:05:08.71 ]
Vista/7などで環境変数を永続的に変えるのってCUI(cmd)じゃできないんですか?
95とかならexec.batをいじるとできるそうですがいい方法無いですかね
マウスでカチカチみんな設定してるの?

467 名前: 忍法帖【Lv=5,xxxP】 mailto:sage [2012/01/28(土) 20:06:15.39 ]
Vista/7などで環境変数を永続的に変えるのってCUI(cmd)じゃできないんですか?
95とかならexec.batをいじるとできるそうですがいい方法無いですかね
マウスでカチカチみんな設定してるの?



468 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 20:08:12.26 ]
setx

469 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 20:37:47.45 ]
autoexec.batだろ






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

前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