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

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

Ветеран


Contributor


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

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


Serezha373737, Это эстетствующий каприз? За секунды в CMD придётся заплатить долгим временем выполнения. Разве кто из спецов PowerShell заинтересуется. И, опять же, возможны пропуски файлов с необрабатываемыми в CMD символами в именах.
Код: Выделить весь код
@Echo Off
cls
	Set "BoxIn=D:\Мой контент"
	Set "BoxOut=Z:\Box_Out"

	If Not "%BoxIn:~-1%"=="\" Set "BoxIn=%BoxIn%\"
	If Not "%BoxOut:~-1%"=="\" Set "BoxOut=%BoxOut%\"

	FOR /F "tokens=1* delims=:" %%i IN ("%BoxIn%") DO Set "Drive=%%i:" &Set "PathLike=%%j" &Call Set "PathLike=%%PathLike:\=\\%%" 

	>"%Tmp%\%~nx0.tmp" wmic datafile Where "Drive='%Drive%' And Path Like '%PathLike%%%'" get 'Last Modified', Name /Format:CSV
	Xcopy "%BoxIn%*.*" "%BoxOut%" /T /E
	FOR /F "usebackq tokens=2* delims=," %%i IN (`More "%Tmp%\%~nx0.tmp"`) DO Call :MyFile "%%i" "%%j"
	Del "%Tmp%\%~nx0.tmp"
pause
Exit /B 

:MyFile
	If Not Exist %2 Exit /B 1
	Set "FileIn=%~2"
	Set "D=%~1"
	Set "D=%D:~6,2%.%D:~4,2%.%D:~0,4%_%D:~8,2%.%D:~10,2%.%D:~12,2%.txt
	Call Set "FileOut=%%FileIn:%BoxIn%=%BoxOut%%%-%D%"
	>"%FileOut%" cd.
Exit /B

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:24, 03-06-2020 | #15