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

Von VBS erstellte Batchdatei läuft nicht

Frage Entwicklung VB for Applications

Mitglied: Gurkenhobel

Gurkenhobel (Level 1) - Jetzt verbinden

18.10.2012, aktualisiert 10:18 Uhr, 2481 Aufrufe, 4 Kommentare

Hallo, wieder stehe ich einmal vor einem Rätsel und bitte um Eure Hilfe,

Mit folgendem Script erstelle ich eine Batchdatei:
01.
 
02.
EingabeDatei = "WBZInfo.csv" 
03.
Ausgabedatei = "Kat.bat" ' Die Zieldatei wird im aktuellen Verzeichnis abgelegt 
04.
 
05.
Const ForReading = 1, ForWriting = 2, ForAppending = 8 
06.
 
07.
Set fso = CreateObject("Scripting.FileSystemObject") 
08.
 
09.
If fso.FileExists(EingabeDatei) Then 
10.
     Set objEingabe = fso.OpenTextFile(EingabeDatei, ForReading) 
11.
 
12.
Else 
13.
     MsgBox "Fehler: Eingabedatei ist nicht vorhanden." 
14.
     Wsh.Quit 
15.
End If 
16.
 
17.
Set objAusgabe = fso.CreateTextFile(Ausgabedatei, 2, True) 
18.
objEingabe.Skipline ' Die erste Zeile auslassen 
19.
 
20.
Do While not objEingabe.AtEndOfLine 
21.
 
22.
Inhalt=objEingabe.ReadLine ' ReadAll 
23.
arrays=Split(Inhalt, ";") 
24.
 
25.
' -------------------------------- 
26.
' Die Felder der Datei WBZInfo.csv 
27.
' 4/11 title 
28.
' 5/12 credit 
29.
' 7/16 category - album 
30.
' 10   ID 
31.
' 14   category 
32.
' 17   dailyDateDDMMYYYY 
33.
 
34.
AB = Chr(34) ' Hoch-Komma oder Gänsefüserl 
35.
alterName=arrays(10) & " " & arrays(4) & ".jpg" 
36.
neuerName=UCase(arrays(16)) & "=" & arrays(10) & " " & arrays(4) & ".jpg" 
37.
 
38.
objAusgabe.WriteLine "RENAME " & AB & alterName & AB &  " " & AB & neuerName & AB 
39.
 
40.
Loop 
41.
 
42.
objEingabe.Close 
43.
objAusgabe.Close 
44.
 
45.
Set objAusgabe = Nothing 
46.
Set objEingabe = Nothing 
47.
Set fso = Nothing 
48.
 
49.
MsgBox Ausgabedatei & " erstellt" 
Die Lösung mit AB (Hochkomma) mußte ich wählen, da die Dateinamen viele Leerzeichen aufweisen und so Quelle und Ziel in Hochkommas gesetzt werden mußten, damit der RENAME-Befehl zufriedenstellend arbeitet.

Es wird also eine Batchdatei erstellt, die 1800 Byte gro0 ist. Starte ich diese von der Aufgabeaufforderung aus, so kommt folgende Fehlermeldung:
Der Befehl "■R" ist entweder falsch geschrieben oder 
konnte nicht gefunden werden.
Gebe ich hingegen "type Kat.bat" ein erscheint der Umbenenn-Befehl so wie er sein soll:
RENAME "DateinameAlt.jpg" "DateinameNeu.jpg".
Nun habe ich eine neue Batchdatei 'umgepipt':
type kat.bat > ka.bat.
Diese lä0t sich nun auch ausführen und ist auch nur noch halb so groß (901 kB).

Der fc-Befehl (vergleiche kat.bat und ka.bat) zeigt bei der größeren Datei hinter jedem Zeichen einen Zeilenumbruch (daher wohl die doppelte Größe). Ein Hexeditor meiner Wahl beginnt die Datei mit FF und FE und läßt hinter jedem Zeichen ein NUll zeichen (hex 00) folgen. s. Screenshot

Wie ist das hineingekommen ?

Auf Antwort freut sich

GH Micha
Mitglied: ColdZero89
18.10.2012, aktualisiert um 11:36 Uhr
Moin,

ich kann dir allgemein nicht helfen, dennoch bin ich verwirrt. 901 KB sind nicht die hälfte von 1800 B!
KB = KiloByte ((Byte / 1000) genau genommen Byte / 1024) und Byte sind Byte.
Daher ist die "ka.bat" größer als die "kat.bat"

kat.bat = 1800Byte = 1,76KiloByte
ka.bat = 901KiloByte = 922624 Byte = 0,87MegaByte

Eventuell hast du dich verschrieben, dennoch leicht verwirrend, wenn es richtig geschrieben ist, sp ist die ka.bat halt größer als die kat.bat.

Gruß Zero
Bitte warten ..
Mitglied: bastla
18.10.2012, aktualisiert um 12:37 Uhr
Hallo Gurkenhobel!

Lass in Zeile 17 das "True" weg, da Du damit eine Unicode-Datei erzeugst ...

BTW: Wozu die Batchdatei? Umbenennen kannst Du auch mit VBS ...

Grüße
bastla
Bitte warten ..
Mitglied: Gurkenhobel
18.10.2012 um 12:55 Uhr
Hallo Bastla,
und wieder einmal hast Du mir sehr schnell helfen können, der Unicode wars.
Zitat von bastla:
BTW: Wozu die Batchdatei? Umbenennen kannst Du auch mit VBS ...
Ich mags halt immer ein bisschen umständlich.
Umbenennen müßte ich halt Zeile 38 in
01.
fso.MoveFile alterName, neuerName
@ ColdZero89
Zitat von ColdZero89:
Eventuell hast du dich verschrieben
habe ich auch unbeabsichtigt kb mit Byte verwechselt

Danke und Grüße
Micha
Bitte warten ..
Mitglied: ColdZero89
18.10.2012 um 12:59 Uhr
Moin,

ok war schon minimalverwundert.

Noch als Gelöst makieren

Gruß Zero
Bitte warten ..
Ähnliche Inhalte
Outlook & Mail
Unter Outlook 2010 fehlen selbst erstellte Ordner (6)

Frage von Fitzel69 zum Thema Outlook & Mail ...

VB for Applications
gelöst Tool zur scriptbasierten PDF-Bearbeitung gesucht (VBS oder Batch) (6)

Frage von SarekHL zum Thema VB for Applications ...

Batch & Shell
Batch, CMD - Prüfen ob ein Dienst existiert, nicht läuft (4)

Frage von RycoDePsyco zum Thema Batch & Shell ...

Batch & Shell
gelöst Hilfe Bei einem vbs Script (19)

Frage von Hattori-Hanzo zum Thema Batch & Shell ...

Neue Wissensbeiträge
Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Windows Server

Exchange 2010 auf Windows Server 2016 und AD

(2)

Tipp von Herbrich19 zum Thema Windows Server ...

KVM

How to: Libvirt Port forwarding

(2)

Anleitung von fundave3 zum Thema KVM ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
PC erhalten nicht immer eine gültige IP (29)

Frage von Lieberwolf zum Thema Netzwerkprotokolle ...

Windows Systemdateien
Windows 7 und 10 herunterfahren Knopf mit Script belegen (21)

Frage von c-o-o-p-e-r92 zum Thema Windows Systemdateien ...

Router & Routing
über Vmware auf eine FritzBox mit IPv6 per VPN (16)

Frage von Zockervogel zum Thema Router & Routing ...