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
Kommentar vom Moderator Biber am 02.08.2012 um 17:47:34 Uhr
Zitat von SarahL:
Beim Umbennen werden nur die ersten 8 Ziffern angezeigt ...
Set /a rgc +=1
#841

gelöst Batch - Dateinamen mit Nutzereingabe in mehreren Ordnern ändern

Mitglied: SarahL

SarahL (Level 1) - Jetzt verbinden

02.08.2012, aktualisiert 13:31 Uhr, 3154 Aufrufe, 6 Kommentare

Guten Morgen alle zusammen,
ich stöbere schon seit mehreren Tagen in diesem Forum und treffe auf ganz ähnliche Probleme, wie ich sie zur Zeit habe. Ich habe schon selbst probiert eine Batch-Datei zu basteln, aber bislang schaff ich es nicht, dass der gewünschte Job erledigt wird. Hoffentlich könnt ihr mir weiterhelfen....

Zum eigentlichen Problem:
Ich habe vier verschiedene Ordner mit Dateien (pdf, doc, jpg, bmp, tiff)
die alle einen ähnlichen Aufbau haben:
eine acht-stellige Artikelnummer und ggf. noch einen Rest.
Bsp:
c:\bilder\45698234_Artikelfoto.jpg
c:\angebote\45698234 Angebot Firma_X.pdf
d:\katalog\45698234.jpg
usw...

(Insgesamt handelt es sich um ca. 25000 Dateien)

Viele Artikelnummern müssen nun durch eine neue achtstellige
Artikelnummern ersetzt werden, leider ohne ein bestimmtes System.
Deshalb suche ich nach eine Lösung die ungefähr so aussieht:

Benutzer gibt die alte Artikelnummer ein und
Dateien, welcher mit der alten Artikelnummer beginnen, werden in den vier Ordnern
gesucht, die ersten 8 Stellen des Dateinamens abgeschnitten
und anschliessend durch neue (durch den Nutzer einzugebende) 8 Ziffern ersetzt.
Der Rest des Dateinamens und die Endung soll beibehalten werden.

Ich freue mich auf eure Antworten
Falls ich meinen ersten Entwurf posten soll, bitte Bescheid geben.

Liebe Grüße

Sarah
Mitglied: bastla
02.08.2012 um 12:36 Uhr
Hallo SarahL und willkommen im Forum!
Falls ich meinen ersten Entwurf posten soll, bitte Bescheid geben.
Immer her damit ...

Grüße
bastla
Bitte warten ..
Mitglied: SarahL
02.08.2012, aktualisiert um 14:37 Uhr
Hi, super dass du dich meldest

Also soweit bin ich jetzt mit Schnippseln aus dem Forum gekommen,
wobei sich der Sinn vieler Sachen mir noch nicht erschließt:

01.
@echo off & setlocal enabledelayedexpansion 
02.
echo Alte Artikelnummer eingeben: 
03.
set /p altenr= 
04.
echo Neue Artikelnummer eingeben: 
05.
set /p neuenr= 
06.
 
07.
set "OrdnerTech=C:\Users\xxx\xxx\" 
08.
set /a Stellen=8 
09.
 
10.
if exist %OrdnerTech%\%altenr%*.* GOTO vorhanden 
11.
:vorhanden 
12.
 
13.
for /f "delims=" %%i in ('dir /s/b/a-d "%OrdnerTech%\%altenr%*.*"') do ( 
14.
    set "Name=%%~ni" 
15.
    echo ren "%%i" "!Name:~,%Stellen%!%%~xi" 
16.
)
Noch nicht eingepflegt ist die neue Artikelnummer... ich weiss nicht wo die genau hin muss.
Jetzt würde hier der :vorhanden - Schritt 4 mal wiederholt, für jeden Ordner in den
geschaut werden muss, ob eine Datei vorhanden ist.
Was ich noch vergessen habe:
Bei 2 von den 4 Ordnern muss die Datei oder die Dateien in ein anderes Verzeichnis verschoben werden.
Bitte warten ..
Mitglied: bastla
02.08.2012 um 14:23 Uhr
Hallo SarahL!

Als Anhaltspunkt: Wenn 8 Stellen am Anfang eines Dateinamens wieder durch genau 8 Stellen ersetzt werden sollen, geht das direkt mit einem "ren":
for /f "delims=" %%i in ('dir /s/b/a-d "%OrdnerTech%\%altenr%*.*"') do ren "%OrdnerTech%\%%i" "%neuenr%*.*"
Grüße
bastla

P.S.: "Code"-Formatierung ist hier beschrieben ...
Bitte warten ..
Mitglied: SarahL
02.08.2012 um 15:51 Uhr
Vielen Dank für deine schnelle Antwort.
Bin ein Stückchen weiter, jedoch gibt es noch nicht das gewünschte Ergebnis.

So sieht das Script (soll als .bat laufen) momentan aus:

01.
@echo off & setlocal enabledelayedexpansion 
02.
:eingabeneu 
03.
echo Alte Artikelnummer eingeben: 
04.
set /p altenr= 
05.
echo die ALTE Nummer lautet: %altenr% 
06.
echo NEUE Artikelnummer eingeben: 
07.
set /p neuenr= 
08.
echo die NEUE Nummer lautet: %neuenr% 
09.
echo Sind diese Angaben korrekt? ( j / n ) 
10.
set /p antwort= 
11.
if "ant"=="n" GOTO eingabeneu else GOTO umbennen 
12.
:umbennen 
13.
 
14.
set "OrdnerTech=S:\xxx\TechnischeDokumente" 
15.
set "OrdnerBild=S:\xxx\xxx\Bild" 
16.
set "OrdnerAng=S:\xxx\Angebote" 
17.
set "OrdnerKat=X:\xxx\Katalog" 
18.
set "OrdnerKatneu=X:\xxx\Katalogneu" 
19.
 
20.
for /f "delims=" %%i in ('dir /s/b/a-d "%OrdnerTech%\%altenr%*.*"') do echo ren "%OrdnerTech%\%%i" "%neuenr%*.*" 
21.
for /f "delims=" %%i in ('dir /s/b/a-d "%OrdnerBild%\%altenr%*.*"') do echo ren "%OrdnerBild%\%%i" "%neuenr%*.*" 
22.
for /f "delims=" %%i in ('dir /s/b/a-d "%OrdnerAng%\%altenr%*.*"') do echo ren "%OrdnerAng%\%%i" "%neuenr%*.*" 
23.
for /f "delims=" %%i in ('dir /s/b/a-d "%OrdnerKatneu%\%altenr%*.*"') do echo move "%OrdnerKatneu%\%%i" ""%OrdnerKatneu%%neuenr%*.*" 
24.
 
25.
pause 
26.
exit
Habe erstmal noch die Echos reingebastelt, bevor das ganze ausprobiere...

Das Ergebniss sieht leider so aus, dass der Pfad doppel angezeigt wird, also S:\xxx\TechnischeDokumente.123456789.jpgS:\xxx\TechnischeDokumente123456789.jpg
Beim Umbennen werden nur die ersten 8 Ziffern angezeigt und nicht die Endung, also _Angebot, etc. was noch dahinter geschrieben werden muss.
Aber ich spüre schonmal, dass die Lösung nicht mehr weit weg sein kann

Viele Grüße

Sarah
Bitte warten ..
Mitglied: bastla
02.08.2012, aktualisiert um 17:14 Uhr
Hallo SarahL!
Das Ergebniss sieht leider so aus, dass der Pfad doppel angezeigt wird
Sorry - das habe ich auch übersehen: Da Du ja "dir /s/b" verwendest, bekommst Du bereits vollständige Pfade geliefert, sodass das nochmalige Angeben des Ordners nicht nötig ist - daher einfach: ren "%%i" ...
Beim Umbennen werden nur die ersten 8 Ziffern angezeigt und nicht die Endung, also _Angebot, etc. was noch dahinter geschrieben werden muss.
Per "echo" lässt sich das leider auch nicht simulieren - Du kannst aber einfach mit
ren S:\xxx\Angebote\12345678_Angebot.doc 87654321*.*
durch Direkteingabe in CMD testen ...
Deine Zeile 23 ist mir allerdings nicht ganz klar - ist das eher so gemeint?
01.
for /f "delims=" %%i in ('dir /s/b/a-d "%OrdnerKat%\%altenr%*.*"') do ( 
02.
    echo move "%%i" "%OrdnerKatneu%\" 
03.
    echo ren "%OrdnerKatneu%\%%~nxi" "%neuenr%*.*" 
04.
)
Grüße
bastla
Bitte warten ..
Mitglied: SarahL
29.08.2012 um 12:55 Uhr
Hallo nochmal,

ich wollte mich nochmal zurückmelden und habe eure Hilfe nicht vergessen .
Vielen Dank für die Tips.

Das fertige Script sieht nun so aus:

@echo off & setlocal enabledelayedexpansion 
echo Alte Artikelnummer eingeben: 
set /p altenr= 
echo NEUE Artikelnummer eingeben: 
set /p neuenr= 
 
set "OrdnerTech=S:\xxx\xxx\xxx\TechnischeDokumente" 
set "OrdnerBild=S:\xxx\xxx\xxxxx\asdf" 
set "OrdnerAng=S:\xxx\xxx\Angebote" 
set "OrdnerKat=X:\xxxxx\xxxxx\Bilder" 
set "OrdnerKatneu=X:\xxxx\xxxx\Bilder\neu" 
 
for /f "delims=" %%i in ('dir /s/b/a-d "%OrdnerTech%\%altenr%*.*"') do ren "%%i" "%neuenr%*.*" 
for /f "delims=" %%i in ('dir /s/b/a-d "%OrdnerBild%\%altenr%*.*"') do ren "%%i" "%neuenr%*.*" 
for /f "delims=" %%i in ('dir /s/b/a-d "%OrdnerAng%\%altenr%*.*"') do ren "%%i" "%neuenr%*.*" 
for /f "delims=" %%i in ('dir /s/b/a-d "%OrdnerKat%\%altenr%*.*"') do ( 
    xcopy "%%i" "%OrdnerKatneu%\" 
    ren "%OrdnerKatneu%\%%~nxi" "%neuenr%*.*" 
pause 
exit 
Alles funktioniert einwandfrei und erspart meinen Kollegen und mir eine Menge Arbeit.

Liebe Grüße

Sarah
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Dateiname über Batch ändern
gelöst Frage von c64b311ee9Batch & Shell6 Kommentare

Hallo liebe Community, folgendes Problem!: Ich habe einen Ordner mit 500 PDF Dateien. Diese sind nach folgendem Schema aufgebaut. ...

Batch & Shell

Dateinamen mehrere Dateien ändern mit batch oder vbs Skript

gelöst Frage von Doktore1Batch & Shell3 Kommentare

Hi frohes neues erstmal. Ich würde gerne alle Dateien in ein Ordner umbenennen. Und zwar ein Teil des Dateinamen. ...

Batch & Shell

Dateinamen mit Batch-Datei ändern - Problem

gelöst Frage von fffffuuuuuuuhhhhBatch & Shell9 Kommentare

Hallo zusammen, ich, stelle regelmäßig .mp3-Dateien her, die folgendermaßen von meinem Audioprogramm beschriftet wird: Das Ergebnis soll aber folgendermaßen ...

Batch & Shell

Teile eines Dateinamens ändern mit Batch Datei

gelöst Frage von fffffuuuuuuuhhhhBatch & Shell4 Kommentare

Hallo, ich, stelle regelmäßig .mp3-Dateien her, die folgendermaßen von meinem Audioprogramm beschriftet wird: Interpret - Titel _xxxxxx000.mp3 die x stehen für eine ...

Neue Wissensbeiträge
Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 9 StundenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 20 StundenSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 20 StundenMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Hardware

Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall

Information von kgborn vor 20 StundenHardware11 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...

Heiß diskutierte Inhalte
Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux25 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL18 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...

LAN, WAN, Wireless
Kommunikation zwischen verschiedenen IP-Bereichen
Frage von DirkHoLAN, WAN, Wireless13 Kommentare

Hallo zusammen, von Unitymedia habe ich ein neues Modem (Connect Box) erhalten, das u.a. IPv4 aber keinen Bridge Mode ...

Windows Server
Domänencontroller trennen
Frage von Akit57Windows Server13 Kommentare

Hallo, ich hoffe das mir hier jemand meine Frage trotz der spärlichen Informationen die ich geben kann beantworten kann: ...