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.10.2009 um 14:38:54 Uhr
Verschoben von "Windows" nach "Batches 4 All".
GELÖST

Dateien in eigene Unterordner kopieren Batch

Frage Entwicklung Batch & Shell

Mitglied: horstdeluxe

horstdeluxe (Level 1) - Jetzt verbinden

02.10.2009, aktualisiert 18.10.2012, 5854 Aufrufe, 12 Kommentare

.

Hallo,

ich habe folgendes Problem und brächt dafür am besten eine Batchfile.

Wir haben folgenden Ordner
d:\Preise_neu\
in dem Ordner sind Kundendateien wie folgt
d:\Preise_neu\000009
d:\Preise_neu\000012
d:\Preise_neu\000015
....
es sind ca.500 Stück. Diese Dateien müssen wir nun per Hand in die jeweiligen passenden Ordner kopieren. Dr sieht wie folgt aus:
d:\preise\P000009
d:\preise\P000012
d:\preise\P000015

Also d:\Preise_neu\000009 in d:\preise\P000009 usw.
Ein umbenennen der Dateien oder Ordner darf nicht sein!

Habt ihr eine Idee?
Mitglied: 60730
02.10.2009, aktualisiert 18.10.2012
Servus,

das kannst du mit einer Schleife lösen.

Allerdings ist das kopieren nicht wirklich sinnig - denn jedesmal - wenn die Batch dann läuft - findest er ja noch die - die vorher bereits kopiert worden sind.

Die Batch, die du suchst - gibt es bereits - schau mal genauer

ich würde behaupten
Datei in gleichnamigen Ordner kopieren per Batch
wäre nicht so verkehrt

Gruß
ist eigentlich eine Frage für Batch & Shell und da findet sich auch die Lösung

>
Bitte warten ..
Mitglied: horstdeluxe
02.10.2009 um 12:15 Uhr
Nein, die werden vor dem nächsten kopiervorgang rausgelöscht!

Kann leider keine passende Batch finden, habe schon gesucht

Achja, es kommt vor das im Quellordner Dateien sind (beispiel: 000512), und im Zielordner nicht der passende Unterordner ( P000512), existiert, der muss dann automatisch angelegt werden.
Bitte warten ..
Mitglied: bastla
02.10.2009 um 12:19 Uhr
Hallo horstdeluxe und willkommen im Forum!
Kann leider keine passende Batch finden
Bevor sich das noch ins Wochenende reinzieht, versuch es damit:
01.
@echo off & setlocal 
02.
set "Quelle=d:\Preise_neu" 
03.
set "Ziel=d:\Preise" 
04.
 
05.
pushd "%Quelle%" 
06.
for /f "delims=" %%i in ('dir /b /a-d 0*.') do ( 
07.
    if not exist "%Ziel%\P%%i" md "%Ziel%\P%%i" 
08.
    copy "%%i" "%Ziel%\P%%i" 
09.
10.
popd
Grüße
bastla

@TimoBeil: Du gibst ja wirklich nie auf in Deinen pädagogischen Bemühungen ...
Bitte warten ..
Mitglied: 60730
02.10.2009 um 12:19 Uhr
Zitat von horstdeluxe:
Nein, die werden vor dem nächsten kopiervorgang rausgelöscht!

aha - dann würde ich vermuten copy ist quatsch und Move wäre sinniger?

Kann leider keine passende Batch finden, habe schon gesucht

no comment...

Bitte warten ..
Mitglied: horstdeluxe
02.10.2009 um 12:38 Uhr
Fehlermeldung:

Die NTVDM-CPU hat einen ungültigen efehl entdeckt.
CS:072c IP:0101 OP:65 63 68 6f 20

*Sry hab leider absolut keine Ahnung von Batchfiles....
Bitte warten ..
Mitglied: Biber
02.10.2009 um 14:36 Uhr
Moin horstdeluxe,

unter welchem Namen/mit welcher Endung hast Du den bastlas Schnipsel gespeichert?

Die richtige Endung sollte *.cmd oder *.bat sein.
Und die Datei sollte als unformatierte Textdatei gespeichert sein ( macht ein beliebiger brauchbarer Texteditor oder, falls nichts vorhanden auch NotePad).

Grüße
Biber
Bitte warten ..
Mitglied: horstdeluxe
04.10.2009 um 11:43 Uhr
ja.....war mir auch eingefallen ......

...
Bitte warten ..
Mitglied: horstdeluxe
05.10.2009 um 07:37 Uhr
Ich muss das Thema nun doch nocheinmal aufgreifen. Hab einen Fehler gemacht. Die Dateien heißen alle:
P000012
P00.........
P00........

Also immer mit einem "P" vorweg. Wie lautet nun das script, damit er die Dateien in den passenden Ordner:
0000012
00...........
00............

Kopiert und auch einen Ordner ohne das "P" erstellt? Also nur die Kundennr.
Bitte warten ..
Mitglied: Biber
05.10.2009 um 08:06 Uhr
Moin horstdeluxe,

eigentlich wollten wir doch diese Kuh schon vor dem letzten Wochenende vom Eis haben..

In Anlehnung an bastlas Schnipsel oben wäre eine Variante:
01.
@echo off & setlocal 
02.
set "Quelle=d:\Preise_neu" 
03.
set "Ziel=d:\Preise" 
04.
 
05.
pushd "%Quelle%" 
06.
for /f "delims=" %%i in ('dir /b /a-d P0*.') do call :ProcessFile "%%i" 
07.
PopD 
08.
Goto :eof 
09.
 
10.
:ProcessFile Parameter 1 ist der Dateiname P0xxxx.yyy 
11.
Set "Dateiname=%~1" 
12.
Set "Dateiname=%Ziel%\P%Dateiname:~1%" 
13.
if not exist "%Dateiname%" md "%Dateiname%" 
14.
    copy "%~1" "%Ziel%\P%%i" 
15.
16.
Goto :eof
[ungetestete Skizze]

Der Einbau eines Unteraufruf mit "Call :Whatever" ist sicherer/wartbarer, weil nun mit dieser kryptisch anmutenden SubString-Funktionalität [Set "Dateiname=%Dateiname:~1%"] herumgeeiert werden muss.
Diese Syntax findest du unter Set/? am CMD-Prompt erklärt.

Grüße
Biber

[Edit Biber] Alles Montag-Morgen-Gestolpere. Siehe unten. [/Biber]
Bitte warten ..
Mitglied: horstdeluxe
05.10.2009 um 08:19 Uhr
Sehr nett, leider legt er trotzdem Ordner mit "P" an und Dateien werden keine kopiert. Im Ordner Preise entsteht lediglich eine "P%i" Datei mit 0kb

@echo off & setlocal
set "Quelle=d:\Preise_neu"
set "Ziel=d:\Preise"

pushd "%Quelle%"
for /f "delims=" %%i in ('dir /b /a-d P0*.') do call :ProcessFile "%%i"
PopD
Goto :eof

:ProcessFile Parameter 1 ist der Dateiname P0xxxx.yyy
Set "Dateiname=%~1"
Set "Dateiname=%Ziel%\%Dateiname:~1%"
if not exist "%Dateiname%" md "%Dateiname%"
copy "%~1" "%Ziel%\P%%i"
)
Goto :eof


Soweit bin ich schonmal, da war noch ein P zuviel. Nun kopiert er aber die Dateien immernoch nicht.
Die fehlenden Ordner werden richrig erzeugt.
Bitte warten ..
Mitglied: Biber
05.10.2009 um 09:06 Uhr
Sorry, horstdeluxe,

ich habe montagmorgens immer etwas Anlaufschwierigkeiten.
Bitte verbuche meinen vorangegangenen Kommentar unter "Sonstige Anekdoten".

Jetzt nochmal ein Versuch für den Anwendungsfall, dass die Dateien "P0xxx.yyy" heißen im Original und im ordner, Aber der Ordner selbst nur die Zeichen ab Stelle 2 des Dateinamens hat ("000123...." statt "P000123".

01.
@echo off & setlocal 
02.
set "Quelle=d:\Preise_neu" 
03.
set "Ziel=d:\Preise" 
04.
 
05.
pushd "%Quelle%" 
06.
for /f "delims=" %%i in ('dir /b /a-d P0*.') do call :ProcessFile "%%i" 
07.
PopD 
08.
Goto :eof 
09.
 
10.
:ProcessFile Parameter 1 ist der Dateiname P0xxxx.yyy 
11.
Set "Dateiname=%~1" 
12.
REM Falls Der Ordnername KEINE Endung haben soll 
13.
REM dann Set "Dateiname=%~n1 
14.
Set "Dateiname=%Ziel%\%Dateiname:~1%" 
15.
if not exist "%Dateiname%" md "%Dateiname%" 
16.
    copy "%~1" "%Dateiname%\" 
17.
18.
Goto :eof
Gruße
Biber
Bitte warten ..
Mitglied: horstdeluxe
05.10.2009 um 09:12 Uhr
Jap! Super! Dankeschön!!!!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch: Dateien aus einem Ordner1 in alle UnterOrdner vom Ordner2 kopieren
gelöst Frage von yousaintBatch & Shell5 Kommentare

Hallo zusammen, wie in der Beschreibung geschildert, würde ich gerne Dateien aus einem Ordner1 in alle Unterordner in einem ...

Batch & Shell
Per batch alle Dateien aus !!definierten!! Unterordnern in ein Zielverzeichnis kopieren
gelöst Frage von ole-objektBatch & Shell4 Kommentare

Hallo, es liegt (schematisch) folgende Ordnerstruktur vor: test\AAA\111\ test\AAA\222\ test\AAA\333\ test\BBB\111\ test\BBB\222\ test\BBB\333\ test\CCC\111\ test\CCC\222\ test\CCC\333\ Ich möchte nur ...

Batch & Shell
Via Batch speziellen Unterordner kopieren
Frage von WeezytBatch & Shell3 Kommentare

Moin Leute, brauche wieder mal euren Rat. Ich will mit einem Skript einen speziellen Unterordner aus einem Hauptverzeichnis kopieren. ...

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\ ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Necur-Botnet soll Erpressungstrojaner Scarab massenhaft verbreiten

Information von BassFishFox vor 8 StundenErkennung und -Abwehr

12,5 Millionen Spam-Mails aus einem Bot-Netz mit 6 Millionen Computern? Eigentlich eine schwache Leistung. Die Erpresser setzen dabei auf ...

Microsoft

Nadeldrucker-Problem unter Windows - Microsoft liefert Updates

Information von BassFishFox vor 8 StundenMicrosoft

Hat ja nicht lange gedauert. Nachdem die November-Updates für Windows 7, 8.1 und 10 zahlreiche Nadeldrucker lahmgelegt hatten, stellt ...

Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 16 StundenLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Heiß diskutierte Inhalte
Windows Server
Kann man im KMS nachschauen , wieviele Clients den Key in Anspruch genommen haben
gelöst Frage von rainergugusWindows Server15 Kommentare

Hallo, wir haben einen KMS Windows 10 Key. Dieser ist ja W7 kompatibel. Aber unser Windows 7 Pool registriert ...

Linux
Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde
Information von FrankLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing14 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...