0

次のことを行うスクリプトを実行したい:

  • 「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 に答える