【问题标题】:how to read file name from folder by extension using command line如何使用命令行按扩展名从文件夹中读取文件名
【发布时间】:2020-08-10 11:48:10
【问题描述】:

我有根文件夹的路径。我想在该文件夹下获取带有“.txt”扩展名的文件名。

例如 我的根路径是“D:\SVN\ISG-RMG\Vendorpayment2.0\Branches\VPSAPITest\TestResults”。

这个路径下有很多文件和子文件夹。

我想在给定路径下搜索 .txt 文件,并希望将 .txt 文件名分配给批处理文件中的变量并回显其名称。

怎么办?

【问题讨论】:

  • 收到错误“%%i 此时出乎意料。”并且“do set result”是您要为我写的命令或其英文句子。请建议。提前致谢
  • 你是作为批处理文件还是从 cmd 运行的?
  • 我使用 cmd 窗口来运行你的命令。我要保存 .bat 并运行它吗?
  • 从 cmd 使用单个 % 批量使用 %%
  • 谢谢我的名字。现在我想要一个修改。在给定的路径下,我的应用程序将生成一个文件夹,其名称未知。但是在新生成的文件夹下我想搜索.txt文件,它应该回显“新文件夹名\txtfile.txt。你能建议如何实现吗?

标签: batch-file command-line


【解决方案1】:

来自cmd

@for /f "delims=" %i in ('dir /b /a-d "D:\SVN\ISG-RMG\Vendorpayment2.0\Branches\VPSAPITest\TestResults\*.txt"') do @set "result=%i"

在批处理文件中。

@echo off
for /f "delims=" %%i in ('dir /b /a-d "D:\SVN\ISG-RMG\Vendorpayment2.0\Branches\VPSAPITest\TestResults\*.txt"') do set "result=%%i"
echo %result%

【讨论】:

    【解决方案2】:

    以下命令在 /home/username/ 目录和所有子目录中搜索 *.txt 文件。

    Windows 命令(此命令未经测试,因为我使用的是 Linux):

    dir /home/username/ *.txt  
    

    Linux 命令:

    find /home/username/ -name "*.txt"
    

    【讨论】:

    • 但是我将如何将此文件名存储在变量中并回显它?
    • 这不是问题所要求的,即使是你的命令也会失败。
    • 你试过windows命令吗?抱歉,我使用 Linux 时无法测试此命令。 Linux 命令经过测试。
    • 正如我的评论中所述,Windows 的命令将不起作用,它也不是问题的答案,因为 OP 希望将结果分配给变量。是的,Linux 命令有效,但这个问题与 linux 无关,即使是,它仍然不会将结果分配给变量。
    猜你喜欢
    • 2014-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-19
    相关资源
    最近更新 更多