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 Textdatei halbieren

Mitglied: Pantherstyle

Pantherstyle (Level 1) - Jetzt verbinden

30.03.2009, aktualisiert 11:35 Uhr, 3688 Aufrufe, 13 Kommentare

Ich habe eine .txt Datei, die ich mit fc befüllt habe und die ich nun gerne auf die Hälfte reduziert hätte. In der Datei befinden sich verschieden viele Dateinamen, die untereinander geschrieben sind. Das fc was ich benutze, schreibt immer jeden Dateinamen 2mal in die Datei. Ich möchte, dass jeder Dateiname nur ein mal in die Datei geschrieben wird.
Hier der Inhalt der Datei:

ACMConvertDate.sql
BfxFctMasterGetOption.sql
UTIL_getDatePart.sql
UTIL_getFilename.sql
UTIL_isFileExistent.sql
zZz.txt
ACMConvertDate.sql
BfxFctMasterGetOption.sql
UTIL_getDatePart.sql
UTIL_getFilename.sql
UTIL_isFileExistent.sql
zZz.txt

Und hier das Script, dass sie erzeugt:

:: Erfassung der Revision von veränderten Dateien
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
for /F "tokens=1*" %%i IN (%HELP_PATH%\vorhanden.txt) DO (
fc %TAG_PATH%\%%i %BRANCH_PATH%\%%i
if ERRORLEVEL 1 echo %%i >> %HELP_PATH%\test.txt
)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Mitglied: bastla
30.03.2009 um 12:08 Uhr
Hallo Pantherstyle und willkommen im Forum!

Ich würde darauf tippen, dass die Wiederholung der Namen von einem zweiten Durchlauf des Batches stammt - wenn Du daher vorweg ein
if exist "%HELP_PATH%\test.txt" del "%HELP_PATH%\test.txt"
einfügst, sollten alle Namen nach dem nächsten Ausführen des Batches nur einmal vorhanden sein.

Grüße
bastla

P.S.: Zum Posten von Batches u. Ä. bitte "Code"-Formatierung benutzen ...
Bitte warten ..
Mitglied: Pantherstyle
30.03.2009 um 12:21 Uhr
Das habe ich schon kontrolliert, test.txt wurde vorher nicht erzeugt, weder durch das Batch selbst noch durch einen vorherigen Durchlauf. Also dopplung ausgeschlossen. Ich habe allerdings gesehen, dass er während der Ausführung die Daten 2mal durchläuft.
Bitte warten ..
Mitglied: bastla
30.03.2009 um 12:23 Uhr
Hallo Pantherstyle!

Dann stehen die Dateinamen vermutlich in "%HELP_PATH%\vorhanden.txt"zweimal drin ...

Grüße
bastla
Bitte warten ..
Mitglied: Pantherstyle
30.03.2009 um 12:26 Uhr
Nein ist ebenfalls überprüft. Sie stehen nur einzeln drin.
Bitte warten ..
Mitglied: Pantherstyle
30.03.2009 um 13:39 Uhr
Gibt es denn die Möglichkeit, die Batch einfach die Zeilen lesen zu lassen und die Hälfte der Zeilen zu löschen?
Bitte warten ..
Mitglied: bastla
30.03.2009 um 14:32 Uhr
Hallo Pantherstyle!

Das wäre mE der falsche Ansatz; sinnvoller wäre es, den Grund für die Verdoppelung herauszufinden.

Könntest Du einmal den gesamten Batch posten?

Grüße
bastla
Bitte warten ..
Mitglied: Pantherstyle
30.03.2009 um 14:41 Uhr
Gerne doch.

01.
echo off 
02.
:: 
03.
::Diese Batch Datei dient der Analyse von Dateien, auf Ihren ID Block 
04.
:: 
05.
 
06.
::Angabe der Pfade 
07.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
08.
set SEARCH_PATH=C:\Arbeitskopie\Suchordner 
09.
set HELP_PATH=C:\Arbeitskopie\Helfer 
10.
 
11.
::Erstellen des Indexes 
12.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
13.
rd %HELP_PATH% /s /q 
14.
mkdir %HELP_PATH% 
15.
cd %SEARCH_PATH% 
16.
dir > %HELP_PATH%\index.txt /B /S /-D /On 
17.
 
18.
find /V "svn" %HELP_PATH%\index.txt > %HELP_PATH%\filterindex.txt 
19.
 
20.
::Überprüfen auf Dateiinhalt 
21.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
22.
for /F "skip=2 tokens=4* delims=\" %%i IN (%HELP_PATH%\filterindex.txt) DO
23.
echo %%i 
24.
findstr /L :"$Id $Author $URL $LastChangedRevision $LastChangedDate $LastChangedBy" %SEARCH_PATH%\%%i 
25.
if ERRORLEVEL 1 echo %%i >> %HELP_PATH%\IDtreffer.txt 
26.
)
Bitte warten ..
Mitglied: bastla
30.03.2009 um 14:50 Uhr
Hallo Pantherstyle!

Geht's noch um das selbe Thema wie oben?

Grüße
bastla
Bitte warten ..
Mitglied: Pantherstyle
30.03.2009 um 14:53 Uhr
Ohh sorry hab mich im Topic vertan hab nur mit halbieren gelesen. Mom der komplette Batch (für dieses hier richtig) ist:

01.
echo OFF 
02.
:: 
03.
:: Batch-Datei zur Ausgabe einer Tabelle. Diese Tabelle enthält den Status der in  
04.
:: den angegebenen Verzeichnissen enthaltenen Daten. Diese Daten werden in "neu" 
05.
:: für seit der Erstellung des Tags hinzugelangten Dateien und "verändert" für seit 
06.
:: der Erstellung des Tags veränderten Dateien. 
07.
:: 
08.
 
09.
:: Veränderbar durch den Benutzer 
10.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
11.
:: Eingabe der Pfade 
12.
set TAG_PATH=C:\Arbeitskopie\trunk\M_Shell\FN 
13.
set BRANCH_PATH=C:\Arbeitskopie\trunk\T_Shell\FN 
14.
set HELP_PATH=C:\Arbeitskopie\Hilfsordnerbflexxdateien 
15.
set WORK_PATH=C:\Arbeitskopie\trunk\Daten\SoftwarePaket\Batch-Dateien 
16.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
17.
 
18.
 
19.
:: Ausgabe der Nutzerangaben 
20.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
21.
echo TAG Pfad   : %TAG_PATH% 
22.
echo Branch Pfad: %BRANCH_PATH% 
23.
echo Branch Pfad: %HELP_PATH% 
24.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
25.
 
26.
 
27.
:: Vorbereitung der Verarbeitung 
28.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
29.
rd %HELP_PATH% /s /q 
30.
mkdir %HELP_PATH% 
31.
cd %TAG_PATH% 
32.
dir > %HELP_PATH%\indextag.txt /B /S /-D /On 
33.
cd %BRANCH_PATH% 
34.
dir > %HELP_PATH%\indexbranch.txt /B /S /-D /On 
35.
 
36.
:: Herausfiltern der .sql Dateien 
37.
find /V "svn" %HELP_PATH%\indextag.txt > %HELP_PATH%\filtertag.txt 
38.
find /V "svn" %HELP_PATH%\indexbranch.txt > %HELP_PATH%\filterbranch.txt 
39.
 
40.
:: Löschen der Mittlerdateien 
41.
del %HELP_PATH%\indextag.txt 
42.
del %HELP_PATH%\indexbranch.txt 
43.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
44.
 
45.
 
46.
:: Überprüfen auf Dateizugehörigkeit 
47.
echo Die Dateien wurden vorbereitet, und werden nun auf ihre Zugehoerigkeit untersucht 
48.
echo Dieser Vorgang kann bis zu einigen Minuten dauern 
49.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
50.
:: Geloeschte Dateien 
51.
for /F "tokens=6* delims=\" %%i IN (%HELP_PATH%\filtertag.txt) DO
52.
findstr "%%i" %HELP_PATH%\filterbranch.txt 
53.
if ERRORLEVEL 1 echo %%i >> %HELP_PATH%\geloescht.txt 
54.
55.
:: Neue Dateien 
56.
for /F "tokens=6* delims=\" %%i IN (%HELP_PATH%\filterbranch.txt) DO
57.
findstr "%%i" %HELP_PATH%\filtertag.txt 
58.
if ERRORLEVEL 1 echo %%i >> %HELP_PATH%\neu.txt 
59.
60.
:: Bekannte Dateien 
61.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
62.
for /F "tokens=6* delims=\" %%i IN (%HELP_PATH%\filtertag.txt) DO
63.
findstr "%%i" %HELP_PATH%\filterbranch.txt 
64.
if not ERRORLEVEL 1 echo %%i >> %HELP_PATH%\vorhanden.txt 
65.
66.
for /F "tokens=6* delims=\" %%i IN (%HELP_PATH%\filterbranch.txt) DO
67.
findstr "%%i" %HELP_PATH%\filtertag.txt 
68.
if not ERRORLEVEL 1 echo %%i >> %HELP_PATH%\vorhanden.txt 
69.
70.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
71.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
72.
 
73.
 
74.
:: Erfassung der Revision von veränderten Dateien 
75.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
76.
for /F "tokens=1*" %%i IN (%HELP_PATH%\vorhanden.txt) DO
77.
fc %TAG_PATH%\%%i %BRANCH_PATH%\%%i 
78.
if ERRORLEVEL 1 echo %%i >> %HELP_PATH%\veraendert.txt 
79.
80.
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Bitte warten ..
Mitglied: bastla
30.03.2009 um 15:14 Uhr
Hallo Pantherstyle!

"vorhanden.txt" enthält die jeweiligen Dateien doppelt, was an den entbehrlichen Zeilen 66 bis 69 liegt - lass diese weg, und es sollte funktionieren ...

Grüße
bastla
Bitte warten ..
Mitglied: Pantherstyle
30.03.2009 um 15:22 Uhr
Das ist merkwürdig, es stimmt, dass die Zeilen überflüssig sind (bereits gelöscht). Alelrdings wird bei mir vorhanden.txt nur einmal befüllt, darin ist gar nichts doppelt!?
Bitte warten ..
Mitglied: bastla
30.03.2009 um 15:30 Uhr
Hallo Pantherstyle!

Wenn die Dateinamen nur einmal in "vorhanden.txt" stehen, werden sie in der "for"-Schleife (Zeile 76) nur einmal gelesen und können auch höchstens einmal (in Zeile 78) geschrieben werden ...

Grüße
bastla
Bitte warten ..
Mitglied: Pantherstyle
30.03.2009 um 15:42 Uhr
Naja also klappen tuts jetzt, ich nehme an da wird irgendwo nnoch ne Kopie im Zwischenspeicher gehangen haben. Ich danke dir erstmal.
Bitte warten ..
Ähnliche Inhalte
Ubuntu

Vor - und Nachnahmen aus einer Textdatei löschen, die in anderen Textdateien vorhanden sind

gelöst Frage von takitanoUbuntu4 Kommentare

Hallo, ich habe folgendes Problem: ich habe eine Textdatei mit mehr als 30.000.000.000 Zeilen. In eingigen von diesen Zeilen ...

Batch & Shell

Mehrfachsuche in einer Textdatei

gelöst Frage von hoppalaBatch & Shell5 Kommentare

Hi ! :-) Wir müssen jeden Tag im Büro mehrere Barcodes in einer grossen Textdatei suchen, welche wie folgt ...

Windows 8

Textdatei umformatieren

gelöst Frage von bladeyyyWindows 81 Kommentar

Hey, Ich habe folgendes Problem: Ein Programm exportiert bei mir eine Textdatei in dem Format: erste Zeile mit unnötigem ...

Windows 7

Mehrere Textdateien in verschiedenen Ordnern zu einer Textdatei zusammenführen ?

gelöst Frage von chr2002Windows 72 Kommentare

Hallo, irgendwie finde ich nirgends ein anständiges Programm mit dem man mehrere Textdateien zu einer großen zusammenführen kann. Die ...

Neue Wissensbeiträge
Windows 10

Neue Sicherheitslücke in Windows 10 (Version 1709) durch Google öffentlich geworden

Information von kgborn vor 1 StundeWindows 10

Vor ein paar Tagen haben Googles Sicherheitsforscher vom Projekt Zero eine Sicherheitslücke im Edge-Browser publiziert. Jetzt wurde eine weitere ...

iOS
IOS 11.2.6 verfügbar
Information von sabines vor 6 StundeniOS

Mit dem Update soll der Bug behoben werden, bei dem eine bestimmte Zeichenkette IOS zum Absturz gebracht hat.

Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 20 StundenSicherheit7 Kommentare

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 1 TagInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Heiß diskutierte Inhalte
Server
Route-Befehl Unterstützung (unter CMD)
gelöst Frage von FKRR56Server38 Kommentare

Guten Tag , i.M. habe ich Probleme über den CMD-Route-Befehl ein Routing auf einen entfernten Server zuzulassen. Der Server ...

Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing26 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

LAN, WAN, Wireless
VPN Cisco ASA5505 PaloAlto PA-200
gelöst Frage von YannoschLAN, WAN, Wireless20 Kommentare

Hallo zusammen, ich würde gerne ein Site-to-Site VPN zwischen den beiden Standorten aufbauen. PaloAlto PA200 Internetanschluss Deutsche Telekom GK ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgbornMicrosoft17 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...