尝试为校验和文件创建验证过程
Trying to create a verification process for checksum files
我在网络上的两个不同位置有两个校验和文件,我需要验证它们是否相互匹配,如果不匹配则输出 ** UNVERIFIED **
。所以需要做的是我需要一次将两个文件读入一个变量,然后相互检查变量以进行验证。
我尝试过的:
:verify_integrity
set "verf_integrity_src_file=\ROCIO-148084\c$\Users\z-perkins-thomas\Documents\bin\batch\verf"
set "verf_integrity_dst_file=%cd%\docs\checksum.md5"
pushd "%verf_integrity_src_file%"
setlocal enabledelayedexpansion
set content_src=
for /f "delims=" %%x in (%verf_integrity_src_file%\checksum.md5) do (set content_src=!content_src! %%x)
endlocal
setlocal enabledelayedexpansion
set content_dst=
for /f "delims=" %%y in (%verf_integrity_dst_file%) do (set content_dst=!content_dst! %%y)
endlocal
@echo %content_dst%==%content_src%
这将不会输出任何内容 -> "=="
其次,我尝试了一些类似的方法:
:verify_integrity
set "verf_integrity_src_file=\ROCIO-148084\c$\Users\z-perkins-thomas\Documents\bin\batch\verf"
set "verf_integrity_dst_file=%cd%\docs\checksum.md5"
pushd "%verf_integrity_src_file%"
set verf_src=
for /f "delims=" %%x in (%verf_integrity_src_file%\checksum.md5) do set verf_src=%verf_src% %%x
set verf_dst=
for /f "delims=" %%y in (%verf_integrity_dst_file%) do set verf_dst=%verf_dst% %%y
@echo %verf_src%
goto :verify_argv
这将输出校验和文件中的最后一行 -> 22534f499bc7755d58412327853c8d9a *./zip-archive/utilis0.1.zip
所以我的问题是,如何将两个文件读入内存,并验证它们是否相互匹配?
要检查两个文件是否相同,请使用 fc:
如果您确定这两个文件都存在,那么很简单:
fc "file1.ext" "file2.ext" >nul || echo ** UNVERIFIED **
如果不是,请明确检查 %errorlevel%
:
-1 Invalid syntax (e.g. only one file passed)
0 The files are identical.
1 The files are different.
2 Cannot find at least one of the files.
我在网络上的两个不同位置有两个校验和文件,我需要验证它们是否相互匹配,如果不匹配则输出 ** UNVERIFIED **
。所以需要做的是我需要一次将两个文件读入一个变量,然后相互检查变量以进行验证。
我尝试过的:
:verify_integrity
set "verf_integrity_src_file=\ROCIO-148084\c$\Users\z-perkins-thomas\Documents\bin\batch\verf"
set "verf_integrity_dst_file=%cd%\docs\checksum.md5"
pushd "%verf_integrity_src_file%"
setlocal enabledelayedexpansion
set content_src=
for /f "delims=" %%x in (%verf_integrity_src_file%\checksum.md5) do (set content_src=!content_src! %%x)
endlocal
setlocal enabledelayedexpansion
set content_dst=
for /f "delims=" %%y in (%verf_integrity_dst_file%) do (set content_dst=!content_dst! %%y)
endlocal
@echo %content_dst%==%content_src%
这将不会输出任何内容 -> "=="
其次,我尝试了一些类似的方法:
:verify_integrity
set "verf_integrity_src_file=\ROCIO-148084\c$\Users\z-perkins-thomas\Documents\bin\batch\verf"
set "verf_integrity_dst_file=%cd%\docs\checksum.md5"
pushd "%verf_integrity_src_file%"
set verf_src=
for /f "delims=" %%x in (%verf_integrity_src_file%\checksum.md5) do set verf_src=%verf_src% %%x
set verf_dst=
for /f "delims=" %%y in (%verf_integrity_dst_file%) do set verf_dst=%verf_dst% %%y
@echo %verf_src%
goto :verify_argv
这将输出校验和文件中的最后一行 -> 22534f499bc7755d58412327853c8d9a *./zip-archive/utilis0.1.zip
所以我的问题是,如何将两个文件读入内存,并验证它们是否相互匹配?
要检查两个文件是否相同,请使用 fc:
如果您确定这两个文件都存在,那么很简单:
fc "file1.ext" "file2.ext" >nul || echo ** UNVERIFIED **
如果不是,请明确检查 %errorlevel%
:
-1 Invalid syntax (e.g. only one file passed)
0 The files are identical.
1 The files are different.
2 Cannot find at least one of the files.