我正在尝试使用循环批处理文件来启动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窗口。
我不确定如何搜索这些信息。我搜索了批处理文件的信息。到目前为止,我使用这些资源:
和
Batch files : How to leave the console window open
提前致谢,
PTW-105
答案 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"