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

[文件操作] 批处理命令xcopy不能复制空文件夹怎么回事?

[复制链接]
发表于 2022-4-2 09:29:02 | 显示全部楼层 |阅读模式
  1. @echo on
  2. setlocal enabledelayedexpansion
  3. cd /d "%~dp0"
  4. set  /a n=1000
  5. for /d %%a in (*) do (
  6.         pushd %%a
  7.         if exist "test2" (
  8.         md "C:\Users\Administrator\Desktop\bat\20220331样本\新建文件夹 (2)\新建文件夹\2\%%a"
  9.         xcopy /Y /S /q /e  test2 "C:\Users\Administrator\Desktop\bat\20220331样本\新建文件夹 (2)\新建文件夹\2\%%a"
  10. )
  11.    
  12.      
  13.         popd
  14.       
复制代码
上面是代码,

我想复制test2这个空文件夹

可是复制不了,

我里面加个txt,只能复制txt

我看说加了参数 /e  可以复制空文件夹

这是啥情况

我有点蒙这里
谢谢
发表于 2022-4-2 09:39:23 | 显示全部楼层
基本上没用过xcopy,有些代码/s/e一块用,但是看帮助文档后,就有点迷茫了:一个是包括空目录,一个不包括空目录,连用的话到底是包括还是不包括空目录呢?
发表于 2022-4-2 09:41:55 | 显示全部楼层
回复 2# qixiaobin0715
你可以先向里面写入一个文件
再移动
移动后删除文件
 楼主| 发表于 2022-4-2 10:12:01 | 显示全部楼层
回复 3# ANSL


    加入一个,就只移动那个文件
文件夹还是不移,
现在我是建立文件夹,
复制的
不知道是啥情况
发表于 2022-4-2 10:51:16 | 显示全部楼层
本帖最后由 qixiaobin0715 于 2022-4-2 10:55 编辑

从帮助文档中来说,我想应当是这样的。
比如我有个文件夹test1 其路径为C:\Users\Administrator\Desktop\test1
目录结构:
  1. C:\USERS\ADMINISTRATOR\DESKTOP\TEST1
  2. │  a1.txt
  3. │  a2.txt

  4. ├─aaa
  5. │      a1.txt
  6. │      test.bat

  7. ├─abc
  8. │  │  a.txt
  9. │  │  a1.bat
  10. │  │
  11. │  ├─A
  12. │  └─B
  13. └─Newfiles
  14.         1.txt
  15.         2.txt
  16.         a.bat
复制代码
代码:
  1. xcopy C:\USERS\ADMINISTRATOR\DESKTOP\TEST1 D:\abc\ /e
复制代码
只会复制test1下的文件及文件夹到D:\abc中,并不包括文件夹test1本身。
发表于 2022-4-2 11:09:32 | 显示全部楼层
如5楼所说:如果源是目录,不包括复制源的主目录本身。
  1. ::要复制源目录本身:使用 i 参数,并在目标上加上源目录名
  2. xcopy /yesiq 源目录 目标目录\源目录
复制代码
发表于 2022-4-2 11:52:41 | 显示全部楼层
回复 1# swanseabrian
  1. @echo off
  2. cd /d "%~dp0"
  3. for /d %%a in (*) do (
  4.     pushd "%%a"
  5.     if exist "test2" (
  6.         md "C:\Users\Administrator\Desktop\bat\20220331样本\新建文件夹 (2)\新建文件夹\2\%%a"
  7.         xcopy /y /q /e "test2" "C:\Users\Administrator\Desktop\bat\20220331样本\新建文件夹 (2)\新建文件夹\2\%%a\test2"
  8.     )
  9.     popd
  10. )
复制代码
发表于 2022-4-2 12:01:18 | 显示全部楼层
回复 1# swanseabrian


推荐使用 robocopy 命令,它的多线程复制速度快
http://bbs.bathome.net/thread-6283-1-1.html#pid40646
发表于 2022-4-2 12:09:55 | 显示全部楼层
本帖最后由 qixiaobin0715 于 2022-4-2 12:11 编辑

回复 7# Batcher
需要创建文件夹test2
  1. md "C:\Users\Administrator\Desktop\bat\20220331样本\新建文件夹 (2)\新建文件夹\2\%%a\test2"
复制代码
反正是给楼主绕糊涂了,不知要干什么。
发表于 2022-4-2 12:20:47 | 显示全部楼层
回复 9# qixiaobin0715


    目标文件夹结尾有\,xcopy会自动创建的
发表于 2022-4-2 12:43:14 | 显示全部楼层
我以为和copy一样呢,谢谢。
发表于 2022-4-2 12:51:05 | 显示全部楼层
回复 10# Batcher
就是说7楼代码中md一行就没什么作用了。
发表于 2022-4-2 12:52:12 | 显示全部楼层
回复 12# qixiaobin0715


    是的,那个md可有可无。
 楼主| 发表于 2022-4-3 09:50:04 | 显示全部楼层
回复 9# qixiaobin0715


    就是想怎么才能复制空文件夹呀,

或者文件夹连同文件夹里的东西一起复制,

而不是只复制文件夹里的东西
 楼主| 发表于 2022-4-3 09:53:50 | 显示全部楼层
回复 8# Batcher


    好的,那不用xcopy了 谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 05:56 , Processed in 0.021508 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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