[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 WHY 于 2021-1-11 09:24 编辑

真的好神奇。
怀疑是文件清单结尾带有不可见字符,如:多余的空格、tab符、多余的回车符等。
试试用Notepad++、UltraEdit 等16进制文本编辑软件打开看看吧。
可以的话用附件发一个文件清单让大家测试。

TOP

本帖最后由 WHY 于 2021-1-12 09:20 编辑

文件列表是 Excel 文件,估计是转换成 txt 的时候出问题了。
以下脚本保存为 Test.bat,编码选 ANSI,与 哈希值校对.xlsx 存放在同一个目录,xlsx不需要转换成txt
右键单击 Test.bat,选择 "以管理员身份运行"。我测试没有问题。
  1. @if(0)==(0) echo off
  2. for /f "tokens=*" %%i in ('cscript //nologo //e:jscript "%~f0" "%~dp0哈希值校对.xlsx"') do (
  3.     if exist "%%~fi" del /f /a /q "%%~fi"
  4. )
  5. pause & exit
  6. @end
  7. var objExcel = new ActiveXObject('Excel.Application');
  8. objExcel.Visible = true;
  9. //objExcel.DisplayAlerts = false;
  10. var objBook  = objExcel.WorkBooks.Open(WSH.Arguments(0));
  11. var objSheet = objBook.WorkSheets(1);
  12. var rows = objSheet.UsedRange.Rows.Count + 1;       //sheet1 行数
  13. for(var i=1; i<=rows; i++){
  14.     var v2 = objSheet.Cells(i, 2).Value;            //第2列,文件路径
  15.     var v5 = objSheet.Cells(i, 5).Value;            //第5列,校验结果
  16.     if( v2 != null && v5 == '错误' ) WSH.Echo( v2 );
  17. }
  18. objBook.Close();
  19. objExcel.Quit();
复制代码

TOP

返回列表