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

Ersten 10 Stellen eines Dateinamen mittels Batch Datei überprüfen

Frage Entwicklung Batch & Shell

Mitglied: Raedsche

Raedsche (Level 1) - Jetzt verbinden

23.04.2009, aktualisiert 12:35 Uhr, 6299 Aufrufe, 11 Kommentare

Hallo zusammen

Leider habe ich für mein Problem noch keine Lösung gefunden.

Ich muss es irgendwie schaffen, das wenn Dateien vom einen in den anderen Ordner kopiert werden, nur die ersten zehn Stellen der Dateinamen verglichen werden. Sind diese ersten zehn Stellen gleich, soll die Datei überschrieben werden.
Alles andere was in dem Dateinamen hinter den ersten zehen Stellen folgt soll keine Rolle spielen.

Weiss jemand, wie ich das mit einer Batch-datei umsetzen kann?

Grüße

Raedsche
Mitglied: LotPings
23.04.2009 um 12:40 Uhr
Hallo Raedsche,

Gehen tut fast alles
Aber gib mal ein Beispiel der Dateinamen.

Wenn nur die ersten 10 Stellen verglichen werden und der Rest ungleich ist Überschreibst du ja eigentlich nicht. Soll der andere Dateiname dann gelöscht werden ?

Gruß
LotPings
Bitte warten ..
Mitglied: Raedsche
23.04.2009 um 13:07 Uhr
Hallo LotPings

Gut das fast alles geht

Der Dateiname besteht bei den ersten zehn Stellen aus Ziffern (Barcode). Hinter diesem steht dann der Bearbeiter des Dokuments und dann kommt Datum und Uhrzeit.
z.B. 0000675677 - Müller - 2009-04-23.pdf

Wenn das Dokumnet mit dem selben Barcode jetzt nochmal abgelegt wird, unterscheidet sich auf alle Fälle das Datum. Daher kann ich das leider nicht komplett einfach überschreiben.

Kommt jetzt also der Barcode nochmal vor, sollen die ersten zehn Ziffern verglichen werden und wenn diese gleich sind, soll das alte Dokument geslöscht werden.

Jetzt soweit verständlich?

Gruß

Raedsche
Bitte warten ..
Mitglied: bastla
23.04.2009 um 13:27 Uhr
Hallo Radesche!

Dann etwa so (ungetestet):
01.
@echo off & setlocal 
02.
set "Von=D:\Quellordner" 
03.
set "Maske=*.pdf" 
04.
set "Nach=D:\Zielordner" 
05.
 
06.
for %%i in ("%Von%\%Maske%") do call :ProcessFile "%%i" 
07.
goto :eof 
08.
 
09.
:ProcessFile 
10.
set "Name=%~n1" 
11.
echo del "%Nach%\%Name:~,10%*%~x1" 
12.
echo copy %1 "%Nach%" 
13.
goto :eof
Zur Sicherheit steht vor dem Lösch- (und auch vor dem Kopier-) Befehl ein "echo" - damit wird die Aktion nur angezeigt, aber nicht ausgeführt. Wenn die Testergebnisse vernünftig aussehen, das "echo" einfach entfernen (und am Ende des "copy"-Befehles noch ein ">nul" anfügen) ...

Grüße
bastla

[Edit] * in Zeile 11 nachgereicht [/Edit]
Bitte warten ..
Mitglied: LotPings
23.04.2009 um 13:44 Uhr
Hallo bastla,,
um alle Namen mit gleicher Barcodenummer zu löschen fehlt IMO ein Stern
echo del "%Nach%\%Name:~,10%*.pdf" 
Gruß
LotPings
Bitte warten ..
Mitglied: Raedsche
23.04.2009 um 13:48 Uhr
So, werde das ganze gleich mal ausprobieren. Werde mich dann mit dem Ergebnis melden.

Danke schonmal für die Mühe.

Gruß

Raedsche
Bitte warten ..
Mitglied: bastla
23.04.2009 um 13:50 Uhr
@LotPings
Ja, leider (da stand zuerst %Maske%, aber mit *%~x1 ist's flexibler - beim Ändern ist dann der "*" unter dem Tisch gelandet) - ich korrigiere das oben auch noch.

Grüße
bastla
Bitte warten ..
Mitglied: Raedsche
23.04.2009 um 14:14 Uhr
Also.. Habe es gerade getestet.

meine Batchdatei sieht nun folgendermaßen aus:

off & setlocal
set "Von=D:\ordner2"
set "Maske=*.pdf"
set "Nach=D:\ordner1"
for %%i in ("%Von%\%Maske%") do call :ProcessFile "%%i"
goto :eof
:ProcessFile
set "Name=%~n1"
del "%Nach%\%Name:~,10%*%~x1"
copy %1 "%Nach%" ">nul"
goto :eof

(Echo benötigen wir nicht, da ich auf einem Testsystem unterwegs bin)

Das Problem ist jetzt aber er, das er zwar die Ordner vergleicht, die Datei aber ion Ordner 2 liegen bleibt.
Ziel ist es aber, das die Datei dann in Ordner 1 ersetzt wird.

Möglich?

Gruß Raedsche
Bitte warten ..
Mitglied: bastla
23.04.2009 um 14:23 Uhr
Hallo Raedsche!

"move" statt "copy" (oder ein "del" nachreichen)

Grüße
bastla

P.S.: Die Anführungszeichen um ">nul" waren nur zur Kennzeichnung/Abgrenzung im Text gedacht und gehören da nicht hin ...
Bitte warten ..
Mitglied: LotPings
23.04.2009 um 14:24 Uhr
Ändere
01.
copy %1 "%Nach%" ">nul" 
um in
01.
move %1 "%Nach%" >NUL 
Gruß
LotPings
Bitte warten ..
Mitglied: bastla
23.04.2009 um 14:27 Uhr
[OT]
@LotPings
Schön langsam könnten wir einen Dienstplan erstellen ...
[/OT]

Grüße
bastla
Bitte warten ..
Mitglied: Raedsche
23.04.2009 um 14:29 Uhr
Danke Leute.

Habs jetzt mit einem Dokument mal schnell getestet und es funktioniert. Werde das ganze jetzt mal mit einigen mehr Dokumenten test und wenns dann funktioniert ist es perfekt.

Dank euch vielmals!

Gruß

Raedsche
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Kopieren anhand der ersten 4 Stellen des Dateinamens
gelöst Frage von RitzratzBatch & Shell2 Kommentare

Hi, ich möchte verschiedene Dateien anhand der ersten 4 Buchstaben identifizieren und dann in unterschiedliche Netzlaufwerke speichern. Die Dateinamen ...

Batch & Shell
Batch: Ordner auf Datei überprüfen
gelöst Frage von donmanolitoBatch & Shell4 Kommentare

Hallo Ich suche eine Möglichkeit alle Ordnernamen eines Verzeichnisses in eine Variable zu schieben um dann per Schleife ein ...

Windows Userverwaltung
Kopieren von Dateien und Zuordnung dieser mittels erster vier Stellen des Dateinamens
gelöst Frage von ScriptingDAUWindows Userverwaltung18 Kommentare

Hallo zusammen, bislang war ich immer stiller Mitleser, konnte jedoch zu meinem aktuellen Problem keine Lösung finden und wende ...

Batch & Shell
Dateiname per Batch auslesen und um eine Stelle verkleinern
gelöst Frage von kaiuwe28Batch & Shell2 Kommentare

Hallo zusammen, ich hatte gerade schon eine Frage zwecks Dateien kopieren im Forum gestellt und zum Glück auf mal ...

Neue Wissensbeiträge
Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 2 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 3 TagenWebbrowser7 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Sicherheit

Teamviewer Sessions können gekapert werden - Update tw. verfügbar

Information von sabines vor 3 TagenSicherheit6 Kommentare

In bestimmten Konstellationen können Teamviewer Sessions gekapert werden, wahrscheinlich aber ein recht unwahrscheinliches Szenario. Da der Teamviewer gerne für ...

Digitiales Fernsehen

Apple TV: Amazon Prime App ist verfügbar

Information von Frank vor 4 TagenDigitiales Fernsehen4 Kommentare

Die Amazon Prime Video App kann ab sofort auf einem Apple TV ab der 3 Generation installiert werden. Einfach ...

Heiß diskutierte Inhalte
Vmware
Installation Windows 10 VMware
Frage von Ghost108Vmware17 Kommentare

Hallo zusammen, versuche gerade mit Hilfe des vshpere clients eine virtuelle Windows 10 maschine aufzusetzen. 1. virtuelle Maschine erstellt ...

Exchange Server
SBS 2011 E-Mails können gesendet werden, aber nicht von extern empfangen
Frage von andreas1234Exchange Server14 Kommentare

Hallo Community, ich habe das Problem, dass seit knapp zwei Wochen die E-Mails von meinem SBS 2011 einwandfrei gesendet ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Windows Server
Server 2012 über Eingabeaufforderung devmgmt.msc geht nicht
gelöst Frage von achim222Windows Server9 Kommentare

Hallo, ich habe hier einen Server 2012 der im Reparaturmodus startet. Es liegt an einem falschen VirtIO Treiber für ...