回答編集履歴
2
ファイル名修正
answer
CHANGED
@@ -22,7 +22,7 @@
|
|
22
22
|
```DOS
|
23
23
|
@echo off
|
24
24
|
set last=
|
25
|
-
for /f "delims=" %%A in (
|
25
|
+
for /f "delims=" %%A in (index.txt) do (
|
26
26
|
set line=%%A
|
27
27
|
call :sub
|
28
28
|
)
|
1
追記
answer
CHANGED
@@ -14,4 +14,23 @@
|
|
14
14
|
:sub
|
15
15
|
echo %line:~0,-1%
|
16
16
|
```
|
17
|
-
ただ、バッチスクリプトでのテキスト処理は、ファイルにバッチスクリプトでの特殊文字が含まれていると、途端に困難ないし不可能になるので、そういう場合は他のツールを使った方が良いでしょうね。
|
17
|
+
ただ、バッチスクリプトでのテキスト処理は、ファイルにバッチスクリプトでの特殊文字が含まれていると、途端に困難ないし不可能になるので、そういう場合は他のツールを使った方が良いでしょうね。
|
18
|
+
|
19
|
+
#追記(訂正)
|
20
|
+
質問を読み誤ってました。行末の1文字を削除じゃなくて、最終行のみなんですね。
|
21
|
+
ちょっと面倒ですが、1行ずつ遅らせるしか無い。やっぱり他のツールを使うべきかな。
|
22
|
+
```DOS
|
23
|
+
@echo off
|
24
|
+
set last=
|
25
|
+
for /f "delims=" %%A in (zz.bat) do (
|
26
|
+
set line=%%A
|
27
|
+
call :sub
|
28
|
+
)
|
29
|
+
echo %last:~0,-1%
|
30
|
+
goto :eof
|
31
|
+
:sub
|
32
|
+
if not "%last%" == "" (
|
33
|
+
echo %last%
|
34
|
+
)
|
35
|
+
set last=%line%
|
36
|
+
```
|