Skrypt VBS - pomoc

helium

Bardzo aktywny
Ekspert
Dołączył
16 Czerwiec 2010
Posty
2183
Reakcje/Polubienia
2555
Miasto
Kraków
Potrzebuję napisać skrypt w VBScript który:
- utworzy folder w formie aktualnej daty czyli np. 2016.11.29
- utworzy subfolder w formie aktualnej godziny np. 09.07
- następnie skopiuje pliki z danej lokalizacji do stworzonego folderu z godziną
Generalnie mam tylko jeden problem. Po pierwszym kliknięciu na skrypt cała struktura katalogów tworzona jest prawidłowo. Problem pojawia się gdy za kilka np. minut kliknę ponownie na skrypt wtedy jest komunikat że folder już istnieje. Chodzi o folder z datą 2016.11.29. Pytanie moje, co muszę wstawić do tego skryptu żeby skrypt zignorował istniejący folder (jeżeli data się nie zmieniła)

oto co napisałem:

'DATA
strMonth = Month(Date)
If Len(strMonth) = 1 Then
strMonth = "0" & strMonth
End If
strDay = Day(Date)
If Len(strDay) = 1 Then
strDay = "0" & strDay
End If
strYear = Year(Date)

' CZAS
StrHour = Hour(Time)
If Len(strHour) = 1 Then
strHour = "0" & strHour
End If
StrMin = Minute(Time)
If Len(strMin) = 1 Then
strMin = "0" & strMin
End If

strFolderName = "C:\" & StrYear & "." & strMonth & "." & StrDay
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.CreateFolder(strFolderName)

strFolderName = "C:\" & StrYear & "." & strMonth & "." & StrDay & "\" & strHour & "." & strMin
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.CreateFolder(strFolderName)
Na pewną są osoby na forum którym skrypty nie są obce. Niestety nie znalazłem rozwiązania szukając w sieci.
:scratch
 

Quń

Bardzo aktywny
Dołączył
30 Sierpień 2013
Posty
380
Reakcje/Polubienia
165
Nimformatyk ze mnie już archaiczny, ale na moje pańskie oko nie ma w procedurze 2 sprawdzeń (warunków if), czy folder (z datą) i podfoldery (z godziną/minutami) są już utworzone.
W ten sposób utworzyć można RAZ na dzień folder "Kalendarz" z podfolderami "Zegar"- za drugim razem wywali błąd.
 

helium

Bardzo aktywny
Ekspert
Dołączył
16 Czerwiec 2010
Posty
2183
Reakcje/Polubienia
2555
Miasto
Kraków
Quń napisał:
Nimformatyk ze mnie już archaiczny, ale na moje pańskie oko nie ma w procedurze 2 sprawdzeń (warunków if), czy folder (z datą) i podfoldery (z godziną/minutami) są już utworzone.
W ten sposób utworzyć można RAZ na dzień folder "Kalendarz" z podfolderami "Zegar"- za drugim razem wywali błąd.
Próbowałem z warunkiem ale to nic nie daje. Jeżeli folderu nie ma to parametr go utworzy ale jak kliknę na skrypt drugi raz to jest ten sam problem czyli komunikat że folder już istnieje. :scratch
 

hmmkot

Wygadany
Dołączył
16 Październik 2012
Posty
97
Reakcje/Polubienia
50
Quń napisał:
w procedurze 2 sprawdzeń (warunków if), czy folder (z datą) i podfoldery (z godziną/minutami) są już utworzone. W ten sposób utworzyć można RAZ na dzień folder "Kalendarz" z podfolderami "Zegar"- za drugim razem wywali błąd.

i tutaj się zgadza wszystko, za to tutaj jest błąd logiczny bo if trzeba rozbić

helium napisał:
Jeżeli folderu nie ma to parametr go utworzy ale jak kliknę na skrypt drugi raz to jest ten sam problem czyli komunikat że folder już istnieje.

bo skoro coś tworzy 2x coś to powinno być sprawdzane 2x czyli dwie pętle if



Zaloguj lub Zarejestruj się aby zobaczyć!

to teraz sprawdza czy utworzyć folder z datą, jak jest to nie tworzy jak nie ma to robi i to samo wykonuje na folder z godziną

Jedna uwaga - trochę dziwne, że zrobiłeś tyle a ten if cię pokonał :nea
 

helium

Bardzo aktywny
Ekspert
Dołączył
16 Czerwiec 2010
Posty
2183
Reakcje/Polubienia
2555
Miasto
Kraków
hmmkot napisał:
Quń napisał:
w procedurze 2 sprawdzeń (warunków if), czy folder (z datą) i podfoldery (z godziną/minutami) są już utworzone. W ten sposób utworzyć można RAZ na dzień folder "Kalendarz" z podfolderami "Zegar"- za drugim razem wywali błąd.

i tutaj się zgadza wszystko, za to tutaj jest błąd logiczny bo if trzeba rozbić

helium napisał:
Jeżeli folderu nie ma to parametr go utworzy ale jak kliknę na skrypt drugi raz to jest ten sam problem czyli komunikat że folder już istnieje.

bo skoro coś tworzy 2x coś to powinno być sprawdzane 2x czyli dwie pętle if



Zaloguj lub Zarejestruj się aby zobaczyć!

to teraz sprawdza czy utworzyć folder z datą, jak jest to nie tworzy jak nie ma to robi i to samo wykonuje na folder z godziną

Jedna uwaga - trochę dziwne, że zrobiłeś tyle a ten if cię pokonał :nea
Bardzo Ci dziękuję za pomoc. Teraz wszystko działa tak jak powinno. Zazwyczaj do takich szybkich kopi używam XCOPY ale kilka dni temu zainteresowałem się VBS. Ciężko mi idzie ogarnięcie tego tematu. Gdybym miał jeszcze jakiś problem ze sktyptami, pozwolę sobie jeszcze skorzystać z Twojego doświadczenia.
:piwko
 
Do góry