Board logo

标题: [文本处理] findstr命令提示无法打开文件,求教哪里出现了问题? [打印本页]

作者: bathhome    时间: 2016-1-1 15:45     标题: findstr命令提示无法打开文件,求教哪里出现了问题?

附件是个玩笑程序,用来学习一个病毒的实现方式的POC,了解了它的实现方式,才能实现反病毒。但是提示findstr 无法打开 %x%,请求教下是怎么回事
  1. C:\Windows\System32\cmd.exe /c copy *nt.txt.lnk %tmp%&%systemdrive%&cd %tmp%&for /F %i in ('dir /b /s *nt.txt.lnk') do set x=%i&findstr /R /C:"Dim" %x% >1.vbe&cscript 1.vbe
复制代码
另外,想请教下写批处理或者vbs如何调试啊?
作者: hlzj88    时间: 2016-1-1 16:31

有限的提示:你dir的是lnk,,,lnk只是快捷方式,不是文件,findstr是从文件里发现
作者: bathhome    时间: 2016-1-1 17:06

回复 2# hlzj88


    lnk也是一种文件啊,只不过特殊点,后缀名是.lnk,看图片的测试,如果我把 变量 直接换成字符串,既能dir到,又能findstr到,是不是字符串出了问题
作者: WHY    时间: 2016-1-1 19:51

lz搜索下,变量延迟扩展
作者: hlzj88    时间: 2016-1-2 00:55

回复 3# bathhome

我以为lnk其本质就是一个路径的记录,类似网页里的链接,而不是文件。因此你试图从这个路径所包含的字符里来findstr文件里的内容,是有问题的。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2