Ветеран
Сообщения: 2728
Благодарности: 1697
|
Профиль
|
Отправить PM
| Цитировать
Patroklos,
Если перезаписываем
Код:
@Echo off
Set "BoxIn=Z:\Источник"
Set "BoxOut=Z:\Результат"
Set "Mask=*.txt"
FOR /R "%BoxIn%" %%f IN ("%Mask%") DO Set "NDir=%%~dpf" &Call :FMove "%%f" "%%NDir:~0,-1%%" "%BoxOut%"
GoTo :Eof
:FMove
Set "Out=%~3\%~nx2"
If Not Exist "%Out%" Md "%Out%"
Move /Y %1 "%Out%\" >nul
GoTo :Eof
Если переименовываем
Код:
@Echo off
Set "BoxIn=Z:\Источник"
Set "BoxOut=Z:\Результат"
Set "Mask=*.txt"
FOR /R "%BoxIn%" %%f IN ("%Mask%") DO Set "NDir=%%~dpf" &Call :FMove "%%f" "%%NDir:~0,-1%%" "%BoxOut%"
GoTo :Eof
:FMove
Set "Out=%~3\%~nx2"
If Not Exist "%Out%" Md "%Out%"
Set /A i=1000
Set "NewName=%Out%\%~nx1"
:Begin
If Not Exist "%NewName%" Move %1 "%NewName%" >nul &GoTo :Eof
Set /A i+=1
Set "NewName=%Out%\%~n1_%i:~1%%~x1"
GoTo :Begin
GoTo :Eof
|
-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.
Последний раз редактировалось megaloman, 16-10-2018 в 22:38.
Отправлено: 22:09, 16-10-2018
| #4
|