回答編集履歴

2

ファイル名修正

2017/01/24 02:03

投稿

otn
otn

スコア84507

test CHANGED
@@ -46,7 +46,7 @@
46
46
 
47
47
  set last=
48
48
 
49
- for /f "delims=" %%A in (zz.bat) do (
49
+ for /f "delims=" %%A in (index.txt) do (
50
50
 
51
51
  set line=%%A
52
52
 

1

追記

2017/01/24 02:03

投稿

otn
otn

スコア84507

test CHANGED
@@ -31,3 +31,41 @@
31
31
  ```
32
32
 
33
33
  ただ、バッチスクリプトでのテキスト処理は、ファイルにバッチスクリプトでの特殊文字が含まれていると、途端に困難ないし不可能になるので、そういう場合は他のツールを使った方が良いでしょうね。
34
+
35
+
36
+
37
+ #追記(訂正)
38
+
39
+ 質問を読み誤ってました。行末の1文字を削除じゃなくて、最終行のみなんですね。
40
+
41
+ ちょっと面倒ですが、1行ずつ遅らせるしか無い。やっぱり他のツールを使うべきかな。
42
+
43
+ ```DOS
44
+
45
+ @echo off
46
+
47
+ set last=
48
+
49
+ for /f "delims=" %%A in (zz.bat) do (
50
+
51
+ set line=%%A
52
+
53
+ call :sub
54
+
55
+ )
56
+
57
+ echo %last:~0,-1%
58
+
59
+ goto :eof
60
+
61
+ :sub
62
+
63
+ if not "%last%" == "" (
64
+
65
+ echo %last%
66
+
67
+ )
68
+
69
+ set last=%line%
70
+
71
+ ```