Top-Themen

Aktuelle Themen (A bis Z)

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 Batch Mehrere Dateien bearbeiten - Problem bei Echo Übergabe

Mitglied: Pounty

Pounty (Level 1) - Jetzt verbinden

14.06.2011 um 15:30 Uhr, 4964 Aufrufe, 7 Kommentare

Fehler bei der Echo Übergabe und dem Prozentzeichen

Hallo Leute,

ich möchte mithilfe einer Batchdatei einen Ordnerinhalt auslesen (die Dateinamen) und dann jedes File bearbeiten.

Mein Problem ist jetzt bei dem bearbeiten der Files:

01.
FOR /F "delims=" %%c IN ('dir *.cmd /b') DO ( >>%R% echo Set fso=CreateObject("Scripting.FileSystemObject"): T=fso.OpenTextFile("%%c").ReadAll:fso.CreateTextFile("%%c",True).Write Replace(T,"abc","balu") cscript //nologo %R% )
Hier sollte normalerweise, der VBScript teil in eine Replacer.vbs (%R%) geschrieben und ausgeführt werden.

Jedoch erhalte ich immer folgende Fehlermeldung: ":" ist syntaktisch an dieser Stelle nicht verarbeitbar.

Ich komm nicht weiter, wie ich den VBScript teil mit echo in die Datei korrekt umlenken kann.

Mit echo eingeklammert (" ") hat es nicht funktioniert, da in der Replacer.vbs am Anfang und am Ende jeden Datensatzes das Gänsefüßchen war.

Ich hoffe ihr versteht mein Problem und könnt mir helfen!

Grüße
Pounty
Mitglied: mathe172
14.06.2011 um 16:39 Uhr
Hallo,

wenn ich dich richtig verstehe, würde ich es so machen:
01.
(FOR /F "delims=" %%c IN ('dir *.cmd /b') DO (echo.Set fso=CreateObject(""Scripting.FileSystemObject""): T=fso.OpenTextFile(""%%c"").ReadAll:fso.CreateTextFile(""%%c"",True).Write Replace(T,""abc"",""balu""))>>"%R%" 
02.
 cscript //nologo %R% 
Deine Fehler:
  • (Dateipfade (%R%) in Anführungszeichen) -nur optisch, nicht komplett falsch, aber gefählich
  • (Nach dem echo ein . oder /) -nur optisch, nicht komplett falsch, aber gefählich
  • Befehle mit & verknüpfen (fällt bei mir weg)

oder willst du die Datei wirklich nach jedem neuen Eintrag ausführen?

MfG,
Mathe172
Bitte warten ..
Mitglied: Friemler
14.06.2011 um 17:32 Uhr
Hallo Pounty,

  1. Es ist für die Übersicht besser, solche Bandwurmzeilen zu vermeiden.
  2. Wenn man eine Textdatei öffnet, sollte man (wegen der Verständlichkeit) auch den Zugriffsmodus (lesen/schreiben) angeben.
  3. Es ist ungeschickt, bei jeden Schleifendurchlauf den VBS-Code neu zu schreiben.
  4. Besser ist, das VBScript einmal zu erzeugen (im %TEMP%-Verzeichnis) und es in der Schleife mit dem Namen der gerade zu verarbeitenden Datei als Parameter aufzurufen.
  5. Wenn das VBScript seine Arbeit getan hat, sollte man es auch wieder löschen.
  6. DIR könnte ja auch mal keine Datei finden. Um zu verhindern, dass dann der Schleifenrumpf mit dem Text der Fehlermeldung in der Laufvariablen aufgerufen wird, sollte man den Fehlerkanal 2 ins Nirvana umleiten.

Also so:
01.
@echo off 
02.
 
03.
setlocal 
04.
 
05.
 
06.
set "R=%Temp%\Replace.vbs" 
07.
 
08.
> "%R%" echo Set fso = CreateObject("Scripting.FileSystemObject") 
09.
>>"%R%" echo T = fso.OpenTextFile(WScript.Arguments(0)).ReadAll 
10.
>>"%R%" echo fso.CreateTextFile(WScript.Arguments(0), True).Write Replace(T, "abc", "balu") 
11.
 
12.
 
13.
for /f "delims=" %%c in ('dir /b *.cmd 2^>NUL') do ( 
14.
   cscript /nologo "%R%" "%%c" 
15.
16.
 
17.
del "%R%"
Gruß
Friemler
Bitte warten ..
Mitglied: Clijsters
14.06.2011 um 17:41 Uhr
[EDIT]
War mal wieder zu langsam...
Bitte warten ..
Mitglied: bastla
14.06.2011 um 19:25 Uhr
@Friemler
Wenn man eine Textdatei öffnet, sollte man (wegen der Verständlichkeit) auch den Zugriffsmodus (lesen/schreiben) angeben.
Wenn im Zuge des Öffnens ein "ReadAll" erfolgt, sehe ich kein Verständlichkeitsproblem - und ob die zusätzlich angegebenen (Default-)Parameter "1, False, 0" tatsächlich die Verständlichkeit fördern?

Ansonsten kann ich Dir aber nur beipflichten ...

Grüße
bastla
Bitte warten ..
Mitglied: Friemler
14.06.2011 um 19:40 Uhr
@bastla,

hast recht. Habe es gestrichen.

Gruß
Friemler
Bitte warten ..
Mitglied: mathe172
15.06.2011 um 13:47 Uhr
@Friemler
...Und natürlich ist dein Weg wieder schöner...

Mathe172
Bitte warten ..
Mitglied: Pounty
15.06.2011 um 15:04 Uhr
Besten Dank Friemler!

Hat perfekt geklappt

Grüße
Pounty
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Übergabe von mehreren Dateien an eine EXE

gelöst Frage von golsinBatch & Shell2 Kommentare

Hallo alle zusammen, ich grübel schon seit mehreren Tagen an einem Script was mehrere Dateien zur Verarbeitung an eine ...

Batch & Shell

Batch Parameter Argumente Übergabe Problem

gelöst Frage von BloodyRulzBatch & Shell1 Kommentar

Hallo zusammen, ich hoffe ich bekomme hier wieder die gewünschte Hilfe, da ich mit meinen sehr eingeschränkten Batchkenntnissen am ...

Batch & Shell

Batch zum bearbeiten mehrerer CSV

Frage von Matzus87Batch & Shell3 Kommentare

Hallo Zusammen, ich bin neu hier und arbeite mich gerade in die Batch Programmierung ein. Ich sitze momentan an ...

Batch & Shell

Batch : alle Dateien eines Ordners bearbeiten

gelöst Frage von deguonkelBatch & Shell1 Kommentar

Hallo, ich habe folgendes Problem, ich habe ein fertiges Batch-Programm, bei dem man einen Dateipfad angibt, und diese Datei ...

Neue Wissensbeiträge
Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 15 StundenHumor (lol)3 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 1 TagGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Sicherheit

Intel gibt neue Spectre V2-Microcode-Updates frei (20.02.2018)

Information von kgborn vor 1 TagSicherheit

Intel hat zum 20. Februar 2018 weitere Microcode-Updates für OEMs freigegeben, um Systeme mit neueren Prozessoren gegen die Spectre ...

Microsoft
ARD-Doku - Das Microsoft Dilemma
Tipp von Knorkator vor 1 TagMicrosoft3 Kommentare

Hallo zusammen, vor einigen Tagen lief in der ARD u.a. Reportage. Das Youtube Video dazu dürfte länger verfügbar sein. ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware17 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten13 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...