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

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

Ветеран


Contributor


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

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


athlonix4@twitter, Виноват, Вы должны указать путь папки, где содержатся эти файлы
Вот еще вариант:
Код: Выделить весь код
@Echo Off
cls
 	Set "BoxIn=Z:\Box_In"

	If Not "%~1"=="" Set "BoxIn=%~1"

	If "%BoxIn:~-1%"=="\" Set "BoxIn=%BoxIn:~0,-1%
	FOR /F "usebackq delims=" %%f In (`2^>nul Dir /B /A:-D "%BoxIn%\*_20??-??-??.*"`) DO If Exist "%BoxIn%\%%f" (
			Set "Name=%%~nf"
			Call Set "Name=%%Name:~0,-11%%"
			Call 2>nul Md "%BoxIn%\%%Name%%"
			Call >nul Move /Y "%BoxIn%\%%Name%%_20??-??-??.*" "%BoxIn%\%%Name%%\"
	)
Pause
Exit /B
Сохраните где-нибудь батник, на рабочем столе создайте на него иконку и в проводнике затаскивайте на нее обрабатываемую папку.
Можете просто запускать батник, но при этом путь к папке возьмется из батника.
Если поместить батник в обрабатываемую папку и запускать оттуда, то:
Set "BoxIn=%~dp0"

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


Отправлено: 21:02, 19-03-2022 | #8