无法获取值并分配给变量

问题描述 投票:0回答:1

我尝试使用以下方法来获取txt的MD5。将其输出到其他文件并重新扫描。愚蠢的方法,但似乎每次都没有返回任何内容。

(certutil -hashfile %targetfolder%\%baseName%%n%\inventory_2.0.1.bck MD5 | find /v "hash" | find /v "") > rootfs_md5
set /p texte =< D:\script\rootfs_md5
echo %texte%

我尝试了以下一些似乎也返回 null

for /f %%i in (certutil -hashfile %targetfolder%\%baseName%%n%\inventory_2.0.1.bck MD5 | find /v "hash") do set VAR=%%i
echo %VAR%

任何原因

batch-file cmd
1个回答
0
投票

以下是您尝试的每种方法的示例。

使用临时文件:

@Set "FileHash="
@%SystemRoot%\System32\certutil.exe -HashFile "%targetfolder%\%baseName%%n%\inventory_2.0.1.bck" MD5 2>NUL | %SystemRoot%\System32\find.exe /V ":" 1>"D:\script\rootfs_md5"
@If Not ErrorLevel 1 Set /P "FileHash=" 0<"D:\script\rootfs_md5"
@If Defined FileHash Del "D:\script\rootfs_md5" & Echo %FileHash: =%

没有临时文件:

@Set "FileHash="
@For /F "Delims=" %%G In ('%SystemRoot%\System32\certutil.exe -HashFile "%targetfolder%\%baseName%%n%\inventory_2.0.1.bck" MD5 2^>NUL ^| %SystemRoot%\System32\find.exe /V ":"') Do @Set "FileHash=%%G"
@If Defined FileHash Echo %FileHash: =%
© www.soinside.com 2019 - 2024. All rights reserved.