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

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

  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  可以复制空文件夹

这是啥情况

我有点蒙这里
谢谢

基本上没用过xcopy,有些代码/s/e一块用,但是看帮助文档后,就有点迷茫了:一个是包括空目录,一个不包括空目录,连用的话到底是包括还是不包括空目录呢?

TOP

回复 2# qixiaobin0715
你可以先向里面写入一个文件
再移动
移动后删除文件

TOP

回复 3# ANSL


    加入一个,就只移动那个文件
文件夹还是不移,
现在我是建立文件夹,
复制的
不知道是啥情况

TOP

本帖最后由 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本身。

TOP

如5楼所说:如果源是目录,不包括复制源的主目录本身。
  1. ::要复制源目录本身:使用 i 参数,并在目标上加上源目录名
  2. xcopy /yesiq 源目录 目标目录\源目录
复制代码
如无特别说明,代码测试环境均为 XP SP3

TOP

回复 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. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 1# swanseabrian


推荐使用 robocopy 命令,它的多线程复制速度快
http://bbs.bathome.net/thread-6283-1-1.html#pid40646
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 qixiaobin0715 于 2022-4-2 12:11 编辑

回复 7# Batcher
需要创建文件夹test2
  1. md "C:\Users\Administrator\Desktop\bat\20220331样本\新建文件夹 (2)\新建文件夹\2\%%a\test2"
复制代码
反正是给楼主绕糊涂了,不知要干什么。

TOP

回复 9# qixiaobin0715


    目标文件夹结尾有\,xcopy会自动创建的
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

我以为和copy一样呢,谢谢。

TOP

回复 10# Batcher
就是说7楼代码中md一行就没什么作用了。

TOP

回复 12# qixiaobin0715


    是的,那个md可有可无。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 9# qixiaobin0715


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

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

而不是只复制文件夹里的东西

TOP

回复 8# Batcher


    好的,那不用xcopy了 谢谢

TOP

返回列表