Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

mehrere Dateien umbenennen per Batch Task

Frage Entwicklung Batch & Shell

Mitglied: bm-the-duke

bm-the-duke (Level 1) - Jetzt verbinden

31.01.2007, aktualisiert 01.02.2007, 12039 Aufrufe, 3 Kommentare

Hallo,

ich weiß, da ist ein sehr oft abgehandeltes Problem, aber mit den Forenbeiträgen komm ich dem Ziel nicht näher.

Folgende Situation:

Von einem FTP Server werden Dateien für eine Spedition per batch geladen und in Ordner verschoben. Die Dateien haben folgende Namen: 2049.txt, 3020.txt. Die Dateinamen sind unbekannt, also nicht schon vorher bekannt. Die ersten 2 Zahlen bedeuten Versender ID und die zweiten beiden Zahlen die Empfänger ID. Da auch ab und zu eine Datei gleichen Namens auftauchen kann, soll diese Datei umbenannt werden in bsp: 31.01.2007-21-55-35-2049.txt
Also im Klartext: "%date% %time"- vorherigername.txt

Wie ich die Notation schreiben muss, damit die Datei diesen Namen erhält weiß ich.

Mein Problem ist viel mehr, dass er den FOR Befehl nur ausführt wenn ich in im cmd manuell eingebe. Wenn ich diesen Befehl in eine Batch schreibe bricht diese ab ohne Fehlermeldung.

Um folgenden vereinfachten Befehl handelt es sich


01.
cd\ 
02.
d: 
03.
cd d:\import\5 
04.
FOR %I IN (*.txt) DO ren %I "%date% %time% "- %~nI

Diese Batch soll nach dem kopieren vom ftpserver automatisch gestartet werden aus dem Batch heraus. Das Problem ist, wenn ich diese Batch ausführe wechselt er nur die Pfade aber bei der for schleife bricht er einfach ab und schliesst sich. Wenn ich die Befehle nacheinander im cmd eingebe, gehts.

Woran kann das liegen? Brauch dieses Batch eigentlich schon gestern, he he. Aber das ist in der IT-Branche ja immer so.

Kann mir da einer helfen?
Mitglied: bastla
01.02.2007 um 08:23 Uhr
Hallo bm-the duke und willkommen im Forum!

Wenn die grundsätzliche Funktionalität unverändert bleiben kann (insbesondere %time% ein brauchbares Ergebnis ohne ":" liefert), würde ein Batch etwa so aussehen:
01.
cd /d d:\import\5 
02.
FOR %%I IN (*.txt) DO ren "%%I" "%date%-%time%-%%~nxI"
Entscheidend sind die doppelten Prozentzeichen vor der Schleifenvariable.

HTH
bastla
Bitte warten ..
Mitglied: volkerw
01.02.2007 um 08:24 Uhr
Hallo,

wenn es auf der Kommandozeile funktioniert, ist der Grund klar:
Prozentzeichen werden im Batch-Mode anders behandelt, Du mußt %I zu %%I ändern.
Also vereinfacht:
01.
FOR %%I IN (*.txt) DO ren %%I "%date% %time% "- %%I
Gruß Volker
Bitte warten ..
Mitglied: bm-the-duke
01.02.2007 um 22:51 Uhr
Super, danke.
Funktioniert.

Dickes Lob an das Forum. Hab bisher viele Probleme anhand älterer Beiträge lösen können.
Tja und nun konnte mir auch mal direkt geholfen werden.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Mehrere PDF-Dateien per Batch zusammenfügen (1)

Frage von Grimmli zum Thema Batch & Shell ...

Windows 7
gelöst Mehrere Dateien in Windows umbenennen mit Batchjob (4)

Frage von Jeduja zum Thema Windows 7 ...

Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell oder Batch-Task: Kopiere Datei x mal und benenne diese um (2)

Frage von Lorderich zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...