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

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

Аватара для El Sanchez

Ветеран


Contributor


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

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


Цитата i-Lex:
тоесть я правильно понял, что всё это будет выглядеть вот так »
i-Lex, да, только добавьте аналогично к комментариям выше:
Код: Выделить весь код
@Echo Off
SetLocal

Set ProgrammName=Lcx\lcx.exe

If Not Exist "%ProgramFiles%\%ProgrammName%" If Not Exist "%APPDATA%\%ProgrammName%" Exit /B 1

If Exist "%ProgramFiles%\%ProgrammName%" If Not Exist "%APPDATA%\%ProgrammName%" (
	:: Тут копируем файлы в %ProgramFiles%
	Call XCopy /FYERH * "%ProgramFiles%\%%ProgrammName:%ProgrammName:*\=%=%%"&&Call Del /F /Q "%ProgramFiles%\%%ProgrammName:%ProgrammName:*\=%=%%%~0" 
)
If Not Exist "%ProgramFiles%\%ProgrammName%" If Exist "%APPDATA%\%ProgrammName%" (
	:: Тут копируем файлы в %APPDATA%
	Call XCopy /FYERH * "%APPDATA%\%%ProgrammName:%ProgrammName:*\=%=%%"&&Call Del /F /Q "%APPDATA%\%%ProgrammName:%ProgrammName:*\=%=%%%~0"
)
If Exist "%ProgramFiles%\%ProgrammName%" If Exist "%APPDATA%\%ProgrammName%" (
	Echo:Wscript.Echo CreateObject^("Scripting.FileSystemObject"^).GetFileVersion^(WScript.Arguments^(0^)^)>"%~n0_filever.vbs"
	For /F "Tokens=*" %%A In ('cscript //nologo "%~n0_filever.vbs" "%ProgramFiles%\%ProgrammName%"') Do (
		For /F "Tokens=*" %%B In ('cscript //nologo "%~n0_filever.vbs" "%APPDATA%\%ProgrammName%"') Do (
			:: Версия файла в %ProgramFiles% новее
			If "%%A" GTR "%%B" (
				:: Копируем в %ProgramFiles%
				Call XCopy /FYERH * "%ProgramFiles%\%%ProgrammName:%ProgrammName:*\=%=%%"&&Call Del /F /Q "%ProgramFiles%\%%ProgrammName:%ProgrammName:*\=%=%%%~0"
			)
			:: Версия файла в %APPDATA% новее
			If "%%B" GTR "%%A" (
				:: Копируем в %APPDATA%
				Call XCopy /FYERH * "%APPDATA%\%%ProgrammName:%ProgrammName:*\=%=%%"&&Call Del /F /Q "%APPDATA%\%%ProgrammName:%ProgrammName:*\=%=%%%~0"	
			)
		)
	)
	Del /F /Q "%~n0_filever.vbs" 2>nul 
)

Отправлено: 20:43, 09-09-2012 | #7