楼 主
如何拷贝所有文件夹中一个最新的文件到其他文件夹?
发表于 2007-12-19 13:50 · 中国 上海 联通
初级用户
★
积分 120 发帖 48 注册 2007-12-01 19:05 18年会员 UID 104373 性别 男
状态 离线
例
test文件夹下有若干文件夹 test1 test2 test3 ..等等 这个文件夹中有若干文件,我想把每个文件夹中最新的一个文件拷贝到d盘 请问如何操作谢谢!
第 2 楼
发表于 2007-12-19 14:06 · 中国 上海 联通
初级用户
★
积分 120 发帖 48 注册 2007-12-01 19:05 18年会员 UID 104373 性别 男
状态 离线
在每个文件夹中,都要找该文件夹中最新的文件,并且文件夹名字不给定,否则的话要方便许多了...
[ Last edited by chenai79921 on 2007-12-19 at 02:08 PM ]
第 3 楼
发表于 2007-12-19 15:07 · 中国 上海 联通
初级用户
★
积分 120 发帖 48 注册 2007-12-01 19:05 18年会员 UID 104373 性别 男
状态 离线
现在我把文件夹的名字写进了一个aa.txt,,方便点了,然后怎么写~~
@echo off
dir /ad-r-a-h-s /b>aa.txt
[ Last edited by chenai79921 on 2007-12-19 at 03:12 PM ]
第 4 楼
发表于 2007-12-19 15:53 · 中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564 发帖 1,127 注册 2006-12-25 22:57 19年会员 UID 74552 性别 男
状态 离线
for /f %a in ('dir /ad /b') do (
pushd "%~dpnxa"
call :scopy
popd
)
goto :eof
:scopy
for /f %i in ("dir /a-d /od") do set scopy="%~dpnxi"
copy %scopy% D:\
第 5 楼
发表于 2007-12-19 16:11 · 中国 上海 联通
初级用户
★
积分 120 发帖 48 注册 2007-12-01 19:05 18年会员 UID 104373 性别 男
状态 离线
能解释下"%~dpnxa" 是什么意思吗? 或者提供相关帮助文档或链接 非常感谢~~
第 6 楼
发表于 2007-12-19 16:16 · 中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564 发帖 1,127 注册 2006-12-25 22:57 19年会员 UID 74552 性别 男
状态 离线
第 7 楼
发表于 2007-12-19 16:18 · 中国 上海 联通
初级用户
★
积分 120 发帖 48 注册 2007-12-01 19:05 18年会员 UID 104373 性别 男
状态 离线
第 8 楼
发表于 2007-12-19 16:30 · 中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564 发帖 1,127 注册 2006-12-25 22:57 19年会员 UID 74552 性别 男
状态 离线
for /f %%a in ('dir /ad /b') do (
pushd "%%~dpnxa"
call :scopy
popd
)
goto :eof
:scopy
for /f %%i in ("dir /a-d /od") do set scopy="%%~dpnxi"
copy %scopy% D:\
这个批处理要放在你test文件夹下运行
第 9 楼
发表于 2007-12-19 16:38 · 中国 上海 联通
初级用户
★
积分 120 发帖 48 注册 2007-12-01 19:05 18年会员 UID 104373 性别 男
状态 离线
不好意思 前面运行的时候 已经加过%了 ,放在test文件夹下运行 也没有成功
您运行测试过吗?
第 10 楼
发表于 2007-12-19 17:23 · 中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564 发帖 1,127 注册 2006-12-25 22:57 19年会员 UID 74552 性别 男
状态 离线
for /f %%a in ('dir /ad /b') do (
pushd "%%~dpnxa"
call :scopy
popd
)
goto :eof
:scopy
for /f %%i in ("dir /a-d /od /b") do set scopy="%%~dpnxi"
copy %scopy% D:\
抱歉,口气冲了点,我是少加了一个参数
[ Last edited by everest79 on 2007-12-19 at 05:31 PM ]
第 11 楼
发表于 2007-12-19 19:14 · 中国 上海 闵行区 电信
初级用户
★
积分 120 发帖 48 注册 2007-12-01 19:05 18年会员 UID 104373 性别 男
状态 离线
饿~~大哥好像又要麻烦你了。。。
运行后提示“系统找不到指定文件”
我看了下命令行后的结果
提示
copy test1\dir d:\
copy test2\dir d:\
系统找不到指定文件
"%%~dpnxi" 这里面的 i 照道理应该是文件夹中最新文件的名字了,,运行出来怎么变成dir了?
[ Last edited by chenai79921 on 2007-12-19 at 07:19 PM ]
第 12 楼
发表于 2007-12-19 19:22 · 中国 上海 闵行区 电信
初级用户
★
积分 120 发帖 48 注册 2007-12-01 19:05 18年会员 UID 104373 性别 男
状态 离线
知道了
in ("dir /a-d /od /b") 这里应该是单引号饿,呵呵 in ('dir /a-d /od /b')
everest79大哥很热心的,非常感谢啊!
第 13 楼
发表于 2007-12-19 20:02 · 中国 上海 闵行区 电信
初级用户
★
积分 120 发帖 48 注册 2007-12-01 19:05 18年会员 UID 104373 性别 男
状态 离线
我想把这个BAT文件放在任何地方,,如果test文件夹在f盘下 即 f:\test
那我是不是应该这样改
for /f %%A in ('dir /ad /b F:\test\') do (
pushd "%%~dpnxA"
call :scopy
popd
)
goto :eof
:scopy
for /f %%I in ('dir /a-d /od /b /s F:\test\') do (
set scopy="%%~dpnxI"
copy %scopy% D:\
)
运行之后还是有点问题.........
第 14 楼
发表于 2007-12-20 10:44 · 中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564 发帖 1,127 注册 2006-12-25 22:57 19年会员 UID 74552 性别 男
状态 离线
for /f "delims=" %%a in ('dir /ad /b /s F:\test') do (
for /f "delims=" %%b in ('dir /a-d /b /s "%%a"') do (
set scopy="%%~dpnxb"
)
call copy %%scopy%% D:\
)
pause
第 15 楼
发表于 2007-12-20 15:47 · 中国 上海 普陀区 电信
初级用户
★
积分 120 发帖 48 注册 2007-12-01 19:05 18年会员 UID 104373 性别 男
状态 离线
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正