【问题标题】:Batch, For file search批处理,用于文件搜索
【发布时间】:2018-02-13 15:36:28
【问题描述】:

我有这个代码:

 H:  
 for /r %%x in (*textfile.txt) do ( 
    findstr "V%String%.$" "%%x"
    if not ERRORLEVEL 1 (
       set Location=%%x
       GOTO NEXT
       )
    )

太慢了。我想这样做:for /r %%x in (H:\**\folderA\folderB\**\textfile.txt) do (...) 但它没有找到真正的结果。

【问题讨论】:

  • 您永远不会在您的 DO 声明中使用 %%x...
  • 您能否在For 循环之前提供代码并解释您想要FindStr 的内容。还要添加,LABEL 是否是完整的文件名,(即它没有扩展名),以及它是否是 ASCII 文本类型。您能否解释一下** 应该代表什么以及您希望对结果做什么。所有这些信息都应该由editing it 附加到您的原始问题中,而不是通过将其添加到评论区
  • 我看到您已经编辑了您的问题,但仍然没有提供For 循环之前的代码。因此,请您告诉我们%String% 的内容可能是什么,FindStr 可能很挑剔)。您能否确认您正在查找名为textfile.txt 的文件中的一行,该文件位于包含路径\folderA\folderB\ 的任何目录树内的H:\ 内。您能否另外确认您正在寻找该文件中以<upper case V><case sensitive %String% content><any single character> 结尾的行。
  • 我正在寻找一个结束这个字符串的行。我在不同键的不同文件夹中有 100 多个文本文件,我想获得与我相同的位置。我从我的密钥中知道,它在 H:**\folderA\folderB**\textfile.txt 中。
  • 这开始变得乏味了!我再问一次,** 是什么意思?并请提供%String%的内容

标签: batch-file for-loop search


【解决方案1】:

您的目录不正确。您需要在文件之前添加用户(至少在我的电脑上)

例如,要访问桌面上的文件夹 A 和文件夹 B,我会使用 C:\Users\Elliot\Desktop\folderA\folderB\**\LABEL

【讨论】:

    猜你喜欢
    • 2010-09-19
    • 2022-11-28
    • 2011-11-17
    • 1970-01-01
    • 2014-05-01
    • 2010-11-29
    • 2016-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多