【发布时间】:2013-12-23 15:12:13
【问题描述】:
我有一个文件夹,里面有 9500 个文档(如果是文件夹 1,我们就叫它)。我想用它的结构制作这个文件夹的副本,但我想在新文件夹(我们称之为文件夹 2)中的所有文档都是空白的。 Folder1 包含几种类型的文档。直到现在我有代码:
@echo off
set "source=C:\Users\DM\Desktop\folder1\*.*"
set "dest=C:\Users\DM\Desktop\folder2"
xcopy "%source%" "%dest%" /t/e
for /f "tokens=2 delims=>" %%a in ('xcopy "%source%" "%dest%" /s/h/e/k/f/c/l') do (
for /f "tokens=*" %%b in ("%%a") do type nul >"%%b"
)
pause
bat 没问题,但过了一会儿,cmd 上出现了 3 个不同的错误,并且在那里堆积(我的窗口是希腊语,所以我正在尝试翻译错误)。一个是“内存不够”,下一个是“系统找不到指定的磁盘(或驱动器)路径”(我认为它是两个驱动器/磁盘之一。)最后一个是“文件名语法” 、目录或卷标不正确”。它停在标题上有“”字符的特定 htm 文件处。
你能告诉我我应该添加什么吗? 提前致谢
【问题讨论】:
-
当然看起来很奇怪。理论上,文件名中不可能有
>或<。/k是多余的,因为使用了/L开关,/e暗示/s所以/s也是多余的 - 但这些都是装饰性的。我也更喜欢copy nul "%%b" >nul但同样,这将是个人喜好。您能否在for...%%b之前ECHO(+%%a+并使用有问题的文件名系列的部分目录列表报告结果?内存不足和无法定位的消息是从哪里弹出来的——天知道。你确定dest不是source的子目录吗? -
这个用户有一个
Greek操作系统,也可能有Unicode文件名。也许有人可以为他提供用于他所在地区的代码页。
标签: batch-file subdirectory xcopy robocopy directory-structure