1

ディレクトリからファイルを取得しようとしていて、バッチ スクリプトを使用してファイルの名前を変数に設定したいと考えています。

これは私のコードですが、常に同じ値を変数に設定すると、どのボディでも解決策を得ることができます

echo on  
setlocal EnableDelayedExpansion  
for /f %%x in ('dir /b C:\backup_dir') do (  
SET test=%%~nx
if "%test:~0,6%"=="kdc_db" (set DUMP=%%x)  
if "%test:~0,6%"=="kdc_ke" (set KEYS=%%x)  
)  
echo %DUMP%  
echo %KEYS%

ここで、ダンプ変数とキー変数は常に同じ値に設定されます

4

1 に答える 1

2

遅延拡張を使用する必要があります。すでに有効になっています。 を に置き換えるだけ%です!

echo on  
setlocal EnableDelayedExpansion  
for /f %%x in ('dir /b C:\backup_dir') do (  
SET test=%%~nx
if "!test:~0,6!"=="kdc_db" (set DUMP=%%x)  
if "!test:~0,6!"=="kdc_ke" (set KEYS=%%x)  
)  
echo %DUMP%  
echo %KEYS%
于 2012-10-05T08:02:12.627 に答える