Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: Lancelot am 15.10.07 - 08:58:56

Titel: MKDIR felxibel halten?
Beitrag von: Lancelot am 15.10.07 - 08:58:56
Hallo Leute,

kann mit in LS das Erstellen von Ordner mit "MKDIR" auch flexibel halten?

Ich müßte über einen Agent ein bis mehrere Ordner autom. erstellen und dort zu
archivierdende Dokumente reinlegen.
Über eine Batch- Datei werden diese dann in Image der AS 400 geschoben und die Ordner wieder gelöscht.
Die Anzahl der zu erstellenden Ordner legen die Anzahlen der Dok's in einer Ansicht fest, weil jedes in einem seperaten Ordner liegen muß, laut As 400 Entwickler.

Nun meine Frage:
Kann man in einer Schleife die Pfadangaben beim MKDIR so gestalten das auch ein Ordner auf dem Server erstellt wird, der mit die Bezeichnung des Zählers "i" trägt.
Z.B. i = 1
MKDIR "C:\Test\" + i + "\"
Rauskommen sollte dann "C:\Test\1\"

oder bin ich für dieses Problem mit dem MKDIR auf dem Holzweg?

Bin für jeden Vorschlag dankbar.


Titel: Re: MKDIR felxibel halten?
Beitrag von: Axel am 15.10.07 - 09:08:27
Du musst die Zählervariable nur in einen String umwandeln. Das geht mit der Funktion Str.
Dann sollte das funktionieren.


Axel
 
Titel: Re: MKDIR felxibel halten?
Beitrag von: Lancelot am 15.10.07 - 09:54:35
Hallo Axel,

danke für die schnelle Antwort.
Leider klappt Dein Vorschalg nicht.

Hier mein Code:
Dim stringvar As String
Dim pathvar1 As String
Dim pathvar As String
Dim praefix As String
Dim var_attach As String

Set db = session.CurrentDatabase
Set view = db.GetView("($alte)")
Set doc = view.getfirstdocument
Set rtitem = doc.GetFirstItem( "handbuch" )

'Schleife solange Dokument in der Ansicht vorhanden sind!
i = 1   
stringvar = "TEST1"
Do Until doc Is Nothing
   
   'Wird nur ausgeführt wenn das Dokument schon abgelaufen ist
   If doc.abgelaufen(0) = "x" Then         
      
      Forall o In rtitem.EmbeddedObjects   
         If ( o.Type = EMBED_ATTACHMENT ) Then
            oldfilename = o.Source
            pathvar1= "c:\Archiv\" & stringvar & "\"   
            pathvar = pathvar1
            praefix = o.name
            Mkdir pathvar
            Call o.ExtractFile _
            (pathvar  & praefix)

Die Variabele "Stringvar" soll den flexibelen Teil der Ordnerbenennung tragen, dass "C:\Archiv\" beliebt immer gleich.
Bei diesem Code kommt aber die Meldung "Path not found".

Hast Du noch eine Idee?
Titel: Re: MKDIR felxibel halten?
Beitrag von: Demian am 15.10.07 - 10:25:18
Moin,moin,

also bei mir funktioniert folgendes:

Code
dim i as integer
          For i = 1 To 3
	Mkdir "C:\" & i
          Next

Probiers mal mit
pathvar1= "c:\Archiv\" & stringvar
statt
pathvar1= "c:\Archiv\" & stringvar & "\"   
   
Das "\" würde ja einen namenlosen Unterordner nach stringvar bedeuten, glaube ich.

Gruß
Demian
Titel: Re: MKDIR felxibel halten?
Beitrag von: Axel am 15.10.07 - 10:28:07
Das ist doch nicht der gesamte Code, oder?

Axel
Titel: Re: MKDIR felxibel halten?
Beitrag von: Demian am 15.10.07 - 10:29:03
Moin Axel,

meinst du meinen Ausschnitt oder den von Lancelot?

Gruß
Demian
Titel: Re: MKDIR felxibel halten?
Beitrag von: Axel am 15.10.07 - 10:30:49
Moin Axel,

meinst du meinen Ausschnitt oder den von Lancelot?

Gruß
Demian

Den von Lancelot.

Axel
Titel: Re: MKDIR felxibel halten?
Beitrag von: Demian am 15.10.07 - 10:40:26
Also, habe mir deinen Code kopiert und ausprobiert. Hatte auch die Fehlermeldung. Bei mir lag es daran, dass es den Ordner "Archiv" auf C:\ noch nicht gab. Als ich diesen manuell erstellt habe gings.

Schätze mal, dass es bei dir auch so ist.

Füge einfach ein
mkdir "C:\Archiv" vor dem Mkdir pathvar ein, dann soltle es gehen.

Gruß
Demian
Titel: Re: MKDIR felxibel halten?
Beitrag von: Lancelot am 15.10.07 - 11:35:43
;-)))

Jetzt funktioniert alles prima.

Habe den Ordner "C:\Archiv" angelegt.
Die restlichen Ordner werden jetzt mit MKDIr und i über den Agent angelegt.

Habe auch noch das "& "\" rausgenommen, jetzt ist es perfekt.

Danke Euch allen.
Titel: Re: MKDIR felxibel halten?
Beitrag von: Demian am 15.10.07 - 14:27:05
Stimmt, wenn man das mkdir in den Code einfügt, führt das ja spätestens beim 2. Durchlauf zu nem Fehler.