2016-10-29 1 views
-5

Ich suche nach einer Batch-Datei löschen jpg aus einer TXT-DateilisteIch suche nach einer Batch-Datei jpg aus einer TXT-Dateiliste

E zu löschen: \ test \ 1 hat 7 Bilder 1.jpg 7.jpg list.txt hat Liste der Dateien 1.jpg gelöscht werden, 2.jpg

Danke für Ihre Hilfe

I-Code gefunden, der die .jpgs in meiner Liste kopiert. TXT zu einem anderen Ordner. Mit Excel Spalte A del Spalte B Liste der Bilder Spalte C Concatenate (A1, B1) und Kopieren und Einfügen von Spalte C in ein Anstelle des Kopierens ich es brauchen, zu löschen

@echo off 
set src_folder=E:\test\1 
set dst_folder=E:\test\2 
set file_list=E:\test\list.txt 

if not exist "%dst_folder%" mkdir "%dst_folder%" 

for /f "delims=" %%f in (%file_list%) do (
xcopy "%src_folder%\%%f" "%dst_folder%\" 
) 

ich diese Lösung gefunden Stapeldatei wird im selben Verzeichnis wie Bilder ausgeführt.

+0

Diese Website ist kein Code schreiben Dienst btw – Carcigenicate

+0

Sie könnten den Code, den Sie bisher versucht haben, und wir könnten es dann verbessern. – Ukimiku

Antwort

1

Dies sollte es tun:

@Echo Off 
(Set file_list=E:\test\list.txt) 
For /F "UseBackQ Delims=" %%A In ("%file_list%") Do If Exist "%%~A" Del "%%~A" 

könnten Sie sogar Ihre list.txt auf diese einzelne Zeile Batch-Skript ziehen.

@for /F "usebackq delims=" %%I in ("E:\test\list.txt") do @del "%%~I" 2>nul 

Der Befehl FüR Prozesse jede Zeile aus der angegebenen Textdatei und führt Befehl DEL mit der von der Leseleitung:

@For /F "UseBackQ Delims=" %%A In ("%~1") Do @(If Exist "%%~A" Del "%%~A") 
+0

Was ist der Zweck der Klammern um die 'set'-Befehlszeile? Lassen Sie mich empfehlen, stattdessen die Syntax set file_list = E: \ test \ list.txt zu verwenden. – aschipfl

+0

Was ist der Zweck der Anführungszeichen um Ihr Beispiel? – Compo

+1

Klammern im 'set'-Namen = Wert" 'werden normalerweise verwendet, um unerwünschte Leerzeichen anzufügen und Sonderzeichen zu vermeiden. – user2956477

0

Dies kann mit einer einzigen Zeile Batch-Datei durchgeführt werden Datei.

Vor dem Löschen der Datei wird keine Dateiexistenzprüfung durchgeführt. Stattdessen wird die Datei gelöscht, wobei die Fehlermeldung unterdrückt wird, indem sie von Handle STDERR auf das Gerät NUL umgeleitet wird.

für die verwendeten Befehle verstehen und wie sie arbeiten, öffnen Sie eine Eingabeaufforderung, führen Sie dort die folgenden Befehle ein und vollständig alle Hilfeseiten für jeden Befehl angezeigt sehr sorgfältig lesen.

  • del /?
  • for /?

Lesen Sie auch die Microsoft-Artikel Using command redirection operators.

Verwandte Themen