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