Board logo

标题: 问个copy文件复制的命令 [打印本页]

作者: onlykier     时间: 2006-11-4 06:14    标题: 问个copy文件复制的命令

1,如何将复制的文件个数保存在一个变量里?
2,如何将复制的文件的大小保存在变量里(1个或多个变量)?假设复制的时候用了通配符*
3,dos下如何获取一个文件的名字并保存在变量里?dos下如何获取一个文件的大小并保存在变量里?不使用dir>>某个文件,然后在读取这个文件特定的某列的方法。

小弟出来论坛,若有重复帖子请告知链接,我搜索了,没有相关的帖子。
作者: vkill     时间: 2006-11-4 06:33
1 可以复制一个文件后set /a n+=1
2 文件的大小获取一般我是for %%a in (life) do set size=%%~za
作者: youxi01     时间: 2006-11-4 06:35
提一种解决办法:
1、利用for命令读取dir命令的倒数第二行(含有文件个数的);
      例如:你要运行,COPY *.txt... 可以先运行 for /f "delims=" %%i in ('dir *.txt' |find "个文件")......
2、同上/
3、for %%i in (*) do echo 文件名:%%~nxi
作者: namejm     时间: 2006-11-4 06:57
  请问是哪种DOS?纯DOS还是Windows下的CMD?

  如果是CMD下,那么:

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


  Quote:
Originally posted by onlykier at 2006-11-5 06:10:
问下,哪里有%%~?a中?参数的说明阿 ??

windows下cmd里for /?最后两页
作者: onlykier     时间: 2006-11-5 15:07    标题: x

谢谢楼上几位。