【发布时间】:2016-12-22 23:37:20
【问题描述】:
我有一个txt文件:
#deployment.properties
#Thu Dec 22 13:48:41 PST 2016
deployment.modified.timestamp=1482443321245
deployment.roaming.profile=false
deployment.version=8
deployment.browser.path=C\:\\Program Files\\Internet Explorer\\iexplore.exe
#Java Deployment jre's
#Thu Dec 22 13:48:41 PST 2016
deployment.javaws.jre.1.location=http\://java.sun.com/products/autodl/j2se
deployment.javaws.jre.0.args=
deployment.javaws.jre.0.registered=true
deployment.javaws.jre.1.args=
deployment.javaws.jre.1.enabled=false
deployment.javaws.jre.1.registered=true
deployment.javaws.jre.0.osarch=x86
deployment.javaws.jre.0.osname=Windows
deployment.javaws.jre.1.product=1.6.0_45
deployment.javaws.jre.0.platform=1.8
deployment.javaws.jre.0.path=C\:\\Program Files (x86)\\Java\\jre1.8.0_111\\bin\\javaw.exe
deployment.javaws.jre.0.location=http\://java.sun.com/products/autodl/j2se
deployment.javaws.jre.1.path=C\:\\Program Files (x86)\\Java\\jre6\\bin\\javaw.exe
deployment.javaws.jre.0.enabled=false
deployment.javaws.jre.1.osarch=x86
deployment.javaws.jre.1.osname=Windows
deployment.javaws.jre.1.platform=1.6
deployment.javaws.jre.0.product=1.8.0_111
在我的批处理文件中,我运行命令将包含单词 product 的任何行输出到文本文件:
findstr /n "product" C:\myfile.txt > product.txt
文件始终为空,但字符串存在于原始文本文件中。为什么显示为空白?
【问题讨论】:
-
如果您尝试将文件写入 C: 驱动器的根目录,则会出错。默认情况下,您无权写入 C: 的根目录。您的输入文件是 Unicode 吗?如果是这样,请使用 FIND 命令。
-
@Squashman 抱歉,它实际上不在 C:\ root 中,它在我也有权限的目录中。查找工作,但它会导致一些奇怪的输出。它打印一些连字符、文件路径和行。我只是对这条线感兴趣。我可以做些什么来打印这条线吗?我看了下find选项好像不像?在我找到之前是否有将输入文件转换为正确编码的命令?
-
啊,我只是尝试通过管道传输它:find /n "product" C:\myfile.txt > product.txt | findstr /n "product" 现在它可以工作了!谢谢!
-
type "C:\myfile"可用于进行转换:type "C:\myfile" | findstr /N "product" > "product.txt"
标签: windows batch-file scripting