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

Batch: Textdatei auslesen, Datei löschen, Zeile in Textdatei löschen

Frage Entwicklung Batch & Shell

Mitglied: 147852369

147852369 (Level 1) - Jetzt verbinden

19.07.2013 um 17:14 Uhr, 3014 Aufrufe, 5 Kommentare

Hallo Forum,

ich habe noch nie batch programmiert.

Ich möchte per Batch eine Textdatei auslesen, in der sich ein Pfad zu einer Datei pro Zeile befindet.
Diese Datei soll auf Existenz überprüft und im Erfolgsfall gelöscht werden. Bei Erfolg soll diese jeweilige Zeile aus der Textdatei gelöscht werden.
Fehlermeldungen sollen in einer anderen Textdatei geloggt werden.

Mein bisheriger Entwurf:

01.
@echo off 
02.
title DiskdeleteForWindowsBatch 
03.
 
04.
set PFAD=C:/Users/1/Desktop/VLC_toDelete.txt 
05.
 
06.
 
07.
IF exist %PFAD% ( 
08.
	echo Datei existiert. 
09.
	 
10.
	FOR /f %%f IN (%PFAD%) DO (  
11.
		 
12.
		IF exist %%f ( 
13.
			:: löschen 
14.
		) else ( 
15.
			:: error, Datei existiert nicht 
16.
17.
		 
18.
		echo %%f  
19.
		 
20.
21.
	 
22.
	pause 
23.
	 
24.
	 
25.
	) else ( 
26.
		echo %PFAD% existiert nicht. 
27.
		pause rem wartet auf Tastendruck 
28.
29.
	 
30.
 
Mitglied: Endoro
19.07.2013 um 22:04 Uhr
Hallo,

kannst du mal testen, brauchst du nur noch deine Logdateien einzufügen.
01.
@ECHO OFF &SETLOCAL 
02.
FOR /f "delims=" %%a IN (VLC_toDelete.txt) DO ( 
03.
	IF EXIST "%%~a" ( 
04.
		DEL "%%~a" 2>&1 |findstr . >nul &&echo %%a wurde nicht gelöscht. || echo %%a erfolgreich gelöscht. 
05.
	) ELSE ( 
06.
		ECHO %%a nicht gefunden. 
07.
08.
)
lg
Bitte warten ..
Mitglied: bastla
19.07.2013, aktualisiert 20.07.2013
Hallo 147852369 und willkommen im Forum!

Etwa so:
01.
@echo off & setlocal 
02.
title DiskdeleteForWindowsBatch 
03.
 
04.
set "PFAD=C:\Users\1\Desktop\VLC_toDelete.txt" 
05.
IF exist "%PFAD%" ( 
06.
    echo Datei existiert. 
07.
    move "%PFAD%" "%temp%\VLC_toDelete.txt" 
08.
	 
09.
    FOR /f "usebackq delims=" %%f IN ("%temp%\VLC_toDelete.txt") DO (  
10.
		 
11.
        IF exist "%%f" ( 
12.
            echo "%%f" 
13.
        ) else ( 
14.
            >>"%PFAD%" echo %%f         
15.
            echo Datei "%%f" existiert nicht 
16.
17.
18.
	 
19.
    pause 
20.
    ) else ( 
21.
        echo %PFAD% existiert nicht. 
22.
        pause rem wartet auf Tastendruck 
23.
24.
)
Das Loggen der Fehlermeldungen bekommst du doch sicher selbst hin ....

Grüße
bastla

[Edit] Zeile 9 ergänzt [/Edit]
Bitte warten ..
Mitglied: 147852369
19.07.2013, aktualisiert um 22:31 Uhr
@Endoro: Bei deinem Script werden die Dateien nicht gelöscht.
Ausgabe:
F:/1/c1.wmv wurde nicht gel├Âscht.
F:/1/c2.wmv wurde nicht gel├Âscht.
F:/1/c3.wmv wurde nicht gel├Âscht.

@bastla:
Deine Ausgabe:
Datei existiert.
Das System kann den angegebenen Pfad nicht finden.
Datei "C:\Users\1\AppData\Local\Temp\VLC_toDelete.txt" existiert nicht

Und in die Textdatei wird "C:\Users\1\AppData\Local\Temp\VLC_toDelete.txt" angefügt.

Edit:
Eigentlich wäre ich auch mit einem Programm zufrieden, dass diese Textdatei entgegennimmt und die Dateien nacheinander löscht.
Bitte warten ..
Mitglied: 147852369
19.07.2013 um 23:41 Uhr
Okay. Das erste Script funktioniert. Ich muss nur / durch \ im Pfad ersetzen.

Vielen Dank soweit. Ich bastel mal weiter rum.
Bitte warten ..
Mitglied: bastla
20.07.2013 um 01:06 Uhr
Hallo 147852369!

Sorry, Zeile 9 war nicht vollständig - ist jetzt oben korrigiert.

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Doppelte Dateneinträge per Batch aus Datei löschen? HILFE (7)

Frage von freshman2017 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch: Textdatei Zeilenweise auslesen (2)

Frage von CreatorX zum Thema Batch & Shell ...

Batch & Shell
Per Batch eine XLS-Datei in eine TXT-Datei umwandeln (5)

Frage von skiing69 zum Thema Batch & Shell ...

Batch & Shell
gelöst Per Batch in ausgewählte oder vorgeschriebene Zeile einer .txt schreiben (6)

Frage von pdiddo zum Thema Batch & Shell ...

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) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (44)

Frage von sabines zum Thema Internet ...

Netzwerke
Wie erstelle ich ein Intranet (19)

Frage von Leonardnet zum Thema Netzwerke ...

Netzwerke
VPN-Server einrichten PPTPD-Einrichtung gescheitert (15)

Frage von MIlexx zum Thema Netzwerke ...

LAN, WAN, Wireless
gelöst Eintägige Netzwerkunterbrechung trotz Backupleitung (15)

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