Так,
Я хочу переместить все файлы JPG на всем диске (включая других пользователей) в папку на рабочем столе.
Что за команда в CMD?
Папка, в которую я хочу переместить файлы: C:\Users\stefa_000\Desktop\Allt
Так,
Я хочу переместить все файлы JPG на всем диске (включая других пользователей) в папку на рабочем столе.
Что за команда в CMD?
Папка, в которую я хочу переместить файлы: C:\Users\stefa_000\Desktop\Allt
В этом ответе StackOverflow публикует пакетный файл Windows для копирования и хранения дубликатов. В этом ответе есть сценарий prb .bat
имеющий два аргумента: SourcePath TargetPath.
Он рекурсивно копирует все файлы из SourcePath и его подпапок в TargetPath, игнорируя файлы из целевой папки и добавляя увеличивающийся счетчик к базовому имени для дубликатов.
::copyFlat sourcePath TargetPath
@echo off
setlocal disableDelayedExpansion
:: Initialize and validate arguments
if "%~2" equ "" echo Error: Insufficient arguments>&2&exit /b 1
set "source=%~f1"
if not exist "%source%\" echo Error: Source folder "%source%" does not exist>&2&exit /b 1
set "target=%~f2"
if exist "%target%\" echo Error: Target folder "%target%" already exists>&2&exit /b 1
:: Do the work
md "%target%"
set /a n=0
for /r "%source%" %%F in (*) do if "%%~dpF" neq "%target%\" (
if exist "%target%\%%~nxF" (
set /a n+=1
set "full=%%F"
set "name=%%~nF"
set "ext=%%~xF"
setlocal enableDelayedExpansion
copy "!full!" "!target!\!name!_!n!!ext!" >nul
endlocal
) else copy "%%F" "%target%" >nul
)