【发布时间】:2012-11-08 20:26:22
【问题描述】:
我想做一个执行以下操作的脚本:
- 复制从“D:\”到“F:\”的所有文件夹和所有文件 但是
- 跳过包含“skipthisfolder.txt”文件的所有文件夹
我应该使用哪种脚本语言? (为了在 Windows 中轻松运行,无需任何第三方软件?)我考虑过 .BAT 或 VBS。
【问题讨论】:
标签: batch-file vbscript copy directory
我想做一个执行以下操作的脚本:
我应该使用哪种脚本语言? (为了在 Windows 中轻松运行,无需任何第三方软件?)我考虑过 .BAT 或 VBS。
【问题讨论】:
标签: batch-file vbscript copy directory
您可以使用 CMD 批处理文件,如下所示:
@echo off
for /r D:\ %%a in (.) do (
IF NOT EXIST "%%~fa\skipthisfolder.txt" XCOPY "%%~fa" "F:%%~pna"
)
编辑:如果您还需要在找到skipthisfolder.txt 文件时跳过子文件夹,那么这可能是一个解决方案:
@setlocal enableextensions enabledelayedexpansion
@echo off
set skip=@
for /r D:\ %%a in (.) do (
echo %%a | findstr /c:"!skip!" > nul
if !errorlevel!==1 IF EXIST "%%~fa\skipthisfolder.txt" set skip=%%~dpna
echo %%a | findstr /c:"!skip!" > nul
if !errorlevel!==1 XCOPY /D "%%~fa" "F:%%~pna"
)
endlocal
【讨论】:
%~za 评估大小,然后将其放入变量中并不断添加以查找文件夹的大小。