批处理遍历包含子文件夹的目录 处理后生成的文件放在另一个目录下 并保持目录结构该如何写? 90
原文件如下@setdir1=mulit-simp\@setdir2=mulit-trad\@cd/d%~dp0@ifnotexist%dir1%md%dir1%@ifno...
原文件如下
@set dir1=mulit-simp\
@set dir2=mulit-trad\
@cd /d %~dp0
@if not exist %dir1% md %dir1%
@if not exist %dir2% md %dir2%
@for /f "delims=" %%i in ('dir %dir1%*.* /b') do @opencc.exe --input="%dir1%%%i" --output="%dir2%%%i"
@echo.
@echo Done!
@echo.
@pause
但是这个处理没办法处理子文件夹下的文件
我希望能够处理子文件夹的文件并保持目录结构生成的文件放在dir2文件夹里
谢谢 展开
@set dir1=mulit-simp\
@set dir2=mulit-trad\
@cd /d %~dp0
@if not exist %dir1% md %dir1%
@if not exist %dir2% md %dir2%
@for /f "delims=" %%i in ('dir %dir1%*.* /b') do @opencc.exe --input="%dir1%%%i" --output="%dir2%%%i"
@echo.
@echo Done!
@echo.
@pause
但是这个处理没办法处理子文件夹下的文件
我希望能够处理子文件夹的文件并保持目录结构生成的文件放在dir2文件夹里
谢谢 展开
3个回答
展开全部
修改你的批处理中这段:('dir %dir1%*.* /b')
为('dir %dir1%*.* /b /s')试试看!
为('dir %dir1%*.* /b /s')试试看!
追问
谢谢回答,不过还是不行
"%dir1%%%i" 对应的结果是 mulit-simp/D:/opencc/mulit-simp/file.txt
这个路径显然不对
追答
去掉你的批处理中这段:('dir %dir1%*.* /b')中的 *.* ,并添加 /s 如下:
('dir %dir1% /b /s') 这样操作是可以的!
关键是是你后面的这个opencc.exe 是什么程序?此程序非系统自带,对其参数 --input和--output不了解!你可以把此程序的参数说明贴出来吗?你要保持两个文件夹中的目录机构和文件一致,可以直接xcopy的啊!为何是opencc呢?
展开全部
使用tree命令,就可以得到目录结构了
追问
不好意思 我对批处理不太熟悉
请问获得目录结构之后如何修改这段代码能实现我需要的目的呢?
追答
cmd下,使用cd命令,找到要统计的目录,然后输入tree >d:/1.txt 就自动将这个树桩结构保存到d:/1.txt 了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是否要这句代码的结果dir /s /a /b mulit-simp
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询