编写批处理程序以重命名文件

时间:2014-06-04 09:47:55

标签: batch-file executable renaming

绅士和女人,有关编程的一个问题:

我需要编写一个程序来批量重命名文件,在以下条件下:

  1. 所有文件都在目录中。可以是与可执行文件相同的目录,如果这样可以简化路径。

  2. 所有文件都是.pdf,但我相信这无关紧要。

  3. 所有文件都以两位数前缀开头,范围从01到99 例如:01_FileNameOriginal1.pdf; 02_FileNameOriginal2.pdf 这个两位数需要留下来。

  4. 必须将所有名称修改为预定义的文件名范围(数据库类型),这些文件名可嵌入可执行文件中,或从外部文件中读出(即.txt,.csv,最可行的任何名称) )。 例如:01_NewName1.pdf; 02_NewName2.pdf; ...

  5. 某些原始文件名包含有效期,标记为“EXP YYYY MMM DD”,并且应以不同的格式附加到新名称:“e_YYYY_MM_DD”。所以基本上它需要能够使用“for”语句(循环文件的数量),以及“if”语句来搜索“EXP”(匹配的情况),剪切字符串并以重新排列的格式追加在文件扩展名之前。

  6. 程序的结果可以是重命名,也可以返回重命名的副本。前者似乎更容易做到。

  7. 总结一下: 第1步:运行程序 第2步:整数=文件数 第3步:循环:  3.A检查前两位数,复制到临时字符串。  3.B将临时字符串与预定义文件名数组进行比较。该阵列可以嵌入代码中,也可以从外部读取。出于用户友好的考虑,以后从.csv进行外部读取似乎更容易修改文件名。  3.C重命名或不重命名。如果匹配:

    • 假设旧文件具有以下名称:01_FileNameOriginal EXP YYYY MM DD Excessivetext.pdf
    • 将前两位数字复制到temp2字符串
    • 扫描EXP的旧名称(文件名长度,if =“EXP”,匹配大小写)并剪切以下10个字符。将YYYY,MM和DD放在单独的字符串中。现在,所有基本值都是从旧文件名中提取的。
    • 将dbl数字与数据库中文件名的前两位数字相匹配。将新名称复制到临时字符串。
    • 使用新名称重命名文件:例如01_NewName.pdf
    • 在扩展名前附加日期字符串:例如01_NewName_e_YYYY_MM_DD.pdf
    • 注意:只要空格被下划线替换,就可以在单个字符串中提取日期。程序可能更短。

    如果不匹配:复制旧文件名,并将其放在临时字符串中,在过程结束时作为错误(或.txt)文件返回,文件名无法重命名。 第4步:完成并返回错误或报告(见上文)

    问题: 基于这些条件,最简单的入门方法是什么?是否有可以做这种事情的免费软件程序。如果不是最好的方法是什么。我有基本的编程知识(Java / VBA),一些小的C ++工作但没什么了不起的。我只编程在编程环境中,从未生成任何可执行文件或批处理文件或类似的东西,所以我不知道如何启动atm,但不介意给它一个机会。只要它是一个引导射击,而不是黑暗中的那个,就像我现在的位置。

    很想听听有关这方面的一些想法。

    问候

    的Wouter

0 个答案:

没有答案