帮忙写个批处理遍历当前目录所有文件及子文件夹复制文件

自己写了一个批处理,只能处理当前文件夹下的文件,不能处理子文件夹的文件,每个文件都要重新执行一次很麻烦,大神帮忙写一下,我只要执行一次就能把当前目录及子文件夹的文件都复制... 自己写了一个批处理,只能处理当前文件夹下的文件,不能处理子文件夹的文件,每个文件都要重新执行一次很麻烦,大神帮忙写一下,我只要执行一次就能把当前目录及子文件夹的文件都复制了。

我只需要将 .a格式的文件 复制成.a_格式的文件即可 。 也就是说将所有.a的文件复制成.a_的文件
下面是我自己写的,大神只要加上遍历即可了。谢谢!

@echo off
for /r %%i in (*) do (copy *.a *.a_)
for /r %%i in (*) do (copy *.b *.b_)
for /r %%i in (*) do (copy *.j *.j_)
展开
 我来答
云计算社区
2018-07-26 · TA获得超过447个赞
知道小有建树答主
回答量:351
采纳率:86%
帮助的人:118万
展开全部

估计是申请的内存长度不够,越界了造成运行出错。

小改了一下你的代码

int main() {
char line[] = "hello,my name is xx";
printf(  "%s\n",line );
int size = strlen(line) * sizeof(char);
char *copy = (char*)malloc( size );
memset( copy,'\0', size );
strcpy(copy, line );
printf(  "%s\n",copy );
return 0;
}
Widiots
2018-07-26 · TA获得超过1381个赞
知道小有建树答主
回答量:289
采纳率:77%
帮助的人:222万
展开全部

写了个递归

@echo off
set TEMP_DIR=<你的目录>
%TEMP_DIR:~0,2%

call :FOLDER %TEMP_DIR%

:FOLDER
cd %1
for /r %%i in (*) do (copy *.a *.a_)
for /f %%i in ('dir /b/ad') do ( call :FOLDER %1\%%i )
goto :eof
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式