1

FOR /Fバッチファイル内のファイル「last_bkp_date.txt」の値にアクセスしていました。

の結果%%aは問題ありませんが、 に値を割り当てることができませんv_abc

set v_abc =ループの前に、for特にこの変数に対して行われた過去の割り当てを削除/削除するために使用しました。

誰かがこれについて私を助けることができますか?

@SETLOCAL EnableDelayedExpansion
@echo off

set v_abc =

FOR  /F "tokens=1 usebackq" %%a IN (last_bkp_date.txt) DO (  
  set v_abc =%%a
  echo value of a: %%a
  echo value of abc: !v_abc!
)
4

2 に答える 2

2

構文はSET variable=value. あなたの問題は、変数名と=記号の間のスペースです。

これを試してみてください

set v_abc=%%a

そしてほら!

これは、Windows 環境変数名にスペースを含めることができるためです。ただし、お勧めしません。問題の代替解決策として、この方法でスペースを含む変数にアクセスできます

echo value of abc: !v_abc !
于 2013-03-22T07:50:08.493 に答える
2

変数名の後にスペースを追加するという単純な新人ミス ( set v_abc =%%a)。

どちらかで修正できます

  1. set v_abc =%%aに変更set v_abc=%%a

    または

  2. に変わりecho Value of abc: !v_abc!ますecho Value of abc: !v_abc !

単純。

于 2013-03-22T07:52:15.400 に答える