DOS相当于Unix“查找”命令?

时间:2015-02-04 19:09:58

标签: linux cmd find dos

我希望能够使用DOS而不是gui界面在Windows机器上搜索文件。例如,在Linux上,我使用:

找到。 -name" *。c" -exec grep -Hn" sqlcommand" {} \;

有没有与ms-dos类似的东西?

感谢。

3 个答案:

答案 0 :(得分:3)

在使用Unix系统很长时间后,我不得不在Windows上制作一些脚本。 对于严肃的脚本,Powershell是您应该使用的工具。 您可以使用powershell find string in file等关键字搜索互联网, 或其他组合,你会发现很多信息。 这就是问题,像

这样简单的oneliner
get-childitem C:\yourdir -include *.c -recursive |Select-String -pattern sqlcommand

不会帮到你。您需要找到PowerShell IDE,学习不同的语法并尝试爱/接受新的东西。

当您想要更频繁地执行这些操作时,准备使用PowerShell进行研究,或者尝试在Windows上获得类似Unix的环境(cygwin,或更好的Windows操作)

答案 1 :(得分:2)

这需要两个DOS命令的组合:

  • FOR /F ["options"] %variable IN ('command') DO command [command-parameters]

  • DIR /B /O:N /W *.c(这是上面'command'命令中提到的FOR

按如下方式创建CMD脚本:

@ECHO OFF

FOR /F %%B IN ('DIR /B /O:N /W *.cs') DO (
    findstr /I /N /C:"sqlcommand" %%B
)

OR ,只需使用此Unix命令端口中的find命令:

http://unxutils.sourceforge.net/

http://sourceforge.net/projects/unxutils/

(两个链接应该是同一个项目)

答案 2 :(得分:0)

在DOS中也有一个FIND命令,但它的工作方式与Linux shell中的find不同。

语法: FIND [/V] [/C] [/N] [/I] "string" [[drive:][path]filename[...]]

其中:

/V显示所有不包含指定字符串的行。

/C仅显示包含字符串的行数。

/N显示带有显示行的行号。

/I在搜索字符串时忽略字符大小写。

https://en.wikipedia.org/wiki/Find_%28command%29