Automatisches Umbenennen von Dateien beim Kopieren in einen bestimmten Ordner
Hallo Liebe Forenmitglieder,
ich habe mal wieder ein kleines "Problem", welches ich aus eigener Kraft und mit Hilfe von Suchmaschinen nicht gelöst bekomme.
Folgende Ausgangssituation:
Ich habe einen Ordner in dem ich gelegentlich einige JPEG-Dateien hineinkopiere. Da die Dateien die unterschiedlichsten Namen haben und ich etwas Struktur in die Sache bringen möchte, habe ich die kopierten Dateien immer per Hand umbenannt ( 1.JPEG, 2.JPEG, ... N.JPEG).
Meine Wunschvorstellung:
Am liebsten wäre mir ein Tool, dass die Umbenennung automatisch durchführt, sobald eine neue Datei in den besagten Ordner hinein Kopiert wurde. (Die Bilder werden per Drag and Drop in die Ordner geschoben ;))
Dabei soll die vorherigen Nummerierung/Umbenennung beachtet und weitergeführt werden.
(Sprich: ich möchte vermeiden, dass ich jeden Tag wieder bei 1.JPEG anfange)
Ich habe erst daran gedacht mein Ziel mit Hilfe eines Scriptes zu realisieren, aber da die Quellverzeichnisse der Dateien immer unterschiedlich sind und ich nicht erst Bilder in das passende Verzeichnis schieben will, bevor ich das Script aufrufe, hatte ich gehofft, dass ihr mir vielleicht ein Tool empfehlen könnt, welches meinen Anforderungen erfüllt.
Wenn ihr eine Möglichkeit kennt, das auch per Script zu realisieren, bin ich natürlich für alle Vorschläge offen.
Zusätzliche Informationen:
Ich nutze ein Windows XP Pro. SP3
edit:
Wie ihr euch denken könnt, möchte ich damit bezwecken, dass man auf Anhieb erkennt in welcher Reihenfolge die Dateien in diesen Ordner hinein Kopiert wurden.
Wenn noch Unklarheiten bestehen, dann bitte ich um Meldung.
MfG
E-Luke
ich habe mal wieder ein kleines "Problem", welches ich aus eigener Kraft und mit Hilfe von Suchmaschinen nicht gelöst bekomme.
Folgende Ausgangssituation:
Ich habe einen Ordner in dem ich gelegentlich einige JPEG-Dateien hineinkopiere. Da die Dateien die unterschiedlichsten Namen haben und ich etwas Struktur in die Sache bringen möchte, habe ich die kopierten Dateien immer per Hand umbenannt ( 1.JPEG, 2.JPEG, ... N.JPEG).
Meine Wunschvorstellung:
Am liebsten wäre mir ein Tool, dass die Umbenennung automatisch durchführt, sobald eine neue Datei in den besagten Ordner hinein Kopiert wurde. (Die Bilder werden per Drag and Drop in die Ordner geschoben ;))
Dabei soll die vorherigen Nummerierung/Umbenennung beachtet und weitergeführt werden.
(Sprich: ich möchte vermeiden, dass ich jeden Tag wieder bei 1.JPEG anfange)
Ich habe erst daran gedacht mein Ziel mit Hilfe eines Scriptes zu realisieren, aber da die Quellverzeichnisse der Dateien immer unterschiedlich sind und ich nicht erst Bilder in das passende Verzeichnis schieben will, bevor ich das Script aufrufe, hatte ich gehofft, dass ihr mir vielleicht ein Tool empfehlen könnt, welches meinen Anforderungen erfüllt.
Wenn ihr eine Möglichkeit kennt, das auch per Script zu realisieren, bin ich natürlich für alle Vorschläge offen.
Zusätzliche Informationen:
Ich nutze ein Windows XP Pro. SP3
edit:
Wie ihr euch denken könnt, möchte ich damit bezwecken, dass man auf Anhieb erkennt in welcher Reihenfolge die Dateien in diesen Ordner hinein Kopiert wurden.
Wenn noch Unklarheiten bestehen, dann bitte ich um Meldung.
MfG
E-Luke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Biber am 24.06.2009 um 17:20:39 Uhr
<OT>
</OT>
Automatisches Umbennen von Dateien beim Kopieren in einen bestimmten Ordner
Running gag counter auf #403 gesetzt</OT>
Content-ID: 118947
Url: https://administrator.de/contentid/118947
Ausgedruckt am: 21.11.2024 um 20:11 Uhr
18 Kommentare
Neuester Kommentar
Hallo E-Luke,
wie du schon gemerkt hast, ist vermutlich Aufgrund deiner "Anspruchshaltung" noch niemand angesprungen.
Ich tu's auch nicht.
Schau dir doch stattdessen mal diese Tool an joe aka winrename
Gruß
LotPings
wie du schon gemerkt hast, ist vermutlich Aufgrund deiner "Anspruchshaltung" noch niemand angesprungen.
Ich tu's auch nicht.
Schau dir doch stattdessen mal diese Tool an joe aka winrename
Gruß
LotPings
Zitat von @Elektroluke:
Wie ihr euch denken könnt, möchte ich damit bezwecken, dass man auf Anhieb erkennt in welcher Reihenfolge die Dateien in diesen
Ordner hinein Kopiert wurden.
Wie ihr euch denken könnt, möchte ich damit bezwecken, dass man auf Anhieb erkennt in welcher Reihenfolge die Dateien in diesen
Ordner hinein Kopiert wurden.
Servus,
dir /TC meinordner\
Liefert dir das ganze - und scripte zum "umbenamsen" ist das das dazugehörige Stichwort für die Suche? - gibts wie Sand am Meer - vorzugsweise von Bastla oder Biber
(die Künstler wurden in Alphabetischer Reihenfolge genannt)
gruß
Hallo E-Luke,
sicher gibt es Scripte oder Programme dafür.
Aber wie wäre es, sich selber eines zu kreieren?
Ich weiß nicht, wie du dich mit VB6 z.Bsp. auskennst.
Aber deine Thematik "riecht" danach, soetwas mal zu schreiben.
Ich überwache hin und wieder mal einzelne Dateien damit und "backup(e)"
sie so, daß sie eine neue Zahl als Namen bekommen.
Einen Ordner zu überwachen und ggf. neue Dateien nach Datum in die richtige
Reihenfolge umzubennen wäre auch mal eine Idee. Ich denke, daß sich dafür einige User finden ließen.
Gruß
sicher gibt es Scripte oder Programme dafür.
Aber wie wäre es, sich selber eines zu kreieren?
Ich weiß nicht, wie du dich mit VB6 z.Bsp. auskennst.
Aber deine Thematik "riecht" danach, soetwas mal zu schreiben.
Ich überwache hin und wieder mal einzelne Dateien damit und "backup(e)"
sie so, daß sie eine neue Zahl als Namen bekommen.
Einen Ordner zu überwachen und ggf. neue Dateien nach Datum in die richtige
Reihenfolge umzubennen wäre auch mal eine Idee. Ich denke, daß sich dafür einige User finden ließen.
Gruß
@ @Elektroluke
werde ich vllt in die "NumberMe" mit einbauen!
Automatische Fortsetzung einer gefundenen Nummerierung.
Das ist im Prinzip möglich mit den umbenamsen und einem Zähler.
das eigentliche Problem ist wieviele Bilder kommen denn maximal in den Ordner hinein?
Hintergrund ist:
benötigst Du Vornullen? wenn die n-Stelligkeit der Zahl überschritten wird, dann bekommt die nächste Zahl eine 1 am anfang und das geht bis zur nächsten n-Stelligkeit gut. danach wird wieder eine 1 am anfang der Zahl gesetzt und so weiter.
Anzeige im Explorer oder anderen Auflistungen:
1. so
01
02
...
10
...
99
100
102
103
...
2. oder möchtest Du so?
001
002
...
099
100
...
3. oder doch so
1
2
...
10
...
99
100
[Reklame]
NumberMe nummeriert Texte mit automatischen Vornullen oder ohne Vornullen.
[/Reklame]
Variante 3. ist
JPG im Angegebenen Ordner nach Erstellungsdatum Erstellungszeit sortieren fortlaufend Nummerieren und bei Neuhinzugefügten jpg mit späteren Erstellungsdatum Zeit die Nummerierung fortsetzen .bat
werde ich vllt in die "NumberMe" mit einbauen!
Automatische Fortsetzung einer gefundenen Nummerierung.
Das ist im Prinzip möglich mit den umbenamsen und einem Zähler.
das eigentliche Problem ist wieviele Bilder kommen denn maximal in den Ordner hinein?
Hintergrund ist:
benötigst Du Vornullen? wenn die n-Stelligkeit der Zahl überschritten wird, dann bekommt die nächste Zahl eine 1 am anfang und das geht bis zur nächsten n-Stelligkeit gut. danach wird wieder eine 1 am anfang der Zahl gesetzt und so weiter.
Anzeige im Explorer oder anderen Auflistungen:
1. so
01
02
...
10
...
99
100
102
103
...
2. oder möchtest Du so?
001
002
...
099
100
...
3. oder doch so
1
2
...
10
...
99
100
[Reklame]
NumberMe nummeriert Texte mit automatischen Vornullen oder ohne Vornullen.
[/Reklame]
Variante 3. ist
JPG im Angegebenen Ordner nach Erstellungsdatum Erstellungszeit sortieren fortlaufend Nummerieren und bei Neuhinzugefügten jpg mit späteren Erstellungsdatum Zeit die Nummerierung fortsetzen .bat
@echo off
set /p Verz=Bitte Verzeichnis der jpg angeben
if not "%Verz%"=="" if not "%Verz:~-1%"=="\" set "Verz=%Verz%\"
for /f "tokens=1,*" %%i in ('dir /b /a:-d /t:c /o:d "%Verz%*.jpg"') do call :rename "%%~i" "%%~j"
goto :eof
:rename
set /a nr + = 1
if "%nr%"=="%~n1" goto :eof
if "%2"=="" (ren ""%Verz%%1" "%nr% %1") else ren ""%Verz%%1 %2" "%nr% %1 %~2"
goto :eof
Hallo Elektroluke.
In der Zeile
fehlt am anfang das @ um diese Ausgabe zu unterdrücken.
Bastla hat bestimmt einen Hinweis in seiner Batch, das man das "Echo" vor ren entfernen möge wenn die Ausgabe korrekt erscheint. So wird der Befehl nur angezeigt und nicht ausgeführt.
Gruß
LotPings
In der Zeile
Echo off&setlocal
fehlt am anfang das @ um diese Ausgabe zu unterdrücken.
Bastla hat bestimmt einen Hinweis in seiner Batch, das man das "Echo" vor ren entfernen möge wenn die Ausgabe korrekt erscheint. So wird der Befehl nur angezeigt und nicht ausgeführt.
Gruß
LotPings
das hab ich schon im Code gesehen das deine Dateien erneut umbenannt werden.
genau das macht doch meine Version!!
Der Überwachte ordner ist der welcher die neuen jpgs bekommt und nur die neuen werden umbenannt und zwar an der Stelle weiter wo die letzte Nummerierung aufgehört hat. und die anderen bleiben alle in diesem Ordner. sonst bräuchtest Du eine Log, wenn Du die jpgs wieder aus diesem Ordner ziehst oder Du musst noch einen Anderen Ordner zusätzlich Überwachen.
zum minimiert laufen machst Du eine Verknüpfung zur Batch, gibst in den Eigenschaften Ausführen in: Minimiert
an und startes per Taskplaner die Batch.LNK
Nun suche ich nach einer Möglichkeit, dem Script klar zu machen, dass er die Nummerierung fortsetzen soll..
genau das macht doch meine Version!!
Der Überwachte ordner ist der welcher die neuen jpgs bekommt und nur die neuen werden umbenannt und zwar an der Stelle weiter wo die letzte Nummerierung aufgehört hat. und die anderen bleiben alle in diesem Ordner. sonst bräuchtest Du eine Log, wenn Du die jpgs wieder aus diesem Ordner ziehst oder Du musst noch einen Anderen Ordner zusätzlich Überwachen.
zum minimiert laufen machst Du eine Verknüpfung zur Batch, gibst in den Eigenschaften Ausführen in: Minimiert
an und startes per Taskplaner die Batch.LNK
JPG im Angegebenen Ordner nach Erstellungsdatum Erstellungszeit sortieren fortlaufend Nummerieren und bei Neuhinzugefügten jpg mit späteren ErstellungsdatumZeit die Nummerierung fortsetzen vierstellig zählt aber nur bis 9999 kann aber nochj eingestellt werden .Bat
@echo off
::gib hier Deinen JPG Ordner an welcher umbeziffert werden soll
set "Verz=D:\test"
::Die umzubenennenden JPGs sollten keine gleiche Nummerierung und Stellenanzahl haben.
::Achtung1 stelle hier mit der Anzahl der "Nullen" Deine Maximale Stellenanzahl ein welche mit Achtung2 auch übereinstimmen muss
set "nr=10000"
::die nächste Zeile ist nur relavant für set /p kann aber auch so gelassen werden
if not "%Verz%"=="" if not "%Verz:~-1%"=="\" set "Verz=%Verz%\"
for /f "tokens=1,*" %%i in ('dir /b /a:-d /t:c /o:d "%Verz%*.jpg"') do call :rename "%%~i" "%%~j"
goto :eof
:rename
::Achtung2 stelle hier mit der Anzahl der "Neunen" Deine Maximale Stellenanzahl ein was bei Achtung3 auch gemacht werden muss
if %nr%==19999 exit /b 1
set /a nr + = 1
if %nr:~-4%"=="%~n1" goto :eof
::Achtung3 Ersetze alle %nr:~-4% mit "%nr:~-Deine Maximale Stellenanzahl% ein.
if "%2"=="" (ren "%Verz%%~1" "%nr:~-4%%~x1") else ren "%Verz%%~1%~2" "%nr:~-4%%~x2"
goto :eof
Hier ist nochmal die Berichtigte Version
@echo off
::gib hier Deinen Ordner an welcher umbeziffert werden soll
set "Verz=D:\CMD Befehle\0001\"
::gib Hier den Dateity an welcher umbeziffert werden soll
set "ext=jpg"
::Die umzubenennenden Dateien sollten keine gleiche Nummerierung und Stellenanzahl haben.
::ACHTUNG-1 stelle hier mindestens soviele "Nullen" ein wie Du unter Achtung3 als Maximale Stellenanzahl eingetragen hast
set "nr=10000"
::die nächste Zeile ist nur relavant für set /p kann aber auch so gelassen werden
if not "%Verz:~-1%"=="\" set "Verz=%Verz%\"
for /f "tokens=1,*" %%i in ('dir /b /a:-d /t:c /o:d "%Verz%*.%ext%"') do call :rename "%%~i" "%%~j"
goto :eof
:rename
::ACHTUNG-2 die Anzahl der "Neunen" muss mit der Anzahl der "Nullen" unter ACHTUNG-1 Übereinstimmen
if %nr%==19999 exit /b 1
set /a nr + = 1
::ACHTUNG-3 Ersetze alle %nr:~-4% mit "%nr:~-Deine Maximale Stellenanzahl% .
if "%nr:~-4%"=="%~n1" goto :eof
if "%~2"=="" (ren "%Verz%%~1" "%nr:~-4%.%ext%") else ren "%Verz%%~1 %~2.%ext%" "%nr:~-4%.%ext%"
goto :eof
Moin,
wenn
Ergo:
Gruß
wenn
- "@echo off" als erste Zeile steht - dann ist es mit dem Testen nichts mehr...
- ein Sprung mit goto :Anfang eingeleitet werden soll - dann muß das Sprungziel auch ::Anfang so deklariert werden.
Ergo:
goto Anfang
Gruß
Ich vermute fast, dass sich die ganzen "goto"s gegenseitig in Gehege kommen.
wie kommst Du denn auf sowas?Du wirst lediglich den Aufruf der Sprungmarke Anfang
goto :Anfang
an die Falsche Stelle gesetzt habenschau mal hier Subroutinen Batch How To
@ TimoBeil
•ein Sprung mit goto :Anfang eingeleitet werden soll - dann muß das Sprungziel auch ::Anfang so deklariert werden
diese Weisheit - stimmt so nicht.goto :1
:::1
echo ich bin bei 3 mal doppelpunkt
pause
{{comment_single_line_remark:1}}
echo ich bin bei 2 mal doppelpunkt
pause
:1
echo ich bin bei 1 mal doppelpunkt
pause
oder goto ::1
ausprobieren
Sprungmarken :Marke
diese muss um am Zeilenbeginn als Sprungmarke erkannt zu werden immer mit einem Doppelpunkt beginnen ansonsten wird die Zeile als Befehl Eingelesen oder bei mindestens zwei Doppelpunkten Ignoriert.
Im Gegensatz dazu kann man den Doppelpunkt hinter GOTO weglassen.
dieser ist nicht unbedingt erforderlich aber wird meistens der Übersichtlichkeit halber in der Batch hinter GOTO gesetzt.
diese muss um am Zeilenbeginn als Sprungmarke erkannt zu werden immer mit einem Doppelpunkt beginnen ansonsten wird die Zeile als Befehl Eingelesen oder bei mindestens zwei Doppelpunkten Ignoriert.
Im Gegensatz dazu kann man den Doppelpunkt hinter GOTO weglassen.
dieser ist nicht unbedingt erforderlich aber wird meistens der Übersichtlichkeit halber in der Batch hinter GOTO gesetzt.
Gruß Phil
Hallo Phil,
wenn sogar Elektroluke großzügig über Timos versehentlich reingerutschtes überzählige Doppelpünktchen hinwegsehen kann,
kannst du das doch bestimmt auch
Gruß
LotPings
wenn sogar Elektroluke großzügig über Timos versehentlich reingerutschtes überzählige Doppelpünktchen hinwegsehen kann,
kannst du das doch bestimmt auch
Gruß
LotPings