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

Batchdatei zum Verschieben von Datei nach Kriterium Zeichen von-bis in Dateiname

Frage Entwicklung Batch & Shell

Mitglied: miss-gis

miss-gis (Level 1) - Jetzt verbinden

06.07.2006, aktualisiert 11.07.2006, 4799 Aufrufe, 5 Kommentare

Hallo Leute,

mir ist bekannt, dass es viele viele Beiträge zum Thema Datei verschieben mittels Batch gibt. Ich stehe aber vor einem Syntaxproblem und finde hier bisher keine Antwort.

Wie kann ich den movebefehl formulieren, dass er mir die Datei nach den 4-6 Zeichen auswertet. Mit * komm ich hier nicht weiter, weil ich hier Zahlen im Dateinamen habe, die sich wiederholen können.

Zum Verständnis ein Beispiel (Auswertung Zeichen 4-6):
Datei ARF010_cd0125010 soll nach Ordner d:\daten\010
Datei CAM011_ab0110562 soll nach Ordner d:\daten\011

etc.

Kann mir jemand weiter helfen?
Danke

miss_gis
Mitglied: Biber
06.07.2006 um 19:15 Uhr
Moin miss_gis,

unter der Voraussetung, dass
a) die Dateimaske der Quelldateien "??????_*." ist ...
[ also genau 6 Zeichen bis zum "_", dann irgendwas und Keine Dateiendung
b) Die DelayedExpansion standardmäßug aktiviert ist (so wie bei mir),
dann vom CMD-Prompt aus:
01.
>for %i in (??????_*.) do @Set "x=%i" && @ECHO [Output] move %i d:\daten\!x:~3,3!\*.* 
02.
[Output] move ARF010_cd0125010 d:\daten\010\*.* 
03.
[Output] move CAM011_ab0110562 d:\daten\011\*.*
Als Mini-Bätschelchen:
01.
::-----------snipp Move2DatenDirs.bat 
02.
@echo off & setlocal EnableDelayedExpansion 
03.
for %%i in (??????_*.) do Set "x=%%i" && ECHO [Output] move %%i d:\daten\!x:~3,3!\*.*
In beiden Fällen ist das "ECHO [Output]" natürlich nur zu Debugzwecken und muss zum Scharfmachen gelöscht werden.

Gruß
Biber
Bitte warten ..
Mitglied: miss-gis
07.07.2006 um 09:20 Uhr
Hallo Biber,

hat ein bissi gedauert, aber jetzt klappts. Allerdings haben meine Dateien noch eine Extension. Aber auch das habe ich hin bekommen. Aber nur mit dem 2. Vorschlag von dir. Und ich musste zum Schluß bei der Pfadangabe *.* weg lassen.
Aber SupiLösung in 3 Zeilen. Bei mir wäre das Ding mind 30 Zeilen lang geworden, weil wir 30 verschiedene Kennzahlen haben.
Perfekt. Danke für die Hilfe.

Gruß miss_gis
Bitte warten ..
Mitglied: miss-gis
07.07.2006 um 09:56 Uhr
Hallo Biber,

ich brauch dich doch noch mal. Die netten Kollegen wollen aber noch einen Schritt weiter mit dem Batchfile. Und zwar soll die Datenstruktur so aussehen:
d:\daten\01\011....
Das ist für mich auch kein Problem, hab ja meine Variable belegt, und die lass ich doppelt über die Verzeichnisse auswerten. Aber jetzt kommt noch erschwerend hinzu, dass Sie zum Verzeichnis 01 noch 01_Muenchen\011_Bogenhausen als Eigenname mit aufnehmen wollen. Kriterium ist nach wie vor die 01 und 011 allerdings der Verzeichnisname wurde ergänzt. Mit der Ergänzung in der Syntax um ein einfaches * klappt leider nicht.

Beispiel für meine Idee:
for %%i in (?_?????*.pdf) do Set "x=%%i" && move %%i d:\daten\!x:~4,2!_*\!x:~4,3!_*\

Kannst mir nochmal weiter helfen?

Gruß Miss_Gis
Bitte warten ..
Mitglied: Biber
07.07.2006 um 12:39 Uhr
Moin miss_gis,

wir hatten mal ähnliche Spinner Anforderungen wie Deine Kollegen hier Variablen und Wildcards

Da wird es kaum bei einem Einzeiler bleiben...

Werde da trotzdem mal basteln, aber wahrscheinlich nicht mehr heute.
Fangt aber ruhig schon ohne mich an

Gruß an die Kollegen..

Biber
Bitte warten ..
Mitglied: miss-gis
11.07.2006 um 10:59 Uhr
Hallo Biber,
dein Link entspricht eigentlich genau dem, was wir auch haben. Allerdings garantieren wir bestehenden Verzeichnisse. Aber ich komm trotzdem nicht klar, wenn der Verzeichnisname (Nummer_Name) aussehen soll. Kannst nochmal zur Seite stehen?

Gruß miss_gis
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...