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
Kommentar vom Moderator Biber am 27.07.2011 um 01:31:31 Uhr
Frage verschoben von "Windows?" nach "Batch & Shell"

Mittels Batch Datei Zeilen in CSV-Dateien löschen und anschliessen auf ftp-server uploaden

Frage Entwicklung Batch & Shell

Mitglied: kenny000

kenny000 (Level 1) - Jetzt verbinden

26.07.2011, aktualisiert 27.07.2011, 5502 Aufrufe, 2 Kommentare

Ich hab schon einiges im forum herumgestöbert und auch einiges ausprobiert, jedoch funktionieren diese nicht :/

Ich benötige ein Batch File die folgendes macht:
also zuerst sollten mehrere csv dateien durchsucht werden und folgende zeilen gelöscht werden -> ||||||||||||||||||||||||||||||
Dies sind exportierte Trennzeichen von Excel. Jede Datei besitzt so ca. 10000 zeilen wobei es vorkommt das zwischendurch einige Zeilen, so wie oben gezeigt, so ausgegeben werden.

Anschliessend sollen diese 6 bzw. 7 bearbeiteten csv.files auf den ftp-server geladen werden.

Wenn alles erfolgreich abgeschlossen ist sollte eine Meldung ausgegeben werden.

Für das bearbeiten der csv Dateien hab ich folgenden code probiert:
01.
@ECHO off 
02.
SETLOCAL enabledelayedexpansion 
03.
 
04.
REM Suchen und Ersetzen in einer Textdatei 
05.
 
06.
SET "quell_datei=c:\temp\test\juhu.csv" 
07.
SET "ziel_datei=c:\temp\juhu.csv" 
08.
SET "suchen_nach=^|||" 
09.
SET "ersetzen_durch=" 
10.
 
11.
REM Ausgabe einer Fehlermeldung und Programmabbruch 
12.
REM falls die Variable "suchen_nach" nicht definiert ist 
13.
IF NOT DEFINED suchen_nach (ECHO Fehler: Die Variable suchen_nach nicht definiert^^!&GOTO :eof) 
14.
 
15.
REM Loeschen der Ausgabedatei, falls sie (noch) existiert 
16.
IF EXIST %ziel_datei% (DEL /f %ziel_datei% 1>NUL 2>NUL) 
17.
 
18.
REM Quell-Datei zeilenweise auslesen  
19.
REM und in Variable "zeile" schreiben 
20.
FOR /f "delims=" %%i IN ('FINDSTR . "%quell_datei%"') DO ( 
21.
SET zeile=%%i& CALL :ersetzen !zeile! 
22.
23.
GOTO :weiter 
24.
:ersetzen 
25.
REM innerhalb der Variable "zeile" 
26.
REM den Inhalt der Variable "suchen_nach" suchen 
27.
REM und diese durch den Inhalt der Variable "ersetzen_durch" ersetzen 
28.
SET zeile=!zeile:%suchen_nach%=%ersetzen_durch%! 
29.
 
30.
REM Inhalt der Variable "zeile" in die Ausgabedatei schreiben 
31.
IF [!zeile!] EQU [] (ECHO.>>%ziel_datei%) ELSE (ECHO !zeile!>>%ziel_datei%) 
32.
GOTO :eof 
33.
 
34.
ECHO Fertig^^!
wobei dieser code nur für ein file gemacht wurde, ich habe aber einen ganzen ordner voll ;)

Also den upload habe ich hinbekommen

Danke und gruss Jürgen

PS: Ist eventuell auch möglich über dieser Batch Datei ein Makro in einem Excel auszuführen?

[Edit Biber] Codefragment durch Codeformatierung lesbar gemacht. [/Edit]
Mitglied: bastla
26.07.2011 um 21:28 Uhr
Hallo kenny000 und willkommen im Forum!

Wenn es nur darum geht, Zeilen mit "|||" auszusortieren, würde ich einfach
findstr /v "|||" "%quelldatei%">"%zieldatei%"
verwenden - analog für alle csv-Dateien des Quellordners:
01.
@echo off & setlocal 
02.
set "quellordner=c:\temp\test" 
03.
set "zielordner=c:\temp\" 
04.
 
05.
pushd "%quellordner%" 
06.
for /f "delims=" %%i in ('dir /b /a-d *.csv') do findstr /v "|||" "%%i">"%zielordner%\%%i" 
07.
popd
Hinsichtlich des Excel-Makros: Vermutlich lässt sich das auch als VBScript erledigen - per Batch könnte ich mir nur vorstellen, ev eine Excelmappe mit enthaltenem Autostart-Makro zu öffnen ...

Grüße
bastla
Bitte warten ..
Mitglied: kenny000
27.07.2011 um 17:20 Uhr
Hi,

supi funktioniert einwandfrei, danke für deine rasche antwort

gruss kenny
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (14)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...