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

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

Ветеран


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

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


Цитата takoff:
Если оригинальный файл найден, »
Думаю, раз это задание, тут должно быть проще. Никакого «поиска» не нужно. Достаточно найти первый файл с тем же именем, что и резервная копия, и сравнить их. Вряд ли предполагалось под «найден» нечто более серьёзное.

Т.е., примерно так:
читать дальше »
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sBakFile=%~1

if not defined sBakFile (
	call :Usage
	exit /b 1
)

if /i "%~x1" neq ".bak" (
	echo [%sBakFile%] is not a backup file
	call :Usage
	exit /b 2
)

if not exist "%sBakFile%" (
	echo Not found [%sBakFile%]
	exit /b 3
)

set sOrigFileName=%~n1

if not exist "%sOrigFileName%.*" (
	echo Not found any original file for backup file [%sBakFile%]
	exit /b 4
)

call :GetTemporaryName

for /f %%i in ("%sOrigFileName%.*") do (
	fc.exe /l "%%i" "%sBakFile%" 1>"%TemporaryName%"
	start /wait "" "notepad.exe" "%TemporaryName%"
	del /f /q "%TemporaryName%"
	goto :Break
)
:Break

endlocal
exit /b 0
rem ==========================================================================

rem ==========================================================================
:Usage
	echo Usage: %~nx0 ^<Backup file name^>
	exit /b 0
rem ==========================================================================

rem ==========================================================================
rem Функция GetTemporaryName()
rem
rem Серый форум / CMD/BAT: генерация пути для временного файла или папки
rem (http://forum.script-coding.com/viewtopic.php?id=6259)
rem ==========================================================================
:GetTemporaryName
	setlocal enableextensions enabledelayedexpansion

:NextName
	set sTempName=%temp%\temp%random%.tmp

	if exist "%sTempName%" goto :NextName

	set sProcName=%~0

	endlocal & set %sProcName:~4%=%sTempName%
	exit /b 0
rem ==========================================================================

Для чего-либо более серьёзного недостаточно исходных данных.
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:30, 10-10-2011 | #4