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

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

Аватара для Elven

Ветеран


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

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


Код: Выделить весь код
@echo off

for /f "tokens=1* delims==" %%a in ('"wmic path win32_localtime get Day,Month,Year /value|find "^=""') do set "%%a=0%%b"
set Year=%Year:~-5%
set Month=%Month:~-3%
set Day=%Day:~-3%


SETLOCAL ENABLEDELAYEDEXPANSION

pushd d:\tmp
for /f "delims=" %%i in ('dir /b /a:-d *.txt') do (
	for /f "tokens=2 delims=-" %%j in ("%%i") do (
 		set fname=%%j
		if not exist "!fname:~0,2!" (
		 	md "!fname:~0,2!"
		)
		if not exist "!fname:~0,2!/%Month%.%Year%" (
			md "!fname:~0,2!/%Month%.%Year%"
		)
		if not exist "!fname:~0,2!/%Month%.%Year%/%Day%" (
			md "!fname:~0,2!/%Month%.%Year%/%Day%"
		)
		if not exist "!fname:~0,2!/%%i" (
			echo move "%%i" "!fname:~0,2!/%Month%.%Year%/%Day%/%%i"
		) else (
			echo move "%%i" "!fname:~0,2!/%Month%.%Year%/%Day%/%%~ni_%random%.%%~xi"
		)
	)
)
popd
Только месяцы я переименовывать не буду, тем более что и названия у них судя по сентябрю весьма оригинальные. Где-то на форуме это уже обсуждалось и решение приводилось (емнип - даже не одно).

Отправлено: 15:01, 04-09-2020 | #6