Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Проверка существования файла


Автор: Antila 9.2.2010, 14:25
Подскажите пожалуйста, как можно переделать строчку FileName = "C:\Net022010.rar", чтобы мы проверяли существование не конкретного файла, а просто любого файла с расширением .rar?
т.е. необходимо проверить есть ли в папке C:\Arhiv\   хоть один архив
Код

'******************************************************************
' Имя: IsExistsFile.vbs                                            
' Язык: VBScript                                                   
' Описание: Проверка существования файла                          
'*******************************************************************
Dim FSO,FileName 'Объявляем переменные

'Создаем объект FileSystemObject
Set FSO = WScript.CreateObject("Scripting.FileSystemObject")

FileName = "C:\Arhiv\Net022010.rar"
if  FSO.FileExists(FileName)  Then
  'Выводим информацию на экран
  WScript.Echo "Файл  существует"
else
  'Выводим информацию на экран
  WScript.Echo "Файл не существует" 
end if
'*************  Конец *********************************************


Пишу на VBS.

Автор: Данкинг 9.2.2010, 14:47
А "C:\Arhiv\*.rar" не получится?

Автор: Dexx 9.2.2010, 23:16
http://msdn.microsoft.com/en-us/library/dk008ty4(VS.71).aspx

Автор: Antila 10.2.2010, 09:37
Ругается, пишет несоответствие типа: 'Dir'

Код

'******************************************************************
' Имя: IsExistsFile.vbs                                            
' Язык: VBScript                                                   
'******************************************************************
Dim MyFile
' Return first *.TXT file, including files with a set hidden attribute.
MyFile = Dir("C:\Arhiv\*.txt", vbHidden)


Код

******************************************************************
' Имя: IsExistsFile.vbs                                            
' Язык: VBScript                                                   
'******************************************************************
Dim MyFile
MyFile = Dir("C:\Arhiv\*.rar", vbArchive)

Автор: Akina 10.2.2010, 11:09
В VBS нет функции Dir().
FileExists() не работает с символами подстановки.
Следует получить коллекцию файлов каталога и проверять их все на соответствие шаблону. Если вопрос стоИт только в проверке факта наличия - сплитануть через символ, который не допускается в именах, и искать Match в полученной строке.

Автор: Antila 10.2.2010, 11:51
Цитата(Akina @ 10.2.2010,  11:09)
сплитануть через символ, который не допускается в именах, и искать Match в полученной строке.

а можно пояснить эту строчку...

Автор: Akina 10.2.2010, 12:19
А чего пояснять? есть массив имён. Собираем его в одну строку, использу в качестве разделителя... ну скажем двойную кавычку. И на полученную строку напускаем наш шаблон (используя Match или RegExp). Если в каталоге есть подходящий файл - будет найдена соответствующая шаблону подстрока.

Автор: Antila 10.2.2010, 12:20
Спасибо, попробую !

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)