Get-FileHash 在整个 C: 驱动器
Get-FileHash in the entire C: drive
我正在编写一个脚本来收集 C: 驱动器中的所有文件哈希值,但没有抓取所有内容。谁有想法?我尝试了多种方法。
gci -Path C:\ -Recurse | Get-FileHash -Algorithm MD5 | Out-File C:\test.txt
由于您正在计算 file 哈希值,因此使用 -File
开关仅生成 Get-ChildItem
return 文件.
为了也处理隐藏的文件,另外使用-Force
开关。
您必须 运行 带有 elevation 的命令(作为管理员)以确保您可以访问所有文件,尽管它仍然是可能的拒绝访问某些目录和文件。
- 默认情况下,这种情况发生在隐藏的、系统定义的路口,例如在仅为向后兼容而存在的用户配置文件的根目录中(例如,
C:\Users\jdoe\Cookies
);但是,您可以忽略那些,因为它们只是指向其他可以访问的目录。
- 请注意,在这种情况下,
Get-ChildItem
也会忽略任何指向其他驱动器或目录(连接、符号链接、挂载点)的 NTFS 重分析点,即使它们 是 可访问 - 这可能是您想要的。
- 通过使用
-ea SilentlyContinue -ev errs
(-ErrorAction SilentlyContinue -ErrorVariable errs
的缩写),您可以在之后检查数组 $errs
以查看哪些文件,具体而言,无法访问。
# Examine $errs afterwards to see which paths couldn't be accessed.
Get-ChildItem C:\ -Recurse -File -Force -ea SilentlyContinue -ev errs |
Get-FileHash -Algorithm MD5 |
Out-File C:\test.txt
注意:Out-File
cmdlet 将命令输出的 for-display 表示保存到文件中,该文件不是为进一步的编程处理而设计的。
要保存 是 适合后续编程处理的表示,请使用 cmdlet,例如 Export-Csv
.
我正在编写一个脚本来收集 C: 驱动器中的所有文件哈希值,但没有抓取所有内容。谁有想法?我尝试了多种方法。
gci -Path C:\ -Recurse | Get-FileHash -Algorithm MD5 | Out-File C:\test.txt
由于您正在计算 file 哈希值,因此使用
-File
开关仅生成Get-ChildItem
return 文件.为了也处理隐藏的文件,另外使用
-Force
开关。您必须 运行 带有 elevation 的命令(作为管理员)以确保您可以访问所有文件,尽管它仍然是可能的拒绝访问某些目录和文件。
- 默认情况下,这种情况发生在隐藏的、系统定义的路口,例如在仅为向后兼容而存在的用户配置文件的根目录中(例如,
C:\Users\jdoe\Cookies
);但是,您可以忽略那些,因为它们只是指向其他可以访问的目录。 - 请注意,在这种情况下,
Get-ChildItem
也会忽略任何指向其他驱动器或目录(连接、符号链接、挂载点)的 NTFS 重分析点,即使它们 是 可访问 - 这可能是您想要的。 - 通过使用
-ea SilentlyContinue -ev errs
(-ErrorAction SilentlyContinue -ErrorVariable errs
的缩写),您可以在之后检查数组$errs
以查看哪些文件,具体而言,无法访问。
- 默认情况下,这种情况发生在隐藏的、系统定义的路口,例如在仅为向后兼容而存在的用户配置文件的根目录中(例如,
# Examine $errs afterwards to see which paths couldn't be accessed.
Get-ChildItem C:\ -Recurse -File -Force -ea SilentlyContinue -ev errs |
Get-FileHash -Algorithm MD5 |
Out-File C:\test.txt
注意:Out-File
cmdlet 将命令输出的 for-display 表示保存到文件中,该文件不是为进一步的编程处理而设计的。
要保存 是 适合后续编程处理的表示,请使用 cmdlet,例如 Export-Csv
.