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, 2486 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
Batch & Shell
Cpl Dateien per Batch oder VBS öffnen (1)

Frage von Angelo131095 zum Thema Batch & Shell ...

VB for Applications
gelöst VBS Ordner erstellen - wenn nicht vorhanden! (1)

Frage von freshman2017 zum Thema VB for Applications ...

VB for Applications
gelöst VBS Datei Auswahl Dialog (5)

Frage von Compu2017 zum Thema VB for Applications ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Netzwerke
LAN2LAN Verbindung sehr langsam flaschenhals gesucht (27)

Frage von PixL86 zum Thema Netzwerke ...

LAN, WAN, Wireless
Rogue Access Point (20)

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

Webbrowser
Windows 7 unbeliebte Internetseite sperren (13)

Frage von Daoudi1973 zum Thema Webbrowser ...

E-Mail
Fake E-Mail in Outlook für Demonstartionszwecke (12)

Frage von sascha382 zum Thema E-Mail ...