使用批处理文件启动带有文件参数的ssdeep

时间:2013-10-07 02:40:07

标签: batch-file windows-7 cmd

我正在尝试使用循环批处理文件来启动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

1 个答案:

答案 0 :(得分: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"