【问题标题】:Use batch file to launch ssdeep with file arguments使用批处理文件启动带有文件参数的 ssdeep
【发布时间】:2013-10-13 12:33:39
【问题描述】:

我正在尝试使用循环批处理文件来启动 CMD 应用程序 ssdeep 并将文件参数传递给它,然后保持 ssdeep 窗口打开以将输出块复制到剪贴板我有以下代码:

@ECHO OFF
:start
SET /p filetohash= What file would you like to fuzzy hash? 
START C:\Users\Josh\Desktop\ssdeep-2.10\ssdeep-2.10\ssdeep.exe %filetohash%
PAUSE
goto start

这允许我运行批处理文件,然后我可以将文件拖放到 CMD 窗口中以散列。按回车键后,ssdeep CMD 窗口会在需要散列文件的那一刻出现,然后关闭。这给我留下了批处理文件生成的第一个窗口,即请求按键。

我想让第二个 CMD 窗口保持打开状态,这样我就可以复制散列。类似于我在批处理文件中使用的 PAUSE,但我需要将其应用于创建的第二个 CMD 窗口。

我不确定如何搜索此信息。我已经搜索了有关批处理文件的信息。到目前为止,我使用了这些资源:

https://superuser.com/questions/582095/how-to-create-a-batch-file-that-will-run-cmd-and-a-exe-with-parameters

Batch files : How to leave the console window open

提前致谢,

PTW-105

【问题讨论】:

    标签: batch-file windows-7 cmd


    【解决方案1】:

    使用 /b 切换到启动命令 - 看看它是否符合您的需要(保留暂停)。

    start "" /b C:\Users\Josh\Desktop\ssdeep-2.10\ssdeep-2.10\ssdeep.exe %filetohash%
    

    如果您在命令中添加了带引号的项目,则空的双引号会保护启动命令。

    试试这个命令在你的桌面上创建hash.txt - 删除pause - 如果它被打印到STDOUT,它应该包含信息。可以对其进行解析以仅提取哈希:如果您将该信息添加到您的问题中,它应该采用我们可以阅读并了解如何解析它的格式。

    start "" /b C:\Users\Josh\Desktop\ssdeep-2.10\ssdeep-2.10\ssdeep.exe %filetohash% >"%userprofile%\desktop\hash.txt"
    

    【讨论】:

    • 这行得通。为了下次更好地学习,有没有办法让它更干净?我猜 /b 开关告诉启动命令在当前窗口中加载结果?现在的输出看起来像这样:你想模糊散列什么文件? C:\Users\Josh\Desktop\ACM\acm\addons\FHQ _Accessories_v1.2.7z 按任意键继续。 . . ssdeep,1.1--blocksize:hash:hash,filename 393216:ImlppcDhQ7qSB9rr1RwSc8pIwMSAx4A7CyCCAlRVEznjrI3OrtBEblXevxumZEnB:ImlrVX1R Dcvvx7CLC2/Enf25XUxjMCc,"C:\Users\Josh\Desktop\ACM\acm\add
    • 感谢您的快速回复。此时我试图不将文件导出到磁盘。 "" /b 已经解决了我的问题并使这项工作正常工作。感谢您的宝贵时间。
    猜你喜欢
    • 2015-02-20
    • 1970-01-01
    • 2019-01-27
    • 1970-01-01
    • 1970-01-01
    • 2016-04-24
    • 1970-01-01
    • 1970-01-01
    • 2021-12-19
    相关资源
    最近更新 更多