我需要设置一个批处理文件,该文件将使用批处理文件从预设目录复制文件,将多个图层复制到当前目录中的文件夹中。
文件结构看起来像这样,
AAA
--0001
----纹理
------ file1.tga
------ file2.tga
------ file3.tga
--0002
----材料......
--0003
----纹理...
--0004
----剧本......等 --0005 ...
--0006 ...
BBB
--0001 ......等
---纹理......等 CCC ......
DDD ......等
我想将每个纹理,材质,模型(等)文件夹移动到父项下面的单个文件夹中(例如AAA),以便文件夹结构看起来像这样,所有子文件都是,< / p>
AAA
--textures
--materials
--models
--scripts
我一直在尝试使用与此相似的代码,但尚未成功,
for / d %% a in(&#39; dir / b。\ AAA * \ textures&#39;)复制&#34; %% a&#34; &#34; \ AAA&#34;
而通配符将介于AAA&#39;之间。和&#39;纹理&#39;文件夹。这同样适用于所有其他第二代子文件夹。
我刚刚尝试了另一个版本的命令,它移动了文件,但没有移动文件夹。我从&#34; AAA&#34;中启动批处理文件。文件夹中。
for / d %% a in(0001)do copy&#34; %% a&#34; &#34;&#34;
我认为问题是不知道如何正确地将目录通配符输入到&#34; for&#34;命令,这可能是一个非常简单的修复。
任何帮助都会受到极大的评价。
答案 0 :(得分:1)
将此代码放在.bat
文件中,并在AAA目录中运行
for /f "tokens=*" %%a in ('dir /b') do robocopy %%a . /s /move
for /f "tokens=*"
表示将处理'dir /b'
之后的所有返回值dir \b
将以裸格式列出目录robocopy
是主要命令,将执行复制作业。%%a
是包含迭代子文件夹名称{0001\textures
,0002\materials
,...} .
表示复制到工作目录,在我们的情况下是AAA /s
来搜索子目录/move
移动而不是复制