2
サブフォルダ内に複数のイメージがありますが、いくつのフォルダがあるのかわかりません。私はすべてのフォルダに列挙された名前を見つけるためにスクリプトをバッチして、コピー先のフォルダに画像をコピーしたい。以下のスクリプトを試しましたが、ファイルが見つかりませんでした。エラーです。すべてのサブフォルダ内のファイルを見つけるためのバッチスクリプト
@echo off
rem Find files and copy files
setlocal EnableExtensions EnableDelayedExpansion
set "SourceBaseFolder=D:\System backup\picture batch file\Test\15oct2015"
set "TargetBaseFolder=C:\OutputFolder"
if not exist "%SourceBaseFolder%\*" (
echo %~nx0: There is no folder %SourceBaseFolder%
set "ErrorCount=1"
goto HaltOnError
)
cd /D "%SourceBaseFolder%"
if not exist "FileNames.txt" (
echo %~nx0: There is no file %SourceBaseFolder%\FileNames.txt
set "ErrorCount=1"
goto HaltOnError
)
set "ErrorCount=0"
for /F "usebackq delims=" %%N in ("FileNames.txt") do (
for /R %%J in ("%%N*") do (
set "FilePath=%%~dpJ"
if "!FilePath:%TargetBaseFolder%=!" == "!FilePath!" (
set "TargetPath=%TargetBaseFolder%\!FilePath:%SourceBaseFolder%\=!"
md "!TargetPath!" 2>nul
if exist "!TargetPath!\*" (
echo Copying file %%~fJ
copy /Y "%%~fJ" "!TargetPath!" >nul
) else (
set /A ErrorCount+=1
echo Failed to create directory !TargetPath!
)
)
)
)
:HaltOnError
if %ErrorCount% NEQ 0 (
echo.
pause
)
endlocal
いずれか1つでこの問題を解決できますか?前もって感謝します。
必要に応じて簡単に、バッチファイル内でそのようなファイルを生成することができます。 SRC_FOLDER = C:\ Source "、" DIR%SRC_FOLDER%/ A:D/B "を" DIR "に設定するようにSRC_FOLDER =" C:\ Source "を設定します。 DIR%SRC_FOLDER%\ "%% D \ %% F"/A:D/B''を "DIR"%SRC_FOLDER%\ %% D \ %% F "/ A :D/B''と同様のすべて。あなたはフォルダー名 '' c:\ source "' _yes、quotes_で検索しています。 – elzooilogico
ありがとう@elzooilogico画像の 'FileNames.txt'のファイルを検索しています –
@elzooilogicoコードを更新してください –