如何通过批处理文件在文件扩展名后附加字符串

用户名

如何递归检查zip存档的完整性,如何在Windows下通过批处理文件在文件扩展名后附加一个字符串,从而在文件夹中重命名错误的文件?我尝试了此脚本,它没有给我任何错误,但也没有重命名错误的文件。

FOR /R \backup %%A IN (*.zip) DO (
   7z t "%%A" | FIND "Everything is Ok" || ((REN "%%A" "%%A.bad") & (ECHO.%%A BAD >> error.log))
)

我具有PHP脚本编写的经验,并且大致了解此代码块(管道和逻辑OR运算符的含义)。但是,我绝对没有批处理脚本的经验,因此从此来源开始采用了脚本据我了解,该支票会收到“确定”或将一个条目添加到日志文件并重命名该文件。日志条目已添加,但是未应用重命名。我不明白为什么。您能告诉我发生了什么问题以及如何才能按预期工作吗?

莫菲

您可以将此批代码用于您的任务。

@echo off
rem Test all ZIP files recursive from directory backup in root of
rem current drive and append .bad to those ZIP files not validate.
rem The names of those files are additionally written into an
rem error.log text file in current working directory.

for /R "\backup" %%A in (*.zip) do (
   7z.exe t "%%A">nul
   if errorlevel 1 (
      ren "%%A" "%%~nxA.bad"
      echo %%A BAD>>error.log
   )
)

在7-zip的帮助下,有一个有关“退出代码”的页面在此帮助页面上可以看到,任何大于0的值都表示有问题。

因此if errorlevel 1可以用来检查ZIP文件上的测试是肯定的(退出代码为0)还是失败(值大于或等于1)。

输入if /?help if查看有关错误级别的详细信息,请在命令提示符窗口中查看帮助输出if errorlevel 1表示:如果前一个命令的退出代码大于或等于1,则...

进一步的命令ren只需要不带路径作为第二个参数的新文件名,否则它不会重命名带有或不带路径作为第一个参数的指定文件。这就是为什么%%~nxA必须将其用作命令ren的第二个参数以仅引用要重命名的文件的名称和扩展名的原因。命令的帮助输出输入后for /?help for包含文件名的修饰符字母的列表。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

批处理文件:在for循环中附加一个字符串

来自分类Dev

批处理文件以删除扩展名为.bak的文件

来自分类Dev

批处理文件以搜索和替换字符串

来自分类Dev

批处理文件:对具有特定扩展名的每个文件运行命令

来自分类Dev

添加批处理文件扩展名

来自分类Dev

检查文件扩展名后批处理Unrar

来自分类Dev

在批处理文件中串联字符串

来自分类Dev

仅通过批处理文件按扩展名打开文件

来自分类Dev

如何检查文件扩展名并相应地使用Windows批处理文件中的默认程序打开

来自分类Dev

批处理文件,如果字符串以

来自分类Dev

Windows批处理文件-与通配符的字符串比较

来自分类Dev

使用批处理文件以相同的扩展名顺序重命名所有文件

来自分类Dev

批处理文件中的字符串替换问题

来自分类Dev

如何从字符串路径获取文件扩展名

来自分类Dev

如何在批处理文件的字符串末尾附加动态空格

来自分类Dev

了解批处理文件中的for循环以通过替换字符串来重命名文件

来自分类Dev

批处理文件中的Concat字符串

来自分类Dev

批处理文件删除文件扩展名

来自分类Dev

添加批处理文件扩展名

来自分类Dev

检查文件扩展名后批处理Unrar

来自分类Dev

批处理文件文件输出,字符串处理

来自分类Dev

如何使用PowerShell或批处理文件在注册表中修改可扩展字符串值?

来自分类Dev

批处理文件以获取变量的lastlastmodified字符串

来自分类Dev

批处理文件以替换文件名和扩展名中的字符串

来自分类Dev

查找文件中出现的字符串,并通过批处理文件显示“文件名-计数”

来自分类Dev

批处理文件FOR Loop 7-zip提取特定文件扩展名

来自分类Dev

如何检查文件扩展名并相应地使用Windows批处理文件中的默认程序打开

来自分类Dev

使用批处理文件从字符串(文件名)中提取特定部分

来自分类Dev

批处理文件删除指定扩展名的文件

Related 相关文章

  1. 1

    批处理文件:在for循环中附加一个字符串

  2. 2

    批处理文件以删除扩展名为.bak的文件

  3. 3

    批处理文件以搜索和替换字符串

  4. 4

    批处理文件:对具有特定扩展名的每个文件运行命令

  5. 5

    添加批处理文件扩展名

  6. 6

    检查文件扩展名后批处理Unrar

  7. 7

    在批处理文件中串联字符串

  8. 8

    仅通过批处理文件按扩展名打开文件

  9. 9

    如何检查文件扩展名并相应地使用Windows批处理文件中的默认程序打开

  10. 10

    批处理文件,如果字符串以

  11. 11

    Windows批处理文件-与通配符的字符串比较

  12. 12

    使用批处理文件以相同的扩展名顺序重命名所有文件

  13. 13

    批处理文件中的字符串替换问题

  14. 14

    如何从字符串路径获取文件扩展名

  15. 15

    如何在批处理文件的字符串末尾附加动态空格

  16. 16

    了解批处理文件中的for循环以通过替换字符串来重命名文件

  17. 17

    批处理文件中的Concat字符串

  18. 18

    批处理文件删除文件扩展名

  19. 19

    添加批处理文件扩展名

  20. 20

    检查文件扩展名后批处理Unrar

  21. 21

    批处理文件文件输出,字符串处理

  22. 22

    如何使用PowerShell或批处理文件在注册表中修改可扩展字符串值?

  23. 23

    批处理文件以获取变量的lastlastmodified字符串

  24. 24

    批处理文件以替换文件名和扩展名中的字符串

  25. 25

    查找文件中出现的字符串,并通过批处理文件显示“文件名-计数”

  26. 26

    批处理文件FOR Loop 7-zip提取特定文件扩展名

  27. 27

    如何检查文件扩展名并相应地使用Windows批处理文件中的默认程序打开

  28. 28

    使用批处理文件从字符串(文件名)中提取特定部分

  29. 29

    批处理文件删除指定扩展名的文件

热门标签

归档