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, 2196 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 ..
Ähnliche Inhalte
Batch & Shell
Powershell Import Computer aus csv in array und Befehl abarbeiten (4)

Frage von Robbi666 zum Thema Batch & Shell ...

SAN, NAS, DAS
CLI Cable HP 2012fc sc modular smart array oder serielles Kabel (8)

Frage von Dominik-EUNES zum Thema SAN, NAS, DAS ...

Server-Hardware
Hp smart array e200i accu austausch (8)

Frage von hansleo zum Thema Server-Hardware ...

Entwicklung
gelöst Array in HTML-Tabelle umwandeln mittels AutoIT (5)

Frage von drnatur zum Thema Entwicklung ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Heiß diskutierte Inhalte