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

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

Ветеран


Contributor


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

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


finderhd,
Вот вариант с созданием лог-файла рядом с батником. Дайте его посмотреть.
Код: Выделить весь код
@Echo Off
cls
	FOR /F "tokens=2 delims==." %%d in ('WMIC OS GET LOCALDATETIME /VALUE') DO SET "Year=%%d"
	Set "Log=%~dpnx0_%Year:~0,8%.log"
	Set /A Year=%Year:~0,4%

rem	Call :MyMove "Z:\Box_In" "Z:\Box_Out" "report_stat" "??????ReadUser.txt"

	>>"%Log%" 2>>&1 Call :MyMove "\\Server\Test1\test1" "\\Server\Test1\test1" "report_stat" "??????ReadUser.txt"
	>>"%Log%" 2>>&1 Call :MyMove "\\Server\Test1\test2" "\\Server\Test1\test2" "report_stat" "??????ReadUser.txt"
	>>"%Log%" 2>>&1 Call :MyMove "\\Server\Test1\test3" "\\Server\Test1\test3" "report_stat" "??????ReadUser.txt"
rem pause
Exit /B 0

:MyMove

Set /A NNNN+=1
Set "A=%1" &If Not Exist %1 Set "A=%1  not exist"
Set "B=%2" &If Not Exist %2 Set "B=%2  not exist"

Echo.
Echo === %Date% %Time% ===========  Year=%Year% === %NNNN%
Echo  1= %A%
Echo  2= %B%
Echo  3= %3
Echo  4= %4
If Not Exist "%~1\%~3%Year%%~4" (
	Echo "%~1\%~3%Year%%~4"  not exist
	Dir /B /A:-D %1
)

	Set /A OldYear=%Year%-5
	Set /A OldYear=%Year%-0
	FOR /L %%Y IN (%Year%,-1,%OldYear%) DO (
		If Exist "%~1\%~3%%Y%~4" (
			If Not Exist "%~2\%%Y\" Md "%~2\%%Y" 
			Move /Y "%~1\%~3%%Y%~4" "%~2\%%Y\"			
		)
	)
Exit /B
Пути, естественно, пропишИте свои.
подозреваю, указываете неверные пути, или к ним нет доступа

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


Последний раз редактировалось megaloman, 29-01-2020 в 08:49.

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

Отправлено: 18:10, 28-01-2020 | #25