我正在尝试创建一个批处理文件,该文件将循环访问文件夹中的JPG / PNG列表,并使用这些图像名称的前2个字符创建子目录。创建子目录后,它会将图像移动到正确的子文件夹中。
例如,ABC.jpg和DEF.png将创建AB和DE,并将ABC.jpg移动到AB和DEF.png到DE。
我遇到的问题是提取前2个字符并创建子目录。这是我到目前为止的相关代码:
for %%A in (*.jpg,*.png) do (
set _xx=%%A
md %_xx:~0,2%
)
[错误/重复处理,为清楚起见,文件移动本身已被删除]
回显变量_xx显示没有分配给它的值,但是回显%% A会给出正确的文件名。
运行此脚本实际上会创建2个名为“2”和“〜0”
的子目录有什么建议吗?
答案 0 :(得分:2)
您需要使用
setlocal enabledelayedexpansion
位于文件顶部,然后代替
md %_xx:~0,2%
使用
md !_xx:~0,2!