teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

改善策を思いついたので追加します。参考にしてください。

2015/11/06 11:28

投稿

catsforepaw
catsforepaw

スコア5944

answer CHANGED
@@ -13,4 +13,23 @@
13
13
  if "%1" == "file" echo %ID%,%~nx2
14
14
  ```
15
15
  引数にファイル名を指定して実行すると、結果を標準出力に出力します。
16
- とりあえず「入力ファイルの内容」を渡して「下記の形式のファイル」が出力されたことは確認しましたが、ファイルパスに"="が混ざっているとうまく動きません。いろんなパターンに対応させるにはさらに工夫が必要です。
16
+ とりあえず「入力ファイルの内容」を渡して「下記の形式のファイル」が出力されたことは確認しましたが、ファイルパスに"="が混ざっているとうまく動きません。いろんなパターンに対応させるにはさらに工夫が必要です。
17
+
18
+ ★改良版
19
+ ```ここに言語を入力
20
+ @echo off
21
+ setlocal
22
+
23
+ for /F "eol=#" %%A in (%1) do call :procline "%%A"
24
+ goto :eof
25
+
26
+ :procline
27
+ set LINE=%~1
28
+ if "%LINE:~0,3%" == "id=" set ID=%LINE:~3%
29
+ if "%LINE:~0,5%" == "file=" call :output %ID% "%LINE:~5%"
30
+ goto :eof
31
+
32
+ :output
33
+ echo %1,%~nx2
34
+ ```
35
+ 環境変数の参照で文字数指定ができることを思い出しました。こっちの方が問題は少ないかと思います。