- PR -

batファイルでファイルを読み込む方法

1
投稿者投稿内容
ア太郎
常連さん
会議室デビュー日: 2004/02/03
投稿数: 22
投稿日時: 2004-10-04 17:16
環境:Windows2003Server、Windows2000

batファイルで、指定したのファイルの内容を
変数に読み込む方法ってないですか?

■テキストファイル(C:\temp\test.txt)の内容〜〜〜
0200410041000050
102あああ 4562233
102あああ 4562233
102あああ 4562233
102あああ 4562233
102あああ 4562233
91230000
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

これの1行目を読み込んで、
2バイト目から8バイト(日付:20041004)を
変数に取得したいのですが。。。
にしざき
ぬし
会議室デビュー日: 2003/06/30
投稿数: 304
投稿日時: 2004-10-04 17:21
引用:

ア太郎さんの書き込み (2004-10-04 17:16) より:
環境:Windows2003Server、Windows2000

batファイルで、指定したのファイルの内容を
変数に読み込む方法ってないですか?




for /f について調べてみてください。

と書いてから気づいたのですが、これだと「先頭行の」っていうのを満たさないかも。

[ メッセージ編集済み 編集者: にしざき 編集日時 2004-10-04 17:25 ]
にしざき
ぬし
会議室デビュー日: 2003/06/30
投稿数: 304
投稿日時: 2004-10-04 17:44
@echo off
set foo=@
for /f "delims=@" %%f in ( test.txt ) do if "!foo!" == "@" set foo=%%f
echo !foo:~2,8!

てなもんでどうでしょうか。

忘れてた。
cmd /v で起動したセッションでないと、!foo!が使えませんのでご注意下さい。

[ メッセージ編集済み 編集者: にしざき 編集日時 2004-10-04 17:47 ]
ア太郎
常連さん
会議室デビュー日: 2004/02/03
投稿数: 22
投稿日時: 2004-10-04 18:23
■test.batの内容〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
set foo=@
for /f "delims=@" %%f in (c:\test.txt) do if "!foo!" == "@" set foo=%%f
echo !foo:~1,8!
pause
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

C:\>cmd /V:ON /C CALL test.bat>test.bat

上記のやり方でうまく取得することができました。
ありがとうございました。


[ メッセージ編集済み 編集者: ア太郎 編集日時 2004-10-04 18:40 ]

[ メッセージ編集済み 編集者: ア太郎 編集日時 2004-10-04 18:53 ]
1

スキルアップ/キャリアアップ(JOB@IT)