找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 80060|回复: 19

[文件操作] [已解决]批处理如何复制文件夹1到文件夹2?

[复制链接]
发表于 2024-4-18 18:34:28 | 显示全部楼层 |阅读模式
本帖最后由 g495326 于 2024-4-19 11:29 编辑

场景:
在E盘有文件夹1和文件夹2,如何把文件夹1复制到文件夹2下面?

xcopy和robocopy我都尝试了,他们仅能复制文件,不能复制文件夹本身

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2024-4-18 19:18:09 | 显示全部楼层
回复 1# g495326

须用 /i 参数 即可...

  1. xcopy /s/f/i/y "e:\文件夹1" "e:\文件夹2\文件夹1"
复制代码
 楼主| 发表于 2024-4-18 21:16:05 | 显示全部楼层
回复 2# aloha20200628


   

大佬,不奏效呀
发表于 2024-4-18 22:04:38 | 显示全部楼层
本帖最后由 fzp070 于 2024-4-18 22:13 编辑

试试这样可以不,试了在我电脑是正常的,如果还是不行可能要看是否电脑其他方面原因了
  1. robocopy "e:\文件夹1" "e:\文件夹2\文件夹1" /mir
复制代码
 楼主| 发表于 2024-4-18 22:22:35 | 显示全部楼层
回复 4# fzp070


    这个可以,但在脚本中文件夹1的名字是变动的,我怎么获取到它呢
 楼主| 发表于 2024-4-18 22:23:19 | 显示全部楼层
回复 4# fzp070


    源路径位于%1参数中
 楼主| 发表于 2024-4-18 22:24:13 | 显示全部楼层
回复 4# fzp070


    可能的情况,源路径以反斜杠结尾
发表于 2024-4-18 22:53:13 | 显示全部楼层
回复 3# g495326

2楼代码采用参数 /s 是确保目录 e:\1 为空时不作复制,若改为参数 /e 则可确保目录 e:\1 即使为空时也作复制,改用如下代码吧...

  1. xcopy /e/f/i/y "e:\文件夹1" "e:\文件夹2\文件夹1"
复制代码
发表于 2024-4-18 22:53:43 | 显示全部楼层
本帖最后由 fzp070 于 2024-4-18 22:58 编辑

源路径是变动的,那就从参数中提取吧。
发表于 2024-4-18 23:43:52 | 显示全部楼层
  1. @echo off
  2. pushd "%~1"
  3. robocopy . "e:\2\%~nx1" /e
  4. popd
  5. pause
复制代码
发表于 2024-4-19 00:16:19 | 显示全部楼层
本帖最后由 aloha20200628 于 2024-4-19 00:20 编辑

回复 7# g495326
据6-7楼题意,假设命令行参数%1是源目录(用 \ 结尾);
代码第5行预设目标目录d2(可自定义)

  1. @echo off &setlocal
  2. set "d1=%~f1"
  3. if "%d1:~-1%"=="" set "d1=%d1:~,-1%"
  4. for %%d in ("%d1%") do set "dn=%%~nxd"
  5. set "d2=e:\文件夹2"
  6. xcopy /e/f/i/y "%d1%" "%d2%\%dn%"
  7. pause&exit/b
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

发表于 2024-4-19 08:21:16 | 显示全部楼层
回复 5# g495326


    请举例说明文件夹1的名字是如何变动的?
 楼主| 发表于 2024-4-19 11:08:30 | 显示全部楼层
回复 10# 77七


    源目录可能以反斜杠\结尾,这种情况%~nx1获取不到最深层目录名的

评分

参与人数 1技术 +1 收起 理由
77七 + 1 感谢分享

查看全部评分

 楼主| 发表于 2024-4-19 11:12:58 | 显示全部楼层
回复 12# Batcher


    就是正常的目录名,但结尾可能存在反斜杠\,比如e:\1,e:\1\
 楼主| 发表于 2024-4-19 11:28:14 | 显示全部楼层
回复 11# aloha20200628


    对的,谢谢大佬
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 02:48 , Processed in 0.030845 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表