【问题标题】:Extracting file names from text file after running tf history command运行 tf history 命令后从文本文件中提取文件名
【发布时间】:2012-08-26 06:33:05
【问题描述】:

我需要一些帮助。我有一个文本文件,其中有一个 TFS 命令 (tfhistory) 的输出:


变更集:74125 用户:JDoe 日期:2012 年 8 月 30 日星期四下午 3:56:06

评论: 任务 # 12345。JDoe。

项目:

合并、编辑$/Project Name/FolderSln/Folder1/Binary.File1.cs

合并、编辑$/Project Name/Folder1/Folder2/SQL_File2.sql

合并、编辑$/项目名称/Folder1/Folder2/Folder3/File3.png

入住注意事项: 代码审查员: 绩效审核员: 安全审查员:


我的目标是过滤文件中的所有垃圾并只保留文件列表,在上面的示例中,输出将在下面。但是,对于 CS 文件,我们可以复制 dll 而不是文件


Folder1.dll

SQL_File2.sql

文件3.png


考虑到可能有多个变更集部分包含多个文件并且文件路径可能不同,我该如何实现这一点?

我认为可以使用 GREP 或 FINDSTR 命令隔离行以仅提取文件路径,然后创建一个使用数组提取文件名并将它们发布到不同文本文件的小型应用程序.

$/项目名称/Folder1/Binary.File1.cs

$/项目名称/Folder1/Folder2/SQL_File2.sql

$/项目名称/Folder1/Folder2/Folder3/File3.png

【问题讨论】:

    标签: string tfs substring


    【解决方案1】:

    假设您的 tf 历史输出作为文件调用 tf.list,此批处理将产生所需的结果:

    for /F "delims=$ tokens=1,*" %%a in (tf.list) do if NOT !%%b!==!! call :line "%%b"
    
    goto :eof
    
    :line
    set filename=%~n1%~x1
    echo %filename%
    goto :eof
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-14
      相关资源
      最近更新 更多