0

我想做一个执行以下操作的脚本:

  • COPY 从“D:\”到“F:\”的所有文件夹和所有文件,但
  • 跳过包含“skipthisfolder.txt”文件的所有文件夹

我应该使用哪种脚本语言?(为了在 Windows 中轻松运行,无需任何第三方软件?)我想到了 .BAT 或 VBS。

4

1 回答 1

3

您可以使用 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
于 2012-11-08T20:56:44.617 回答