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

Dateiliste aus Array verarbeiten

Frage Entwicklung VB for Applications

Mitglied: Oreuss

Oreuss (Level 1) - Jetzt verbinden

12.11.2012, aktualisiert 17:14 Uhr, 2181 Aufrufe, 1 Kommentar

Hallo,

ich schreibe gerade an einem VBS-Script, dass an eine Dateiliste aus einem Array verarbeiten und an ein Programm übergeben soll.

Folgende Funktionen hat das Skript:
- Dateiliste eines vorgegebenen Quellverzeichnis auslesen und an einen Array übergeben
- Dem Konvertierungsprogramm Pfade und Dateinamen des Quell- und Zielverzeichnisses übergeben
- Quelldaten in das Zielverzeichnis verschieben

Ich danke schonmal für Beiträge.
Gruß von Jan

Mit dem was ich bisher programmierte habe ich folgendes Problem:


Der Aufruf
01.
WSHShell.Run (strCommand), 4, True
verursacht beim zweiten Durchlauf einen Fehler.
Der 1te Aufruf des Konverters läuft wunderbar.
Setze ich den Zähler falsch?

01.
Option Explicit 
02.
' ************************ 
03.
' ** Konstantendeklaration 
04.
' ************************ 
05.
Dim Von, Nach, prginstall, logext, convext 
06.
Von = "D:\ModelleKonverter_1EINGANG" ' Quellpfad 
07.
Nach = "D:\ModelleKonverter_2AUSGANG" ' Zielpfad 
08.
'prginstall = "C:\Program Files (x86)\Notepad++\notepad++.exe" 
09.
prginstall = "C:\Program Files (x86)\3D-Tool V10\Convert.exe" 
10.
logext = ".txt" 
11.
convext = ".stp" 
12.
' *********************** 
13.
' ** Variablendeklaration 
14.
' *********************** 
15.
Dim StrF1(), i, j, StrStartfolder, ObjFSO, Datei, ObjFolder, quelldok, zieldok 
16.
Dim D, T, tmp, Timestamp, logdata, WSHShell, strCommand, zielmove, strCommandd 
17.
Set ObjFSO       = CreateObject("Scripting.FileSystemObject") 
18.
Set Datei      = CreateObject("Scripting.FileSystemObject") 
19.
Set WSHShell     = WScript.CreateObject("WScript.Shell") 
20.
'einlesen der im Verzeichnis enthaltenen Dateinamen in ein Array 
21.
i=0 
22.
if not ObjFSO.FolderExists(Von) Then 
23.
	MsgBox "Den Startordner gibt es gar nicht!",vbCritical,"Arrayprog:" 
24.
	wscript.quit 
25.
Else 
26.
	Set ObjFolder = ObjFSO.Getfolder(Von) 
27.
	redim StrF1(ObjFolder.files.count -1) 
28.
	For Each Datei in ObjFolder.Files 
29.
		StrF1(i) = Datei.Name 
30.
		i=i+1 
31.
	Next 
32.
End If 
33.
i=0 
34.
For each Datei in StrF1 
35.
	' ******************** 
36.
	' ** Modelle umwandeln 
37.
	' ******************** 
38.
	tmp = Replace(now,":", "-") 
39.
	Timestamp = Replace (tmp,".", "_") 
40.
	quelldok = Von & "\" & StrF1(i) 
41.
	zieldok = Nach & "\" & StrF1(i) & convext 
42.
	zielmove = Nach & "\" & StrF1(i) 
43.
	logdata = Nach & "\" & StrF1(i) & "_" & Timestamp & logext 
44.
	 
45.
' Befehlszeile fuer den Konverter 
46.
	strCommand = Chr(34) & prginstall & Chr(34) & " -i " & Chr(34) _ 
47.
	& quelldok & Chr(34) & " -o " & Chr(34) & zieldok & Chr(34) _ 
48.
	& " -ounit mm -healing 1 -hidden 0 -curves 1 -points 1 -log " _ 
49.
	& Chr(34) & logdata 
50.
	' & Chr(34) & " -w" 
51.
	 
52.
' Aufruf des Konverters 
53.
	'Wscript.Echo strCommand 
54.
	WSHShell.Run (strCommand), 4, True 
55.
	Set WSHShell = Nothing 
56.
	Set ObjFSO = Nothing 
57.
	' ***************************************** 
58.
	' ** Quelldokument in den Zielpfad kopieren 
59.
	' ***************************************** 
60.
	strCommandd = Chr(34) & quelldok & "," & Chr(34) & Nach 
61.
	Set ObjFSO      = CreateObject("Scripting.FileSystemObject") 
62.
	'objFSO.MoveFile strCommandd ,True 
63.
	'Wscript.Echo strCommandd 
64.
	objFSO.CopyFile quelldok, zielmove, True 
65.
	Set ObjFSO = Nothing 
66.
	' ************************ 
67.
	' ** Quelldokument löschen 
68.
	' ************************ 
69.
	Set ObjFSO      = CreateObject("Scripting.FileSystemObject") 
70.
	objFSO.DeleteFile quelldok 
71.
	Set ObjFSO = Nothing 
72.
	i=i+1 
73.
Next 
74.
' *************************************** 
75.
' ** Wenn Verzeichnis leer Script beenden 
76.
' *************************************** 
77.
If i = 0 Then 
78.
	MsgBox "Keine Daten in dem Quellverzeichnis vorhanden",vbCritical,"Arrayprog:" 
79.
    WScript.Quit 
80.
End If 
81.
WScript.Quit
Mitglied: bastla
12.11.2012 um 17:26 Uhr
Hallo Oreuss!

Wenn Du (unnötiger Weise, wie auch "ObjFSO") das "WshShell"-Objekt nach der ersten Verwendung vernichtest, brauchst Du Dich nicht darüber zu wundern, wenn es beim zweiten Array-Element nicht mehr vorhanden ist (was auch aus der - nicht geposteten - Fehlermeldung hervorgehen sollte) ...

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
PHP
gelöst Php regex und Array (5)

Frage von Thomas91 zum Thema PHP ...

C und C++
gelöst Anzahl der Buchstaben in einem String Element Array C++ (3)

Frage von Protected zum Thema C und C ...

C und C++
String einlesen in Array und wieder ausgeben von hinten (4)

Frage von Protected zum Thema C und C ...

Java
gelöst Textdatei in Array speichern (zeilenweise) (1)

Frage von Bruchsal zum Thema Java ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...