Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Batch Scrippt das doppelte Dateien umbenennt

Empfohlene Antworten

Hallo,

ich habe folgendes Problem:

Ich habe eine Verzeichnisstruktur.

In dieser Verzeichnisstruktur sind, mehrere unterschiedliche Dateien mit dem gleichen Dateinamen vorhanden.

Jetzt kopiere ich diese Dateien, ausgewählt nach den in der Schleife stehenden Kriterien, in einen neues Verzeichnis (Ordner).

Die Verzeichnisstruktur wird nicht übernommen was bedeutet, dass alle Dateien in dem gleichen Verzeichnis (Ordner) liegen.

Es muss verhindert werden, dass die Dateien sich überschreiben.

Es sind ja nur die gleichen Namen aber nicht dieselben Dateien.

Es muss also nach jedem kopieren überprüft werden ob der vorhandene Dateiname existiert wenn ja soll eine Nummer, beginnend bei 1, angehangen werden.

Alternativ einfach kopieren.

Beispiel:

Es gibt in einer Verzeichnisstruktur 2 Ordner.

Beide Ordner enthalten die Dateien mit dem Namen, Rechnung-01.02.08.

Nun werden diese Dateien in den Ordner 2008 kopiert.

Normalerweise würden sie überschrieben.

Ich möchte aber am Ende in dem Ordner 2008 2 Dateien mit den Namen,

Rechnung-01.02.081 und Rechnung-01.02.08.

Bei 3, 4, u.s.w. gleicher Dateinamen soll das selbe Prinzip angewandt werden.

Danke.

Gruß

Hallo,

ich denke welches Problem ich habe dürfte in meiner Frage klar werden.

Damit schließe ich das Beispiel ein.

Ich habe das Problem, dass Dateien mit gleichem Dateinamen die in einen Ordner kopiert werden überschrieben werden.

Das sollen sie aber nicht.

Sie sollen umbenannt werden und dann kopiert werden.

„Es gibt in einer Verzeichnisstruktur 2 Ordner.

Beide Ordner enthalten die Dateien mit dem Namen, Rechnung-01.02.08.

Nun werden diese Dateien in den Ordner 2008 kopiert.

Normalerweise würden sie überschrieben.

Ich möchte aber am Ende in dem Ordner 2008 2 Dateien mit den Namen,

Rechnung-01.02.081 und Rechnung-01.02.08.

Bei 3, 4, u.s.w. gleicher Dateinamen soll dasselbe Prinzip angewandt werden.“

Ich weiß nicht wie ich den Dateinamen um ein Zeichen (Ziffer) erweitern kann.

Jeder Dateinamen soll um eine Zahl beginnende bei eins erweitert werden, solang bis der kopier Vorgang beendet ist.

Konkret:

Bis die Bedingung in der "For-Schleife" nicht mehr zu trifft.

Was ich bisher habe:

for /f "delims=" %%a in ('dir /b/s /O:D C:\steuern\*%2000%?????????????????????.tif ') do ( 

xcopy "%%a" "C:\Dokumente und Einstellungen\name\Eigene Dateien\2000-2003*.tif" /i/c/y 

)
Um was sich handelt steht in dem Namen meines Thema „Batch“. Diese „.bat“ Datei soll auf Windows XP laufen. Vereinfacht könnte man auch sagen: Jeder kopierten Datei muss eine Zahl anghängt werdem beginnend bei "1" endend bei n (Wobei "n" die Anzahl der Schleifen durchläufe ist). Allerdings muss der Dateinamen bestehend bleiben, die Zahl soll nur angehängt werden.
for /f "delims=" %%a in ('dir /b/s /O:D C:\steuern\*%2000%?????????????????????.tif ') do ( 

xcopy "%%a" "C:\Dokumente und Einstellungen\name\Eigene Dateien\2000-

2003*.tif" /i/c/y


>> Hier eine Zeile die dem Dateinamen die Zahl „i“ anhängt. 

Ich hoffe es ist jetzt verständlicher.

Ich bedanke mich schon einmal.

Gruß

  • 1 Monat später...

Evtl. hilft dir das weiter:

%~i - expands %i removing any surrounding quotes (")

%~fi - expands %i to a fully qualified path name

%~di - expands %i to a drive letter only

%~pi - expands %i to a path only

%~ni - expands %i to a file name only

%~xi - expands %i to a file extension only

%~si - expanded path contains short names only

%~ai - expands %i to file attributes of file

%~ti - expands %i to date/time of file

%~zi - expands %i to size of file

%~$PATH:i - searches the directories listed in the PATH environment variable and expands %i to the fully qualified name of the first one found.

If the environment variable name is not defined or the file is not found by the search, then this modifier expands to the empty string

The modifiers can be combined to get compound results:

%~dpi - expands %i to a drive letter and path only

%~nxi - expands %i to a file name and extension only

%~fsi - expands %i to a full path name with short names only

%~dp$PATH:i - searches the directories listed in the PATH environment variable for %i and expands to the drive letter and path of the first one found.

%~ftzai - expands %i to a DIR like output line

gefunden bei: Batch files - The FOR command: Windows NT 4/Windows 2000 Syntax

In Verbindung mit "&&" sollte da was machbar sein.

Befehl1.cmd && Befehl2.cmd

-> Führe Befehl2.cmd aus, wenn Befehl1.cmd mit Errorlevel 0 beendet wurde.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.