2014-12-29 29 views
1

想想看,我有这样的结构:循环使用批处理文件目录和粘贴文件夹

E: 
-- /Company/ 
----/- Migrations -/ 
------/- All environments/ 
--------/A/ 
--------/B/ 
--------/C/ 
--------/D/ 

而且我希望到一个文件夹复制例如(E:\企业\文件夹中)到里面的所有文件夹“ - 所有的环境“到文件夹A,B,C和D中。然而,我被困在循环的文件夹,还没有得到我可以复制文件夹的地步。

这是我当前的代码

FOR /D %i in ("E:\Company\- Migrations -\- All environments\*") DO ECHO %i 

我期待呼应文件夹的名称,但没有什么是走出来的,我在做什么错?

回答

1

像往常一样寻找2小时后没有找到答案,我发现它正确后提出这个问题。

正确的语法是

FOR /D %%i in ("E:\Company\- Migrations -\- All environments\*") DO ECHO %%i 
+0

为什么双重%? –

+2

@ V-SHY:从提示符开始,使用单个'%'。在批处理文件中,需要双'%'。 – Magoo

+0

谢谢,学习新东西。请参阅http://support.microsoft.com/kb/75634,“如果两个百分号之间没有字符,则百分号会被删除,另一个将保留。这就是为什么一个与命令相符的FOR命令与.COM扩展每个文件将是 FOR%V IN(* .COM)的DO ECHO%V \t \t \t \t 但如果相同的命令被放置在一个批处理文件,需要以下内容: FOR% %V IN(* .COM)DO ECHO %% V“ –