次のことを行うスクリプトを実行したい:
- 「D:\」から「F:\」にすべてのフォルダとすべてのファイルをコピーしますが、
- 「skipthisfolder.txt」ファイルを含むすべてのフォルダーをスキップします
どのスクリプト言語を使用すればよいですか? (サードパーティ製のソフトウェアを使用せずに Windows で簡単に実行するには?) .BAT または VBS について考えました。
次のことを行うスクリプトを実行したい:
どのスクリプト言語を使用すればよいですか? (サードパーティ製のソフトウェアを使用せずに Windows で簡単に実行するには?) .BAT または VBS について考えました。
次のように、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