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

Dateien in Unterordnern ändern

Frage Entwicklung Batch & Shell

Mitglied: sowahr

sowahr (Level 1) - Jetzt verbinden

08.03.2011 um 18:22 Uhr, 3873 Aufrufe, 8 Kommentare

Hallo Ihr,

ich bin neu hier und ein Newbie was Batch und Shell angeht, deshalb sorry falls ich doofe Frage(n) stelle. Hoffe ihr könnt mir ein paar Tipps geben.

Hallo,

also mein Problem ist folgendes:
ich habe einen Oberordner A darin liegen wiederum versch. Unterordner in denen wieder versch. Dateien liegen. Die Batchdatei liegt im Oberordner.
Nun habe ich unter anderem das Problem dass durch ein vorangegangener Befehl meine Dateien in diesem Format:
diesisteinedatei.yyy.xxx
ausgegeben werden.
Ich möchte aber die Datei so:
diesisteinedatei.xxx
haben.

Nun habe ich ich schon folgende Batch-Scripte ausprbiert aber keins hat geholfen.
Direkt über die Shell hat dieser Befehl gegeht (wenn ich im Unterordner war):
01.
for %f in (*.xxx) do @for /f "delims=.yyy" %n in ('echo %f') do ren %f %n.xxx 
Für das springen in die Unterordner nutze ich
01.
 for /r %cd% %i in (*) do .... 
- das funktioniert hier aber mit diesem ren-Befehl nicht. Hier im Forum habe ich noch den Ausdruck
dir /b /a-d "%%i"
gefunden.
Aber dieser hilft nicht (tut sich gar nichts):
01.
for /d %f in (*.xxx) do @for /f "delims=.yyy" %n in ('dir /b "%f"') do echo ren %f %n.xxx 
Nutze ich
01.
 for /r %cd% %f in (*.xxx) do @for /f "delims=.yyy" %n in ('echo %~nf') do ren %~nf %n.xxx
direkt in der Shell, dann sagt mir die Shell: "das System kann die angegebene Datei nicht finden". Sucht also im Oberordner nach xxx-Datein, aber da dort keine sind können ja auch keine gefunden werden

Ich seh bestimmt den Wald vor lauter Bäumen nicht..
Kann mir wer evtl. einen Tipp geben? Das wäre echt toll!
Mitglied: pieh-ejdsch
08.03.2011 um 18:34 Uhr
moin sowahr,

da wäre der CMD-Liner (wenn sonst keine punkte im Dateinamen/Ordnernamen sind) etwa so:
01.
for /f "tokens=1-3 delims=." %i in ('dir /s /b "*.xxx"') do @echo ren "%i.%j.%k" "%~ni.%k"
das @echo zeigt Dir an was es tun würde. Wenn das @echo entfernt wird, tut es nur.

[Edit] fehlendes Hochkomma nachgezogen [/Edit]

Gruß Phil
Bitte warten ..
Mitglied: sowahr
10.03.2011 um 17:13 Uhr
Hallo Phil,

erstmal sorry das ich mich jetzt erst melde..
Wenn ich deinen Befehl in meinen Batch einfüge dann erscheint die Fehlermeldung
"delims." ist syntaktisch an dieser Stelle nicht verarbeitbar.

Bei
('dir ...) habe ich noch ein ' am Ende eingefügt. Ändert aber auch nichts daran dass es nicht geht.

Hab ich irgendwie ein " oder ' vergessen oder zuviel?
Die % habe ich schon verdoppelt im Batchscript.
Bitte warten ..
Mitglied: Biber
10.03.2011 um 18:42 Uhr
Moin sowahr,

eigentlich hast du nichts vergessen... sehen deine Dateinamenskonventionen wirklich so aus wie beschrieben?
pieh-ejdschens (von dir korrigierte) Zeile macht jedenfalls, was sie soll:

Demo/POC am CMD-Prompt:

(=18:37:10  D:\temp=) 
>echo x>testdatei.xxx.yyy 
 
(=18:37:36  D:\temp=) 
>echo x>testdatei.yyy.yyy 
 
(=18:38:04  D:\temp=) 
>for /f "tokens=1-3 delims=." %i in ('dir /s /b "*.yyy"') do @echo ren "%i.%j.%k" "%~ni.%k" 
ren "D:\temp\testdatei.xxx.yyy" "testdatei.yyy" 
ren "D:\temp\testdatei.yyy.yyy" "testdatei.yyy"
Grüße
Biber
Bitte warten ..
Mitglied: pieh-ejdsch
10.03.2011 um 20:04 Uhr
moin,

das mit dem Vergessen holt mich doch immer wieder ein.
diesmal war es ein Hochkomma in der For Anweisung. (Immer nur diese dahergeschriebenen Zeilen tz tzz tzzz

Gruß Phil
Bitte warten ..
Mitglied: sowahr
11.03.2011 um 09:55 Uhr
Biber, ja sie sehen so aus wie geschrieben:
dateiname.xxx.yyy
wobei ich das xxx weg haben möchte.

Irgendwelche Ideen warum es bei mir nicht geht?
Kann ja nicht direkt mit dem xxx (ein nicht alltägliches Format) was zu tun haben oder doch?
Bitte warten ..
Mitglied: Biber
11.03.2011 um 10:47 Uhr
Moin sowahr,

tja, dann kann eigentlich nur ein unabsichtigt hineingekommenes Leerzeichen, ein Anführungszeichen zuwenig oder ein ähnlicher Flüchtigkeitsfehler, der dir beim guttenbergen passiert ist, die Ursache sein.

Magst du noch mal dein Skript in Codetags hier posten bitte?

Grüße
Biber
Bitte warten ..
Mitglied: pieh-ejdsch
11.03.2011 um 12:30 Uhr
moin,

1. was bring Dir der dir als Ausgabe
dir /s /b "*.xxx" 
bzw. dieser Befehl ... 
dir /s /b "*.xxx*"
Direkt über die Shell hat dieser Befehl gegeht (wenn ich im Unterordner war): ...
2. bist Du denn mit der Batch auch schon in dem Unterordner?
Zur Umsetzung gibts der Möglichkeiten viele (eine kleine Auswahl):
  • Die Batch in das gewünschte Verzeichnis legen und starten
  • In der Batch: Vor der For-Schleife in das gewünschte Verzeichnis wechseln
pushD "D:\my folder with dubble extensions"
  • In der Batch: In der For Anweisung dem Befehl "dir" das Verzeichnis mitgeben (was aber nur mit /Subfolder Funktioniert)
for /f "tokens=1-3 delims=." %%i in ('dir /s /b "D:\my folder with dubble extensions\*.xxx"') do @echo ren "%%i.%%j.%%k" "%%~ni.%%k"
  • Zum drag and drop des Ordners auf die Batch - In der Batch: Vor der Forschleife den Ordner an PushD übergeben
if exist "%~1\" (pushd "%~1") else goto :eof
[Edit]
bei Verwenden des PushD auch das passende Gegenstück popD am Ende der Batch benutzen
[\Edit]

Gruß Phil
Bitte warten ..
Mitglied: sowahr
11.03.2011 um 13:09 Uhr
Dies hier:
01.
 for /f "tokens=1-3 delims=." %%i in ('dir /s /b "D:\my folder with dubble extensions\*.xxx"') do @echo ren "%%i.%%j.%%k" "%%~ni.%%k" 
hats direkt in der Shell gemacht(natürlich nur mit einem %, keinem doppelten)


Bzw. ich habe eben nochmal Phils ersten Code ausprobiert, da macht er es mir auch (in der Shell). MMhh keine Ahnung was ich gestern da falsch gemacht hatte (ich nehme aber an dass es an
unabsichtigt hineingekommenes Leerzeichen, ein Anführungszeichen zuwenig oder ein ähnlicher Flüchtigkeitsfehler,
gelegen hat..)

Werds jetzt noch in der batch ausprobieren. Wenns dort nicht geht werd ich mich nochmal melden- ansonsten markier ich diese Frage als gelöst

Danke euch beiden für die Mühe und Hilfe!
Bitte warten ..
Ähnliche Inhalte
Windows Server
Berechtigungen am Fileserver an einem Unterordner ändern
gelöst Frage von samet22Windows Server5 Kommentare

Hallo Leute, Ich bin seit 4 Monaten neu in einer Firma als Sysadmin und stehe nun vor einem komischen ...

Batch & Shell
Dateien in Unterordnern und den Unterordner als solches komprimieren in zip
Frage von schmitzeBatch & Shell1 Kommentar

Guten Morgen Zusammen, ohne groß auszuholen, bin ich leider ein Laie was die IT angeht. Ich suche eine Lösung ...

Batch & Shell
Batch Datei zum verschieben von Dateien aus Unterordnern ?
gelöst Frage von Ghostrider1911Batch & Shell10 Kommentare

Hallo, ich bräuchte eine Batch Datei die Dateien aus Unterordnern verschiebt. Also ich habe folgende Verzeichniss Struktur: Z:\Dateien\Ordner1\M1\ Z:\Dateien\Ordnärx\M1\ ...

Batch & Shell
Umbenennen von Dateien mit Ordnernamen und Unterordner
gelöst Frage von Xaero1982Batch & Shell10 Kommentare

Moin Zusammen, folgendes Problem: Ich habe einen Ordner. Nennen wir ihn "Fotos" In diesem Ordner sind dann Zig Unterordner ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 1 TagWindows 107 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 1 TagSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 2 TagenInternet5 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 2 TagenDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
gelöst Frage von HelloWorldBatch & Shell20 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

Router & Routing
OpenWRT bzw. L.E.D.E auf Buffalo WZR-HP-AG300H - update
gelöst Frage von EpigeneseRouter & Routing11 Kommentare

Guten Tag, ich habe auf einem Buffalo WZR-HP-AG300H die alternative Firmware vom L.E.D.E Projekt geflasht. Ich bin es von ...

LAN, WAN, Wireless
WLAN Reichweite erhöhen mit neuer Antenne
gelöst Frage von gdconsultLAN, WAN, Wireless8 Kommentare

Hallo, ich besitze einen TL-WN722N USB-WLAN Dongle mit einer richtigen Antenne. Ich frage mich jetzt ob man die Reichweite ...

Windows Server
Ping auf einen bestimmten Server nicht möglich
gelöst Frage von a.thierWindows Server7 Kommentare

Hallo, ich habe folgendes Problem. srv-dc1: Ping srv-nav > geht Ping srv-exchange > geht nicht srv-exchange: Ping srv-dc1 > ...