【问题标题】:Get FCIV to scan hidden files within a batch script获取 FCIV 以扫描批处理脚本中的隐藏文件
【发布时间】:2020-01-04 10:27:12
【问题描述】:

我正在尝试使用批处理脚本从机器上散列所有或大部分文件。我认为直截了当的当然不是因为 FCIV 不会扫描隐藏文件。我尝试创建一个 for 循环来扫描各个文件本身,但在命令行中有效的在批处理文件中无效。

我会转到驱动器的根目录并尝试这样做:

FCIV -r -both c:\

但是我注意到很多文件丢失了(即使是管理员),其中大部分是隐藏文件。

谢谢, 任何帮助将不胜感激。

【问题讨论】:

    标签: cmd fciv


    【解决方案1】:

    我将这个 sn-p 代码用于 CertUtil,它也可能适用于 FCIV

    cd /d %targetDir%
    for /r %%e in (*) do (
        if exist "\\?\%%e" (
            FOR /F "tokens=* USEBACKQ" %%F IN (`certutil -hashfile "\\?\%%e" %hashType% ^| findstr /v "certutil hash"`) DO (SET var=%%F)
            echo !var! "%%e" >> %hashDatabaseOutput%
            SET /A fileCount += 1
        ) else (
            echo ERROR 1 - Failed to Hash file, File or Directory contains special characters >> %errorlog%
            echo %%e >> %errorlog%
            echo.>> %errorlog%
        )
    )
    cd /d "%workingDir%"
    

    我和你有类似的问题,我正在扫描 C:\ 中的一些文件,但这些不是隐藏文件。

    编辑:似乎使用此方法没有区别,因为即使将文件路径提供给 FCIV,散列也会失败,因为它找不到文件。你可以在这里查看我的问题https://stackoverflow.com/questions/62111957/fciv-fails-to-find-some-files-when-hashing-c-drive

    EDIT2:找到根本原因,它是由于您尝试扫描 C:\Windows\System32 中的文件时重定向引起的。一个人在这里解释得很清楚 The system cannot find the path specified

    由于 FCIV 只有 32bit 模式,唯一的解决方案是使用 64bit 的 rHash 等其他散列程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-16
      • 2019-01-08
      • 1970-01-01
      相关资源
      最近更新 更多