質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Q&A

解決済

1回答

1014閲覧

csvファイルを読み込んで、ハッシュ値を取得するバッチを作成したい

infra____

総合スコア90

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

0グッド

0クリップ

投稿2022/01/18 12:14

現在、下記のような状態で困っております。解決策をご教示頂けますと幸いです。
実現したことは、2行分のcsvファイルを読み込み、保存先のパスに格納されているファイルのハッシュ値をファイル分取得したいです。
現状は、下記の通りです。

■期待する結果
2種類のハッシュ値×2が出力される。

■現在の出力結果
1種類のハッシュ値×4が出力される。

bat

1 2for /f "tokens=1,2* delims=," %%a in (ファイル) do ( 3 4for /f "tokens=1,2" %%A in ('コマンド') do if %%A == "ETag": set X=%%B 5set X=%X:"=% 6set X=%X:,=% 7echo %X% 8 9for /f "tokens=1,2" %%A in ('コマンド') do if %%A == "ETag": set X=%%B 10set X=%X:"=% 11set X=%X:,=% 12echo %X% 13) 14

ファイルの中身
aaa(ファイル名),bbb(保存先のパス)
ccc(ファイル名),ddd(保存先のパス)

コマンドの出力結果
{
"AcceptRanges": "bytes",
"LastModified": "Sat, 11 Jul 2020 16:29:05 GMT",
"ContentLength": 54331,
"ETag": ""177238eb55e3042bf9cbecf3ba5aaf35"",
"ContentType": "text/html",
"Metadata": {}
}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

for文の中の%変数名%は、forの実行直前の値で展開されます。
つまり、複数回出てくる%X%は、1行目のforの前の時点の値になります。

方法は複数ありますが、例えば遅延環境変数展開を使う。これだと!X!の時点の値で展開されます。

CMD

1setlocal enabledelayedexpansiom 2for /f "tokens=1,2* delims=," %%a in (ファイル) do ( 3 4for /f "tokens=1,2" %%A in ('コマンド') do if %%A == "ETag": set X=%%B 5set X=!X:"=! 6set X=!X:,=! 7echo !X! 8 9for /f "tokens=1,2" %%A in ('コマンド') do if %%A == "ETag": set X=%%B 10set X=!X:"=! 11set X=!X:,=! 12echo !X! 13)

投稿2022/01/18 13:01

otn

総合スコア84423

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問