Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 批处理文件以创建文件夹(如果已存在另一个文件夹)_Batch File - Fatal编程技术网

Batch file 批处理文件以创建文件夹(如果已存在另一个文件夹)

Batch file 批处理文件以创建文件夹(如果已存在另一个文件夹),batch-file,Batch File,如果父位置中存在folder1,则尝试创建folder2。。似乎无法使它工作。尝试使用powershell,但由于某些原因,它不会从服务器上运行,因此我尝试使用批处理来完成 for /f "delims=|" %%s in ('dir /ad/b') ( if exists "%%s\Folder1" do md "%%s\Folder2" ) 注意:缺少DO;开括号必须与DO在同一物理行上存在,而不是存在DO错误地包含在IF语句中 ----------注意上面的修正文本^^^^^^^^ 演

如果父位置中存在folder1,则尝试创建folder2。。似乎无法使它工作。尝试使用powershell,但由于某些原因,它不会从服务器上运行,因此我尝试使用批处理来完成

for /f "delims=|" %%s in ('dir /ad/b') 
(
if exists "%%s\Folder1" do md "%%s\Folder2"
)
注意:缺少
DO
;开括号必须与
DO
在同一物理行上<代码>存在,而不是
存在
DO
错误地包含在
IF
语句中

----------注意上面的修正文本^^^^^^^^

演示批次:

@ECHO关闭
SETLOCAL
PUSHD U:\sourcedir
回声========在…VVV之前
目录/ad U:\sourcedir\err12
::确保缺少文件夹1。。。
RD err12\Folder1 2>nul
对于('dir/ad/b')中的/f“delims=|”%%s,请执行以下操作(
如果存在“%%s\Folder1”md“%%s\Folder2”
)
ECHO=====在…VVV之后(没有folder1,因此没有创建folder2)
目录/ad U:\sourcedir\err12
::制作文件夹1
MD err12\Folder1 2>nul
对于('dir/ad/b')中的/f“delims=|”%%s,请执行以下操作(
如果存在“%%s\Folder1”md“%%s\Folder2”
)
ECHO=====在…VVV之后(folder1,因此创建了folder2)
目录/ad U:\sourcedir\err12
::卸下文件夹1和文件夹2
RD err12\Folder1 2>nul
RD err12\Folder2>nul
对于('dir/ad/b')中的/f“delims=|”%%s,请执行以下操作(
如果存在“%%s\Folder1”回显(md“%%s\Folder2”
)
ECHO=====在…VVV之后(没有folder1,因此没有再次创建folder2)
目录/ad U:\sourcedir\err12
邻苯二胺
后藤:EOF
注意:我使用
U:\sourcedir
进行测试。
U:\sourcedir\err12
已经存在

结果(插入一点空白)

=======在…VVV之前
驱动器U中的卷没有标签。
卷序列号为0460-0000
U:\sourcedir\err12的目录
22/07/2014  10:11              .
22/07/2014  10:11              ..
0个文件0个字节
2个目录2126249984个可用字节
======在…VVV之后(没有folder1,因此没有创建folder2)
驱动器U中的卷没有标签。
卷序列号为0460-0000
U:\sourcedir\err12的目录
22/07/2014  10:11              .
22/07/2014  10:11              ..
0个文件0个字节
2个目录2126249984个可用字节
======在…VVV之后(创建folder1以便folder2)
驱动器U中的卷没有标签。
卷序列号为0460-0000
U:\sourcedir\err12的目录
22/07/2014  10:11              .
22/07/2014  10:11              ..
2014年7月22日11:33第1页
2014年7月22日11:33 Folder2
0个文件0个字节
4个目录2126184448字节可用
======在…VVV之后(没有folder1,因此不会再次创建folder2)
驱动器U中的卷没有标签。
卷序列号为0460-0000
U:\sourcedir\err12的目录
22/07/2014  10:11              .
22/07/2014  10:11              ..
0个文件0个字节
2个目录2126249984个可用字节

所以-对我有效-如果删除了
语句中的
do
,但这会产生
do未被识别…
错误,而不是您报告的
%%s

谢谢,但现在我收到一个错误:%%s此时不应出现。。。?
for /f "delims=|" %%s in ('dir /ad/b') DO (
 if exist "%%s\Folder1" md "%%s\Folder2"
)
======before...VVV
 Volume in drive U has no label.
 Volume Serial Number is 0460-0000

 Directory of U:\sourcedir\err12

22/07/2014  10:11    <DIR>          .
22/07/2014  10:11    <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)   2,126,249,984 bytes free


======after...VVV (no folder1 so folder2 NOT created)
 Volume in drive U has no label.
 Volume Serial Number is 0460-0000

 Directory of U:\sourcedir\err12

22/07/2014  10:11    <DIR>          .
22/07/2014  10:11    <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)   2,126,249,984 bytes free


======after...VVV (folder1 so folder2 IS created)
 Volume in drive U has no label.
 Volume Serial Number is 0460-0000

 Directory of U:\sourcedir\err12

22/07/2014  10:11    <DIR>          .
22/07/2014  10:11    <DIR>          ..
22/07/2014  11:33    <DIR>          Folder1
22/07/2014  11:33    <DIR>          Folder2
               0 File(s)              0 bytes
               4 Dir(s)   2,126,184,448 bytes free


======after...VVV (no folder1 so folder2 NOT created AGAIN)
 Volume in drive U has no label.
 Volume Serial Number is 0460-0000

 Directory of U:\sourcedir\err12

22/07/2014  10:11    <DIR>          .
22/07/2014  10:11    <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)   2,126,249,984 bytes free