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

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

Googler


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

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


Creat0R
Цитата:
Ведь я буду скриптом копировать с другого каталога
Что и требовалось доказать: "не внятно" не то слово - это уже совсем другая задача:

- у ф-ции будет ДВА рабочих параметра (источник и приемник), а не один;
- сравнивать нужно ПОФАЙЛОВО и расширение тут непричем (конфликтуют ИМЕНА, а не расширения сами по себе)

Допустим, мы хотим проверить существование заданного файла в каталоге и вернуть его новое для этой папки (см. текст ф-ции), алгоритм будет следующий: перед записью в каталог файла (не из этого каталога!) возвращаем через функцию его новое имя и сохраняем уже под этим именем... если что в 7zip именно так.
Код: Выделить весь код
MsgBox (0,"",_FileNewName ("myfile.dat", "c:\Test"))

Func _FileNewName ($sFile, $dDir, $delim = "_")
	$dDir = StringRegExpReplace ($dDir, "\\ *$", "")

	Local $sName= StringRegExpReplace ($sFile, "\.[^.]*$", "")
	Local $sExtn= StringMid ($sFile, StringLen ($sName) +1)
	Local $i=1, $dFile=$sFile
	While FileExists ($dDir & "\" & $dFile)
		$dFile = $sName & $delim & $i & $sExtn
		$i = $i +1
	WEnd
	Return $dFile
EndFunc

Последний раз редактировалось amel27, 04-10-2006 в 10:28. Причина: правка скрипта

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

Отправлено: 02:29, 02-10-2006 | #392