07/02/26 06:45:30 kBM+PAiP
>816
メイン処理の最後にも goto :EOF
818:名無し~3.EXE
07/02/26 17:29:47 TZQkmwZQ
テキスト形式でどんどん下に増えていくログファイルで、
新旧2ファイル A.TXT B.TXT があるとします。
FC で比較すると、カブった部分だけは抽出できますが、
増えた分だけ抽出する、うまいやりかた、ないでしょうか。
819:名無し~3.EXE
07/02/26 18:49:58 fAq2TeR4
>>815
>> callって10個までしか引数渡せないのね
shift
820:名無し~3.EXE
07/02/26 18:51:29 9JamE3oB
>>818
追加部分に全く変更がないことを仮定するなら
Aの行数分+nしてmore
821:名無し~3.EXE
07/02/26 19:07:16 9JamE3oB
>>819
---main.bat---
for /f "usebackq" %i in(`call hoge.bat`) call sub.bat %i
---sub.bat---
:loop
echo %1 >>test2.txt
shift
IF %1 GTR "" (goto eof) else goto loop
こんな感じで>>811について一行に10個以上データがある場合を考えてたんだけど、できる?
822:名無し~3.EXE
07/02/26 19:09:14 9JamE3oB
すまんhoge.batじゃない、test.txt
これを試したら10個以上は駄目だったので>>815
shift自体は知ってるんだけどね、言葉足らずごめん
823:名無し~3.EXE
07/02/26 19:11:12 9JamE3oB
うあー、そこ以外に間違いが多すぎる…まあ>>814で済む話だと思うからどうでもいいっちゃどうでもいいんだ
824:名無し~3.EXE
07/02/26 19:23:51 9JamE3oB
連投すまん普通に出来た、昨夜はどっか間違えてただけみたいだ…
∧||∧
( ⌒ ヽ
∪ ノ
∪∪
825:名無し~3.EXE
07/02/26 23:16:24 RAmgQBxU
テキストの中身、例えば
abc( ) cde(f g h i)
っていう行を、スペース分だけ縮めて
abc()cde(fghi)
っていう風にってできますか?
教えてエロイ人。
826:名無し~3.EXE
07/02/26 23:19:26 W0f2oIjo
for /f "delims=" %%1 in (file) do for %%2 in (%%1) do echo %%2
shift使うなら
set x=%1
if defined x ...
827:名無し~3.EXE
07/02/26 23:41:36 W0f2oIjo
>>825
set /?
828:名無し~3.EXE
07/02/27 00:14:03 ssftNQ/p
/f抜きのfor文か、盲点だった
829:名無し~3.EXE
07/02/27 14:06:43 Wu6N02ak
>>818
find /c /v "" <a.txt
で行数
830:名無し~3.EXE
07/03/04 13:20:01 iL3fJNBF
txtsetup.sifの終端起動(?)をバッチファイルで処理することは可能ですか?
831:名無し~3.EXE
07/03/04 13:56:45 dStcZEp+
>>820 トンクス。第一フェーズはクリアできました。
このmoreを使う方法で、+nの開始行だけじゃなく、
終端行も指定できるコマンドはありますか?
832:名無し~3.EXE
07/03/04 17:26:14 Qie4CUoZ
>>831
バッチファイルでこんなのとか…
@echo off
rem hoge.bat 飛ばす行数(+n) 終端行番号
rem の形で実行
setlocal enabledelayedexpansion
set count=%1
for /f "usebackq delims=" %%a in (`more +%1 "C:\hoge.txt"`) do (
if !count! LSS %2 (
set string=%%a
echo !string! >>C:\log.txt
set /a count+=1
) else goto :eof
)
)
goto :eof
どうみても空白行カウントしてません。本当にありがとうございました。
833:名無し~3.EXE
07/03/04 17:50:15 Jl1jH6od
@echo off
rem usage: hoge.cmd 開始行 終了行 ファイル
(for /f "delims=[] tokens=1*" %%0 in ('find /n /v ""') do (
if %%0 gtr %2 goto :eof
if %%0 geq %1 echo;%%1
)
)<%3
834:名無し~3.EXE
07/03/05 02:54:04 MOjVAAUk
>>833
綺麗だなー横から頂いておこう
835:名無し~3.EXE
07/03/05 19:32:27 LVHf9Ynh
礼儀を知らん奴だな
836:名無し~3.EXE
07/03/05 21:33:53 MOjVAAUk
すまん、833ありがとう831じゃないが勉強になった
837:名無し~3.EXE
07/03/06 21:10:05 xCM/ihCx
@ECHO OFF
rem usage: hoge.cmd 開始行 終了行 ファイル
SETLOCAL
(FOR /F %%n IN ('FIND /C /V ""') DO SET /A n=%%n-%2)<%3
SORT /+10000 %3 | MORE +%n% | SORT /+10000 | MORE +%1