首页 > 解决方案 > 在 BATCH 中仅保留部分文件名

问题描述

关于这个问题,我正在尝试调整建议的脚本以适应变化的需求,但失败了。这是上下文:

非常感谢!

标签: batch-file

解决方案


在最里面的for /F循环中,更改"%%A""%%~A"or "%%~fA"。原样,您包含空格的文件名填充%%A有引用的结果。因此,for /F可能正在尝试执行以下操作:

findstr /I "vVariable" ^<""Worker FFM Generator.qcc.2018""

...这是不正确的。添加波浪号将去掉内部引号(如果存在),保持显式引号有效。

以供将来参考,使用@echo on可以帮助您追踪诸如此类的简单错误,让您查看脚本在哪些地方没有按预期运行。

如果您的脚本与您的日志文件不在同一目录中,您还应该在pushd directoryname下面添加@echo off,将包含“Worker FFM Generator 等”的目录的名称放入其中。代替directoryname. 如果您需要脚本递归搜索文件,请将/S开关添加到findstr.


推荐阅读