Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


без ограничений по кол-ву:
1. Не лезем в подпапки
Код: Выделить весь код
@echo off
set "d_in=C:\papka_in"
set "d_out=C:\papka_out"

for /f "delims=" %%a in ('dir /a-d/b "%d_in%"') do call :l "%d_out%" "%d_in%\%%a"
exit

:l
 setlocal
  pushd "%~1"
   if not exist "%~n2%n%%~x2" (>nul copy "%~2" "%~n2%n%%~x2"& del "%~2") else (set /a n+=1& goto l)
  popd
 endlocal
exit /b
2. Лезем в подпапки
Код: Выделить весь код
@echo off
set "d_in=C:\papka_in"
set "d_out=C:\papka_out"

for /f "delims=" %%a in ('dir /a-d/b/s "%d_in%"') do call :l "%d_out%" "%%a"
exit

:l
 setlocal
  pushd "%~1"
   if not exist "%~n2%n%%~x2" (>nul copy "%~2" "%~n2%n%%~x2"& del "%~2") else (set /a n+=1& goto l)
  popd
 endlocal
exit /b
в моем коде путь: "C:\papka_out" должен существовать или надо добавить строку (перед стр.5, в начале кода, после указания переменных)
Код: Выделить весь код
if not exist "%d_out%" md "%d_out%"
если достаточно копировать. а не перемещать, то из стр.11 убрать: & del "%~2"
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:08, 21-11-2019 | #5