中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-02 09:08
48,037 主题排行 / 350,122 发帖 / 今日 0 篇 / 48,250 会员排行
DOS批处理 & 脚本技术(批处理室) » 问个copy文件复制的命令
可打印版本  1,651 / 7
第1楼 onlykier 发表于 2006-11-04 06:14
初级用户 发帖 23 积分 50
问个copy文件复制的命令
1,如何将复制的文件个数保存在一个变量里?
2,如何将复制的文件的大小保存在变量里(1个或多个变量)?假设复制的时候用了通配符*
3,dos下如何获取一个文件的名字并保存在变量里?dos下如何获取一个文件的大小并保存在变量里?不使用dir>>某个文件,然后在读取这个文件特定的某列的方法。

小弟出来论坛,若有重复帖子请告知链接,我搜索了,没有相关的帖子。
第2楼 vkill 发表于 2006-11-04 06:33
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
1 可以复制一个文件后set /a n+=1
2 文件的大小获取一般我是for %%a in (life) do set size=%%~za
第3楼 youxi01 发表于 2006-11-04 06:35
高级用户 发帖 247 积分 846 来自 湖南==》广东
提一种解决办法:
1、利用for命令读取dir命令的倒数第二行(含有文件个数的);
例如:你要运行,COPY *.txt... 可以先运行 for /f "delims=" %%i in ('dir *.txt' |find "个文件")......
2、同上/
3、for %%i in (*) do echo 文件名:%%~nxi
第4楼 namejm 发表于 2006-11-04 06:57
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  请问是哪种DOS?纯DOS还是Windows下的CMD?

  如果是CMD下,那么:

  1、统计已经复制了的文件个数用2F的方案是最保险的,而3F的方案有可能不准确,因为复制的时候有可能出错,最终复制了的个数并非是dir出来的个数;
  2、提取文件的大小用3F的dir方案似乎不适合你的要求,那么,用 for 中的 %%~zi 应该令你满意——它也能适应使用通配符的情形。
第5楼 tao0610 发表于 2006-11-04 07:35
高级用户 发帖 218 积分 579
楼主说得是COPY和FOR结合复制文件个数,还是用通配符*拷贝文件的个数?
如果是前一种可以用2楼的方法,如果是后一种可以读取复制结果后的返回信息!
第6楼 onlykier 发表于 2006-11-05 06:10
初级用户 发帖 23 积分 50
问下,哪里有%%~?a中?参数的说明阿 ??
第7楼 zerocq 发表于 2006-11-05 06:24
中级用户 发帖 196 积分 458
Originally posted by onlykier at 2006-11-5 06:10:
问下,哪里有%%~?a中?参数的说明阿 ??


windows下cmd里for /?最后两页
第8楼 onlykier 发表于 2006-11-05 15:07
初级用户 发帖 23 积分 50
x
谢谢楼上几位。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023