Войти

Показать полную графическую версию : [решено] Проверка на наличие файлй


peretc001
20-01-2011, 15:30
Добрый день. Помогите решить проблему.

Есть vbs скрипт который раскидывает файлы по папкам.

Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
Set Shell = WScript.CreateObject("WScript.Shell")

If Not FSO.FolderExists("Дата") ' Если папки Дата не существует '
Then
FSO.CreateFolder("Дата") ' Создаем папку Дата '
FSO.CreateFolder("Дата\12") ' Создаем папку Дата\12 '
FSO.CreateFolder("Дата\13") ' Создаем папку Дата\13 '
End If

' Начинаем распределение '
Const OverwriteExisting = True
Set FSO = CreateObject("Scripting.FileSystemObject")

FSO.CopyFile "1.txt" , "Дата\" , OverwriteExisting
FSO.CopyFile "2.txt" , "Дата\" , OverwriteExisting
FSO.CopyFile "3.txt" , "Дата\12\" , OverwriteExisting
FSO.CopyFile "4.txt" , "Дата\12\" , OverwriteExisting
FSO.MoveFile "5.txt" , "Дата\13\"


Set Shell = Nothing
Set FSO = Nothing

WScript.Quit

Но если файл 3.txt не существует выдает ошибку и завершает работу.

Подскажите, как написать скрипт, чтоб при отсутствии файла он его пропускал и переходил к следующему. Если следующего нет, к следующему. И так до последнего.

Ivan Bardeen
20-01-2011, 15:41
Подскажите, как написать скрипт, чтоб при отсутствии файла он его пропускал и переходил к следующему. Если следующего нет, к следующему. И так до последнего. »
Первой строкой добавьте
On Error Resume Next

peretc001
20-01-2011, 16:00
Спасибо, работает

А можно еще как-нибудь создать прогресс-бар, чтоб в процентах показывал насколько выполнены все команды. У меня там на час-два времени точно.

Или хотя бы во время копирования показывал типа

1.txt OK
2.txt OK
3.txt OK

и т.д.




© OSzone.net 2001-2012