Batch file 批处理文件以创建文件夹(如果已存在另一个文件夹)
如果父位置中存在folder1,则尝试创建folder2。。似乎无法使它工作。尝试使用powershell,但由于某些原因,它不会从服务器上运行,因此我尝试使用批处理来完成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语句中 ----------注意上面的修正文本^^^^^^^^ 演
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