我有一个目录,其中包含一些具有特定模式的其他目录。所有子目录都以序号和点和空格开头。然后是字符串B8Y
,它总是相等的,然后是另一个随机数。这是一个示例文件夹结构:
1. B8Y000037938
2. B8Y000044394
3. B8Y000069434
4. B8Y000078238
5. B8Y000094627
现在我想循环遍历那些目录,调用另一个脚本。我将此代码用于任务:
for /d %%t in (%MAIN_FOLDER%\*B8Y*) do (
echo "Processing %%~nt"
if "%~2"=="" (
call %PATH_TO_MY_SCRIPT% %%~ft
) else (
call %PATH_TO_MY_SCRIPT% %%~ft %2
)
)
如果我没有将第二个参数传递给脚本,我希望输出如下:
Processing 1. B8Y000037938
而是输出
Processing 1
并使用之前未设置的第二个参数调用第二个脚本,现在为B8Y000037938
。
当我用.<space>
替换-
时,一切都按预期运行,所以我认为.<space>
导致问题。但我不想手动甚至重命名所有文件夹
如果它可以自动完成,我宁愿不更改文件夹名称。有人知道,如何完成这项任务?
答案 0 :(得分:0)
尝试使用%%~nxt
代替%%~nt
。
~nt表示t
的名称
~nxt表示命名为扩展名 - .whatever
是扩展名...