Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VBS - Script für alle Dateien eines Ordners ausführen

Frage Entwicklung VB for Applications

Mitglied: Gurkenhobel

Gurkenhobel (Level 1) - Jetzt verbinden

12.07.2012 um 00:27 Uhr, 4517 Aufrufe, 21 Kommentare

Ich habe ein Script erstellt, daß bestimmte Textteile (Zeilen) einer .JSP-Datei in eine .HTML-Datei umwandelt, aber ich kann eben immer nur einen Dateinamen über die Inputbox eingeben zur Verarbeitung. Wie lässt sich dies für einen ganzen Ordner bzw. dessen Unterordner automatisieren?

Bisher bin ich bei all meinen Versuchen ziemlich verzweifelt und benötige Eure Hilfe. Zunächst einnmal die Konvertierungsdatei JSPinHTML.VBS:
01.
 Const searchStr = "<tr>" 
02.
 inPath=Inputbox("Name der Datei","JSP zu HTML konvertieren","410.jsp") 
03.
 outPath=Left(inPath,3) & ".html" ' im aktuellen Ordner 
04.
 
05.
 With CreateObject("Scripting.FileSystemObject") 
06.
  Set Quelldatei = .OpenTextFile(inPath) 
07.
  Set Zieldatei = .OpenTextFile(outPath, 2, True) 
08.
 End With 
09.
 
10.
 Zieldatei.WriteLine "<html><body><table border=1><TH colspan=4>" 
11.
  Do Until Quelldatei.AtEndOfStream 
12.
  Zeile = Trim(Quelldatei.ReadLine) 
13.
    
14.
  If Left(Zeile, 66) = "<tr><td class=firstleft><a class=nowrap name=""zur&uuml;ck1"" href=#" Then 
15.
   Zieldatei.WriteLine Zeile ' vbNewLine & Zeile 
16.
 
17.
  Elseif Instr(1,"Gemeinde*", Zeile) then 
18.
   Zieldatei.WriteLine Zeile 
19.
 
20.
  ElseIf Left(Zeile, 34) = "<b>Gemeindestatistik 2011 f&uuml;r" Then 
21.
   Zieldatei.WriteLine Zeile 
22.
 
23.
  ElseIf Left(Zeile, 30) = "(Amtlicher Gemeindeschlüssel =" Then 
24.
   Zieldatei.WriteLine Zeile & "</TH>" 
25.
 
26.
   ' ... es folgen noch einige ElseIf-Blöcke 
27.
 
28.
  ElseIf Left(Zeile, 27) = "<tr><td class=firstleft>von" Then 
29.
   Zieldatei.WriteLine Zeile 
30.
 
31.
  End if 
32.
  End if 
33.
 
34.
 Loop 
35.
 
36.
Zieldatei.Writeline "</table></body></html>" 
37.
 
38.
Quelldatei.Close 
39.
Zieldatei.Close
Nun habe ich diesen Code etwas abgewandelt als Sub-Prozedur in ein neues Script eingefügt, aber es werden mir laufend Fehler präsentiert. Die Zuordnung der Dateien stimmt nicht. Hier der nicht lauffähige Code

01.
Dim FSO, Ordner, Datei 
02.
Dim strFolder 
03.
Const ForReading = 1, ForWriting = 2, ForAppending = 8 
04.
strFolder = ".\"   ' aktueller Ordner 
05.
Set FSO = CreateObject("Scripting.FileSystemObject") 
06.
set Ordner = FSO.GetFolder(strFolder) 
07.
 
08.
For Each Datei In Ordner.Files 
09.
 If LCase(FSO.GetExtensionName(Datei.Path)) = "jsp" Then 
10.
  JSPinHTML(Ordner)  ' Subroutine 
11.
 Else 
12.
 End If 
13.
Next 
14.
 
15.
Set Ordner = Nothing 
16.
Set FSO = Nothing 
17.
' Liest Textzeilen aus *.jsp-Dateien 
18.
 
19.
Sub JSPinHTML(strOrdner) ' oder als FUNCTION ?? 
20.
Const searchStr = "<tr>" 
21.
inpath=strOrdner 
22.
outPath=Left(inpath,3) & ".html"  <------- Syntaxfehler 
23.
 
24.
With CreateObject("Scripting.FileSystemObject") 
25.
 Set Quelldatei = .OpenTextFile(inPath) 
26.
 Set Zieldatei = .OpenTextFile(outPath, 2, True) 
27.
End With 
28.
 
29.
 Zieldatei.WriteLine "<html><body><table border=1><TH colspan=4>" 
30.
  Do Until Quelldatei.AtEndOfStream 
31.
  Zeile = Trim(Quelldatei.ReadLine) 
32.
    
33.
  If Left(Zeile, 66) = "<tr><td class=firstleft><a class=nowrap name=""zur&uuml;ck1"" href=#" Then 
34.
   Zieldatei.WriteLine Zeile ' vbNewLine & Zeile 
35.
 
36.
  Elseif Instr(1,"Gemeinde*", Zeile) then 
37.
   Zieldatei.WriteLine Zeile 
38.
 
39.
  ElseIf Left(Zeile, 34) = "<b>Gemeindestatistik 2011 f&uuml;r" Then 
40.
   Zieldatei.WriteLine Zeile 
41.
 
42.
  ElseIf Left(Zeile, 30) = "(Amtlicher Gemeindeschlüssel =" Then 
43.
   Zieldatei.WriteLine Zeile & "</TH>" 
44.
 
45.
   ' ... es folgen noch einige ElseIf-Blöcke 
46.
 
47.
  ElseIf Left(Zeile, 27) = "<tr><td class=firstleft>von" Then 
48.
   Zieldatei.WriteLine Zeile 
49.
 
50.
  End if 
51.
  End if 
52.
 
53.
 Loop 
54.
 
55.
Zieldatei.Writeline "</table></body></html>" 
56.
 
57.
Quelldatei.Close 
58.
Zieldatei.Close 
59.
End Sub 
60.
 
Das Script läuft immer im aktuellen Ordner, es erscheint mir günstiger, wenn ich es von Ordner zu Ordner kopiere, als wenn ich jedesmal das Script anpassen muss. Alternativ könnten man aber auch die Verarbeitung in ALLEN UNTERORDNERN vornehmen, denn die JSP-Dateien liegen parallel unter einem Parent Folder.

Ich freu' mich schon auf Antworten und danke im voraus.

Micha:
Mitglied: rubberman
12.07.2012, aktualisiert um 01:48 Uhr
Hallo Micha,

so könnte die Routine für das rekursive Durchsuchen nach *.jsp Dateien aussehen:
01.
Set objFSO = CreateObject("Scripting.FileSystemObject") 
02.
GetJspFiles(objFSO.GetParentFolderName(WScript.ScriptFullName)) 
03.
Set objFSO = Nothing 
04.
 
05.
 
06.
Sub GetJspFiles(strFolderName) 
07.
  If objFSO.FolderExists(strFolderName) Then 
08.
    Set objFolder = objFSO.GetFolder(strFolderName) 
09.
    On Error Resume Next 
10.
    For Each objFile In objFolder.Files 
11.
      If LCase(objFSO.GetExtensionName(objFile.Name)) = "jsp" Then 
12.
        ' Statt dem "WScript.Echo" solltest du hier die Subroutine 
13.
        '  für die HTML Dateien aufrufen.  
14.
        WScript.Echo objFile.Path 
15.
      End If 
16.
    Next 
17.
    For Each objSubFolder In objFolder.SubFolders 
18.
      GetJspFiles(objSubFolder.Path) 
19.
    Next 
20.
    On Error Goto 0 
21.
  End If 
22.
End Sub
Grüße
rubberman
Bitte warten ..
Mitglied: Gurkenhobel
12.07.2012 um 08:54 Uhr
Hi Rubberman,
danke für Deine mitternächtliche Antwort. Ich habe die Zeile 14 Deines Scripts durch
01.
JSPinHTML objFile.Path
ersetzt und unten die Subroutine JSPinHTML angehängt.
Ich bekomme aber immer nur eine generierte Datei FALSE mit dem Inhalt
01.
<html><body><table border=1><TH colspan=4>
also der Zeile 14 meines ersten Scripts. Wahrscheinlich muss der Anfang der Subroutine HSPinHTML umgebaut werden.
Ich bin Grünfink, habe noch nicht allzuviel Ahnung wie man das bewerkstelligen könnte. Die Auflistung der JSP-Dateien mit
01.
 Wscript.Echo objFile.Path
funktioniert ja gut.

vy73 Micha
Bitte warten ..
Mitglied: 76109
12.07.2012 um 13:01 Uhr
Hallo Micha!

Versuchs mal hiermit:
01.
    Dim objFso, strFolder 
02.
 
03.
'Main Beg 
04.
    Set objFso = CreateObject("Scripting.FileSystemObject") 
05.
     
06.
    strFolder = objFso.GetParentFolderName(WScript.ScriptFullName) 
07.
     
08.
    If objFso.FolderExists(strFolder) Then 
09.
        Call GetJspFiles(objFso.GetFolder(strFolder)) 
10.
    End If 
11.
     
12.
    Set objFso = Nothing 
13.
'Main End 
14.
 
15.
 
16.
Sub GetJspFiles(ByRef objFolder) 
17.
    Dim objFile, objSubFolder 
18.
     
19.
    For Each objFile In objFolder.Files 
20.
        If LCase(objFso.GetExtensionName(objFile.Name)) =  "jsp" Then 
21.
            Call JSPinHTML(objFile.Path, objFolder.Path) 
22.
        End If 
23.
    Next 
24.
     
25.
    For Each objSubFolder In objFolder.SubFolders 
26.
      Call GetJspFiles(objSubFolder) 
27.
    Next 
28.
End Sub 
29.
 
30.
 
31.
Sub JSPinHTML(ByRef strPath, ByRef strFolder) 
32.
    Dim arrText, strText, strTextLine, strHtmlPath, objJspFile, objHtmlFile 
33.
     
34.
    strHtmlPath = objFso.BuildPath(strFolder, objFso.GetBaseName(strPath) & ".html") 
35.
     
36.
    Set objJspFile = objFso.OpenTextFile(strPath) 
37.
    Set objHtmlFile = objFso.CreateTextFile(strHtmlPath) 
38.
     
39.
    arrText = Split(objJspFile.ReadAll, vbCrLf) 
40.
      
41.
    objHtmlFile.Writeline "<html><body><table border=1><TH colspan=4>" 
42.
       
43.
    For Each strTextLine In arrText 
44.
        If strTextLine <> "" Then 
45.
            strText = Trim(strTextLine) 
46.
                
47.
            With objHtmlFile 
48.
                If Left(strText, 66) = "<tr><td class=firstleft><a class=nowrap name=""zurück1"" href=#" Then 
49.
                    .Writeline strText 
50.
                ElseIf InStr(1, "Gemeinde*", strText) Then 
51.
                    .Writeline strText 
52.
                ElseIf Left(strText, 34) = "<b>Gemeindestatistik 2011 für" Then 
53.
                    .Writeline strText 
54.
                ElseIf Left(strText, 30) = "(Amtlicher Gemeindeschlüssel =" Then 
55.
                    .Writeline strText & "</TH>" 
56.
                ElseIf Left(strText, 27) = "<tr><td class=firstleft>von" Then 
57.
                    .Writeline strText 
58.
                End If 
59.
            End With 
60.
        End If 
61.
    Next 
62.
     
63.
    objHtmlFile.Writeline "</table></body></html>" 
64.
     
65.
    objJspFile.Close 
66.
    objHtmlFile.Close 
67.
End Sub
Gruß Dieter
Bitte warten ..
Mitglied: Gurkenhobel
12.07.2012 um 15:20 Uhr
Hi Dieter,
Härrlisch - so habe ich mir das vorgestellt. Das Skript lief wunderbar reibungslos und alles wurde zur vollsten Zufriedenheit generiert. Das Grundgerüst mit dem rekursiven Bearbeiten ist sehr wertvoll als weitere Vorlage für ähnliche Projekte. Auf jeden Fall HERZLICHEN DANK.

vy73 Micha
Bitte warten ..
Mitglied: 76109
12.07.2012, aktualisiert um 17:25 Uhr
Hallo Micha!

Jepp, gern geschehen

Fehlt eigentlich nur noch so'n grüner Haken

Gruß Dieter
Bitte warten ..
Mitglied: Gurkenhobel
12.07.2012 um 19:59 Uhr
Hallo Dieter,
ich hab das Script umgestellt auf die Instr-Funktion (ist für mich sicherer). Allerdings kommt jetzt bei Zeile 37
01.
Set objHtmlFile = objFso.CreateTextFile(strHtmlPath)
ein Laufzeitfehler 46: Erlaubnis verweigert. Könnte da noch eine Datei offen sein ? Ansonsten geht das Script auch.
Wegen dem grünen Haken muß ich schnell noch mal zum Baumarkt, bevor er 20.00 schließt
Bitte warten ..
Mitglied: rubberman
12.07.2012 um 23:55 Uhr
Hallo Zusammen!

@Dieter
Gleich das Folder Objekt zu referenzieren gefällt mir besser. Daumen hoch

@Micha
Wie und für was setzt du InStr() ein? Bring mal ein paar Codezeilen.

Grüße
rubberman
Bitte warten ..
Mitglied: 76109
13.07.2012 um 01:00 Uhr
Hallo rubberman!

Gleich das Folder Objekt zu referenzieren gefällt mir besser. Daumen hoch
Freu mich, dass Dir das gefällt

Grüße und gute Nacht

Dieter
Bitte warten ..
Mitglied: Gurkenhobel
13.07.2012 um 07:30 Uhr
Guten Morgen
Zitat von rubberman:

@Micha
Wie und für was setzt du InStr() ein? Bring mal ein paar Codezeilen.
Ja wie gewünscht ein paar Codeschnipsel aus dem Inneren des Scripts
01.
...  
02.
 Elseif Instr(1,strText, "che</a> am 31.12",1) Then 
03.
       .WriteLine strText   ' Fläche 
04.
 ElseIf Instr(1, strText,"href=#32>Zuz",1) Then 
05.
       .WriteLine strText   'Zuzüge 
06.
 ElseIf Instr(1, strText,"href=#32>Fortz",1) Then 
07.
       .WriteLine strText   ' Fortzüge 
08.
ElseIf Instr(1, strText,"href=#Th3>Erwerbst",1) Then 
09.
       .WriteLine vbNewLine & "<tr><td colspan=4>< ab hier nichts&nbsp;mehr ></td></tr>" 
10.
...
Einsatzweck: Auslesen der gesuchten Zeilen und Schreiben in die HTML-Datei in der gleichen Reihenfolge wie in der Quelldatei. Statistikdatei.

vy73 Micha
Bitte warten ..
Mitglied: rubberman
13.07.2012 um 19:03 Uhr
Hallo Micha.

OK, das erklärt irgendwie nicht den Laufzeitfehler. Da muss was anderes im Argen sein. Per Ferndiagnose kriege ich das aber auch nicht raus

Grüße
rubberman
Bitte warten ..
Mitglied: Gurkenhobel
13.07.2012, aktualisiert um 20:21 Uhr
Hi rubberman,
da ist etwas ganz unerklärliches passiert. Ich habe als zweite Zeile 'On Error Resume Next' hereingenommen. Da kam natürlich keinerlei Fehlermeldung und die Dateien wurden ordentlich geschrieben. Dann habe ich diese Zeile wieder auskommentiert und die Meldung blieb ebenfalls weg.

Nun habe ich noch ein anderes Ploblem.

Und zwar habe ich didi's Konzept genommen und mir ein Script gebastelt, das jede Datei umbenennt. Und zwar in eine Schlüsselnummer (AGS), die in jeder Datei vorliegt und daraus ausgelesen wird (Zeile 43 bis 45). So soll also aus 210.jsp 14251210.jsp werden. Das bringt mir mehr Übersicht.

Mit dem Script bin ich fast bis ans Ende angelangt, nur will er mir den aktuellen (alten) Dateinamen nicht anzeigen (in Zeile 56). Ich habe schon alle Varianten ausprobiert, aber es kommen immer Fehler oder leere Strings. Hier ist einmal der Code zum Anschauen:
01.
    Dim objFso, strFolder 
02.
 
03.
' Beginn Hauptprogramm 
04.
 
05.
    Set objFso = CreateObject("Scripting.FileSystemObject") 
06.
    strFolder = objFso.GetParentFolderName(WScript.ScriptFullName) ' nur der Ordnername 
07.
     
08.
    If objFso.FolderExists(strFolder) Then 
09.
        Call GetJspFiles(objFso.GetFolder(strFolder)) 
10.
    End If 
11.
     
12.
    Set objFso = Nothing 
13.
 
14.
' Ende Hauptprogramm 
15.
 
16.
Sub GetJspFiles(ByRef objFolder) 
17.
    Dim objFile, objSubFolder 
18.
     
19.
    For Each objFile In objFolder.Files 
20.
        If LCase(objFso.GetExtensionName(objFile.Name)) = "jsp" Then 
21.
            Call JSPRename(objFile.Path, objFolder.Path) 
22.
        End If 
23.
    Next 
24.
     
25.
    For Each objSubFolder In objFolder.SubFolders 
26.
      Call GetJSPRename(objSubFolder) 
27.
    Next 
28.
' objFile.Close 
29.
 
30.
End Sub 
31.
 
32.
Sub JSPRename(ByRef strPath, ByRef strFolder) 
33.
    Dim arrText, strText, strTextLine, Position , objJspFile, newFilename, strVerz 
34.
     
35.
    Set objJspFile = objFso.OpenTextFile(strPath) 
36.
     
37.
    arrText = Split(objJspFile.ReadAll, vbCrLf) ' In Zeilen Splitten 
38.
      
39.
    For Each strTextLine In arrText 
40.
      If strTextLine <> "" Then 
41.
         strText = Trim(strTextLine) 
42.
 
43.
       If Instr(1,strText,"(Amtlicher Gemeindeschlüssel",1) Then 
44.
        Position=Instr(1, strText, "(Amtlicher Gemeindeschlüssel =",1) 
45.
       newFilename=mid(strText,Position+31, 8) 
46.
      
47.
       else 
48.
       end if 
49.
      end if 
50.
 
51.
    Next 
52.
 
53.
' objFile.Close ' deaktiviert wegen Zeile 28 
54.
 
55.
 strVerz=objFSO.GetParentFoldername(WScript.ScriptFullName) ' nutzlose Hilfszuordnung ? 
56.
 strNewName = strVerz & "\" & newFilename & ".jsp"  
57.
 
58.
 Wscript.echo strNewName & vbcrlf & strVerz.files ' ??GetAbsolutePathname(strFolder) / objFile.Path?? 
59.
   
60.
 ' objFSO.MoveFile strVerz.files, strNewName 
61.
 ' erst aktivieren, wenn Wscript.echo in der 50. Zeile den alten Dateinamen zeigt 
62.
 
63.
  
64.
  objJspFile.Close 
65.
 
66.
End Sub
Was muss also in der Zeile 56 und 60 anstelle von strVerz angegeben werden, damit WScript.Echo den neuen und den alten Dateinamen anzeigt. Danach kann man die Zeile 60 wieder aktivieren.
Bitte warten ..
Mitglied: 76109
13.07.2012, aktualisiert um 20:19 Uhr
Hallo Gurkenhobel!

Also, bitte Codezeile 28 ersatzlos streichen

Da gibt es nichts zum Schließen??????????

Und auf was soll sich die Codezeile 53 beziehen???????

Auf was soll sich das objFile in Deinem unteren Codeteil überhaupt beziehen?????????


Gruß Dieter
Bitte warten ..
Mitglied: Gurkenhobel
13.07.2012 um 20:26 Uhr
Hi Dieter,
die Codezeile 28 war ja schon deaktiviert. Bei Zeile 53 hatte er rumgemeckert, dass muss irgendwie beim Codereinkpieren mit reingerutscht sein.
Jetzt meckert er bei Zeile 56: Objekt erforderlich: strVerz. Ich weiß wirklich nicht, was da rein soll.
Grüße Micha:
Bitte warten ..
Mitglied: Gurkenhobel
16.07.2012, aktualisiert um 20:25 Uhr
Hallo,
mit einer Stringmanipulation habe ich das Script zum Laufen bekommen. Hier ist der zu ersetzende Code ab Zeile 51.
01.
 Next 
02.
 
03.
 objJspFile.Close 
04.
 
05.
  cutme=Left(strPath, InStrRev(strPath,"\")-1)  
06.
  strNewName = cutme & "\" & newFilename & ".jsp" 
07.
  ' Wscript.echo "Old Filename: " & strPath & vbcrlf & vbcrlf & "New Filename: " & strNewName 
08.
  ' Testanzeige 
09.
  objFSO.MoveFile strPath, strNewName 
10.
 
11.
End Sub
.
Zu beachten war außerdem, daß objJspFile erst geschlossen werden musste, ehe es sich umbenennen lies. Danke und Grüße an alle die mir geholfen haben.........
Micha
Bitte warten ..
Mitglied: 76109
16.07.2012, aktualisiert um 23:42 Uhr
Hallo Micha!

Dann eher so:
01.
Sub GetJspFiles(ByRef objFolder) 
02.
    Dim objFile, objSubFolder 
03.
     
04.
    For Each objFile In objFolder.Files 
05.
        If LCase(objFso.GetExtensionName(objFile.Name)) = "jsp" Then 
06.
            Call JSPRename(objFile) 
07.
        End If 
08.
    Next 
09.
     
10.
    For Each objSubFolder In objFolder.SubFolders 
11.
      Call GetJspFiles(objSubFolder)  'Hier nix verändern!!! 
12.
    Next 
13.
End Sub 
14.
 
15.
Sub JSPRename(ByRef objFile) 
16.
    Dim arrText, strText, strTextLine, objJspFile, intPosition 
17.
     
18.
    Set objJspFile = objFso.OpenTextFile(objFile.Path) 
19.
     
20.
    arrText = Split(objJspFile.ReadAll, vbCrLf):   objJspFile.Close 
21.
     
22.
    For Each strTextLine In arrText 
23.
        If strTextLine <> "" Then 
24.
            strText = Trim(strTextLine) 
25.
 
26.
            intPosition = InStr(1, strText, "(Amtlicher Gemeindeschlüssel", vbTextCompare) + 31 
27.
             
28.
            If intPosition > 31 Then 
29.
                objFile.Name = Mid(strText, intPosition, 8) & ".jsp" 
30.
            End If 
31.
        End If 
32.
    Next 
33.
End Sub
Gruß Dieter
Bitte warten ..
Mitglied: Gurkenhobel
17.07.2012 um 14:30 Uhr
Ja, ein verkürztes Script, aber es arbeitet nicht - überhaupt keine Dateinamenänderung.
objFSO.MoveFile war glaub' ich die bessere Wahl

Gruß Micha
Bitte warten ..
Mitglied: 76109
17.07.2012 um 15:28 Uhr
Hallo Micha!

Eine Datei umzubenennen halte ich durchaus für die bessere Lösung und funktioniert bei mir auch einwandfrei.

Hast Du den Code auch komplett kopiert?

Gruß Dieter
Bitte warten ..
Mitglied: Gurkenhobel
17.07.2012, aktualisiert um 19:57 Uhr
Hallo Dieter,

ist schon irgendwie komisch. Habe auf Zeile 27 eingefügt WScript.echo "Zeile: " & strText (das mache ich desöfteren zur Prüfung) und getestet - Null Reaktion - keine Anzeige.

JETZT KOMMTS Dann habe in Codezeile 3 Deines Scripts geschrieben WScript.Echo "Code von Dieter" Ergebnis: KEIN FENSTER - keine Reaktion. Ebensowenig wie bei MsgBox "....

Was ist denn da los. Mein Script läuft komischerweise - auch bei kurzen Test-JSP-Dateien mit eingefügter Zeile "Amtlicher Gemeindeschlüssel = 14777999" oder "1477888" usw.

Zur Sicherheit habe ich den Code nochmals kopiert...

Gruß Micha
Bitte warten ..
Mitglied: 76109
17.07.2012, aktualisiert um 20:21 Uhr
Hallo Micha!

Hm, hast Du auch den oberen Codeteil mit drinnen?
01.
    Dim objFso, strFolder 
02.
 
03.
' Beginn Hauptprogramm 
04.
 
05.
    Set objFso = CreateObject("Scripting.FileSystemObject") 
06.
    strFolder = objFso.GetParentFolderName(WScript.ScriptFullName) ' nur der Ordnername 
07.
     
08.
    If objFso.FolderExists(strFolder) Then 
09.
        Call GetJspFiles(objFso.GetFolder(strFolder)) 
10.
    End If 
11.
     
12.
    Set objFso = Nothing 
13.
 
14.
' Ende Hauptprogramm
Gruß Dieter

PS.
Was ist denn da los. Mein Script läuft komischerweise - auch bei kurzen Test-JSP-Dateien
mit eingefügter Zeile "Amtlicher Gemeindeschlüssel = 14777999" oder "1477888" usw.
Da fehlt noch die Klammer an Position 1:
"(Amtlicher Gemeindeschlüssel"
Bitte warten ..
Mitglied: Gurkenhobel
17.07.2012 um 20:41 Uhr
Zitat von 76109:
Hallo Micha!

Hm, hast Du auch den oberen Codeteil mit drinnen?

Natürlich nicht - total übersehen. Jetzt läuft der Code einwandfrei.

Da fehlt noch die Klammer an Position 1:
"(Amtlicher Gemeindeschlüssel"

Ja, das hatte ich nur hier im Codetext vergessen.

Herzlichen Dank für die viele Mühe, die DU mit mir hattest und noch einen schönen Abend.

Micha
Bitte warten ..
Mitglied: 76109
17.07.2012 um 21:12 Uhr
Hallo Micha!

Hm, hast Du auch den oberen Codeteil mit drinnen?
Natürlich nicht - total übersehen. Jetzt läuft der Code einwandfrei.
Hab ich's mir doch gedacht

>Herzlichen Dank für die viele Mühe, die DU mit mir hattest und noch einen schönen Abend.
Jepp, gern geschehen und auch Dir noch einen schönen Abend

Dieter
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes

Frage von Sentinel87 zum Thema VB for Applications ...

Batch & Shell
gelöst VBS Script in eine Textdatei ausgeben (VBS mit Batch zusammenführen) (5)

Frage von Luuke257 zum Thema Batch & Shell ...

Windows Server
Batch Script bei Start ausführen (3)

Frage von KEFHVDI zum Thema Windows Server ...

Batch & Shell
gelöst Script: Dateien kopieren, Benamung anhang von Attributen (4)

Frage von Flexxa zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...