[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理复制一目录下的文件到所有超过10字符文件夹名的文件夹下面

需要复制的文件是已知固定的 c:\a\     里面有几个文件 htm jpg swf
需要复制的目的地址是 d:\b\  下的随机十几位的文件夹名,隔段时间就会变的类似于“b099b07abc8410f1”这样的文件夹名

位数不保证每次都是16位,但肯定会大于10位
怎么定义名称大于10位的文件夹呢。

我测试楼上的运行结果显示是

c:\a\2.htm
文件名、目录名或卷标语法不正确。
c:\a\2.swf
文件名、目录名或卷标语法不正确。
c:\a\fitCap.jpg
文件名、目录名或卷标语法不正确。
已复制         0 个文件。
请按任意键继续. . .

TOP

原帖由 vsbat 于 2009-11-12 17:50 发表
@echo off
setlocal enabledelayedexpansion
for /d %%i in (d:\b\*) do (set "r=%%i"&echo %%i
:u
set r=!r:~1!&set /a n+=1&if not "!r!" == "" (goto u)
:k
if !n! gtr 10 (copy c:\a\*.htm  d:\b\%%i)
)
...


测试了下,运行没通过,谢谢。

TOP

继续提问,两位朋友帮写的都测试没有通过,希望有人再进来帮修改下,谢谢。

TOP

原帖由 vsbat 于 2009-11-13 12:17 发表
@echo off
setlocal enabledelayedexpansion
for /d %%i in (d:\b\*) do (set "r=%%i"&echo %%i
set r=!r:~10!
if not "!r!" == "" (copy c:\a\*.htm  d:\b\"%%i")
)
pause


运行结果
d:\b\21
d:\b\465sdf4sd4fsdf6sd4f
c:\a\sfsf.htm
文件名、目录名或卷标语法不正确。
已复制         0 个文件。
d:\b\dsf
d:\b\sfasdfdsgdhfgjgjgk4656313132
c:\a\sfsf.htm
文件名、目录名或卷标语法不正确。
已复制         0 个文件。
请按任意键继续. . .

TOP

返回列表