我需要设置一个batch file,将文件从一个预设的目录下复制几个层,使用batch file组织到当前目录中的一个文件夹中。
文件结构看起来像这样,
AAA
–0001
—-纹理
—— file1.tga
—— file2.tga
—— file3.tga
–0002
—-材料…
–0003
—-纹理…
–0004
—-剧本…等等
–0005 …
–0006 …
BBB
–0001 …等
—纹理…等
CCC …
DDD …等
我想将每个纹理,材质,模型(等)文件夹移动到父项下的单个文件夹(例如AAA),以便文件夹结构如下所示,所有子文件都是圆形的,
AAA
–textures
–materials
– 楷模
–scripts
我一直在尝试使用类似于此的代码,迄今还没有成功,
('dir / b。\ AAA * \ textures')中的/ d %% a复制“%% a”“。AAA”
通配符将在“AAA”和“纹理”文件夹之间进行。 每隔一代的第二代子文件夹也一样。
我只是尝试了移动文件的另一个版本的命令,而不是文件夹。 我从“AAA”文件夹中启动batch file。
(0001)中的/ d %% a复制“%% a”“。”
我认为这个问题不知道如何正确地input目录通配符到“for”命令,这可能是一个非常简单的修复。
任何帮助将不胜感激超越测量。
把这个代码放在一个.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 /move
移动而不是复制