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

Frage Entwicklung Batch & Shell

GELÖST

Batch, wechselnden Dateinamen kopieren

Mitglied: Valume91

Valume91 (Level 1) - Jetzt verbinden

08.04.2009, aktualisiert 13:55 Uhr, 5983 Aufrufe, 14 Kommentare

Ich habe eine Batch bei der die Datei (...)\Erstauftr„ge\C%Zahl%* kopiert werden soll, es werden jedoch alle Ordner aus dem Ordner Erstaufträge kopiert!

Hallo liebes Forum

Ich habe folgende Batch

01.
for /f "delims=| " %%i in ('findstr "|" "I:\EDV\180 Projekte\Umstellung Filemaker\Auftragseingang Servax\Ordnerkopie.txt"') do set "Zahl=%%i" 
02.
if %Zahl%==MaxvonEANummer exit 
03.
xcopy "I:\SERVAX\Servax\ST\Erstauftr„ge\C%Zahl%*" "I:\SERVAX\Servax\ST\Gesicherte Erstauftr„ge\" /E
Bei der möchte ich das nur zum Beispiel der Ordner "C1170 blablblaalbalbala" kopiert wird.
Dabei steht %Zahl% für 1170 und "blablblaalbalbala" für "*".
Es werden dabei jedoch alle Dateien aus dem Ordner Erstaufträge kopiert, und nicht nur der gewünschte.

Was mache ich falsch?

MfG Valume
Mitglied: bastla
08.04.2009 um 14:16 Uhr
Hallo Valume91!

Sieht so aus, als wäre %Zahl% leer - damit würde dann tatsächlich "C*" kopiert ...

Absichern könntest Du das etwa so:
01.
set Zahl= 
02.
for /f "delims=| " %%i in ('findstr "|" "I:\EDV\180 Projekte\Umstellung Filemaker\Auftragseingang Servax\Ordnerkopie.txt"') do set "Zahl=%%i" 
03.
if not defined Zahl goto :eof 
04.
if %Zahl%==MaxvonEANummer goto :eof 
05.
xcopy "I:\SERVAX\Servax\ST\Erstauftr„ge\C%Zahl%*" "I:\SERVAX\Servax\ST\Gesicherte Erstauftr„ge\" /E
Wofür steht eigentlich "MaxvonEANummer"?

Grüße
bastla
Bitte warten ..
Mitglied: Valume91
08.04.2009 um 14:17 Uhr
Sorry Bastla aber %Zahl% ist nicht leer, das habe ich schon überprüft!
Ausserdem werden auch Ordner kopiert die nicht mit "C" beginnen...

Edit:

MaxVonEANummer wird für Zahl gsetzt wenn die txt keine Zahl enthält. Darum wollte ich das es die Batch abbricht fals die txt keine Zahl enthält.

Vieleicht Hilft dir der Inhalt der txt weiter:

01.
--------------------- 
02.
|  MaxvonEANummer   | 
03.
--------------------- 
04.
|              1170 | 
05.
---------------------
Bitte warten ..
Mitglied: bastla
08.04.2009 um 14:20 Uhr
Hast Du es schon mit dem Kurznamen (zB "ERSTAU~1") anstelle von "Erstauftr„ge" versucht?

Grüße
bastala
Bitte warten ..
Mitglied: Valume91
08.04.2009 um 14:23 Uhr
Ja hab ich, es werden immer noch alle Ordner kopiert -.-
Bitte warten ..
Mitglied: bastla
08.04.2009 um 14:30 Uhr
Aufgrund des "\C" am Ende des Pfades kann ich mir eigentlich nicht vorstellen, dass Dateien bzw Ordner, die nicht mit "C" beginnen, kopiert werden ...

... anyhow: Versuch es mal so:
for /f "delims=" %%i in ('dir /b /ad "I:\SERVAX\Servax\ST\Erstauftr„ge"^|findstr /b "C%Zahl%"') do echo xcopy "I:\SERVAX\Servax\ST\Erstauftr„ge\%%i" "I:\SERVAX\Servax\ST\Gesicherte Erstauftr„ge\" /E
Das "echo" ist dazu da, die Kopierbefehle (sollte ja eigentlich nur einer werden) anzuzeigen ...

Grüße
bastla
Bitte warten ..
Mitglied: Valume91
08.04.2009 um 14:37 Uhr
Welchen Teil der Batch soll ich den durch das ersetzten?
Wenn ich alles ersetze rattert die Batch durch, jedoch wird nichts kopiert.
Bitte warten ..
Mitglied: bastla
08.04.2009 um 14:41 Uhr
Das wäre die neue Zeile 5.

Es soll ja auch nichts kopiert werden, sondern der Kopierbefehl wird nur angezeigt - sinnvoll ist daher ein Test direkt von der Kommandozeile oder, als neue Zeile 6, ein "pause", damit Du das Ergebnis in Ruhe ansehen kannst.

Grüße
bastla
Bitte warten ..
Mitglied: Valume91
08.04.2009 um 14:47 Uhr
Hmmmm es wird immer noch nichts kopiert, ich habe auch bereits ein pause eingefügt, jedoch wird kein
Fehler angezeigt.
Bitte warten ..
Mitglied: bastla
08.04.2009 um 14:54 Uhr
Es soll auch kein Fehler, sondern ein Befehl der Art
xcopy "I:\SERVAX\Servax\ST\Erstauftr„ge\C1170" "I:\SERVAX\Servax\ST\Gesicherte Erstauftr„ge\" /E
angezeigt werden (und kopiert wird sowieso nix, weil der Kopierbefehl nur angeschrieben, aber nicht ausgeführt wird).
Falls Du ein "echo off" am Beginn des Batches verwendest, ändere es vorübergehend auf "echo on" - damit werden alle Befehle vor ihrer Ausführung angezeigt. Soferne Du daraus nichts ablesen kannst, poste bitte (unter Verwendung der Code-Formatierung) die entsprechenden Zeilen.

Grüße
bastla
Bitte warten ..
Mitglied: Valume91
08.04.2009 um 15:09 Uhr
Unter der verwendung folgender Batch

01.
set Zahl= 
02.
for /f "delims=| " %%i in ('findstr "|" "I:\EDV\180 Projekte\Umstellung Filemaker\Auftragseingang Servax\Ordnerkopie.txt"') do set "Zahl=%%i" 
03.
if not defined Zahl goto :eof 
04.
if %Zahl%==MaxvonEANummer goto :eof 
05.
for /f "delims=" %%i in ('dir /b /ad "I:\SERVAX\Servax\ST\Erstauftr„ge"^|findstr /b "C%Zahl%"') do echo xcopy "I:\SERVAX\Servax\ST\Erstauftr„ge\%%i" "I:\SERVAX\Servax\ST\Gesicherte Erstauftr„ge\" /E 
06.
pause
wird folgendes angezeigt: (am ende)

01.
I:\EDV\180 Projekte\Umstellung Filemaker\Auftragseingang Servax>for /F "delims=" 
02.
 %i in ('dir /b /ad "I:\SERVAX\Servax\ST\Erstaufträge"|findstr /b "C1170"') do e 
03.
cho xcopy "I:\SERVAX\Servax\ST\Erstaufträge\%i" "I:\SERVAX\Servax\ST\Gesicherte 
04.
Erstaufträge\" /E 
05.
 
06.
I:\EDV\180 Projekte\Umstellung Filemaker\Auftragseingang Servax>echo xcopy "I:\S 
07.
ERVAX\Servax\ST\Erstaufträge\C1170 Teamtechnik MHP-I-132-04AF-01" "I:\SERVAX\Ser 
08.
vax\ST\Gesicherte Erstaufträge\" /E 
09.
xcopy "I:\SERVAX\Servax\ST\Erstaufträge\C1170 Teamtechnik MHP-I-132-04AF-01" "I: 
10.
\SERVAX\Servax\ST\Gesicherte Erstaufträge\" /E 
11.
 
12.
I:\EDV\180 Projekte\Umstellung Filemaker\Auftragseingang Servax>pause 
13.
Drücken Sie eine beliebige Taste . . .
Scheint zu funktionieren oder? Wie mache ich die jetzt scharf das sie die Dateien auch kopiert?
Bitte warten ..
Mitglied: bastla
08.04.2009 um 15:14 Uhr
Wie mache ich die jetzt scharf das sie die Dateien auch kopiert?
Indem Du das "echo" vor dem "xcopy" entfernst.

Grüße
bastla
Bitte warten ..
Mitglied: Valume91
08.04.2009 um 15:22 Uhr
SUPER! Es funktioniert!
Jedoch werden nur die Unterordner von C1170 kopiert.
Es soll jedoch auch der Ordner C1170 kopiert werden!
Was muss ich da ändern?
Ich habe bereits beim xcopy ziel am schluss \C%Zahl% hinzugefügt, jedoch fragt er mich dann ob C1170 ein File Name oder ein Directory Name ist. Wie kann ich das ohne diese Frage machen?
Bitte warten ..
Mitglied: bastla
08.04.2009 um 15:29 Uhr
Ändere die "Kopier"-Zeile auf
for /f "delims=" %%i in ('dir /b /ad "I:\SERVAX\Servax\ST\Erstauftr„ge"^|findstr /b "C%Zahl%"') do echo xcopy "I:\SERVAX\Servax\ST\Erstauftr„ge\%%i" "I:\SERVAX\Servax\ST\Gesicherte Erstauftr„ge\%%i\" /E
Soferne es sicher ist, dass nach der "Zahl" im Ordnernamen ein Leerzeichen folgt, wäre die folgende Zeile noch exakter (damit würde verhindert, dass zB auch "C11704" kopiert wird):
for /f "delims=" %%i in ('dir /b /ad "I:\SERVAX\Servax\ST\Erstauftr„ge"^|findstr /b /c:"C%Zahl% "') do echo xcopy "I:\SERVAX\Servax\ST\Erstauftr„ge\%%i" "I:\SERVAX\Servax\ST\Gesicherte Erstauftr„ge\%%i\" /E
Ansonsten: Schön, dass es funktioniert, aber seltsam bleibt die Sache dennoch ...

Grüße
bastla
Bitte warten ..
Mitglied: Valume91
08.04.2009 um 15:33 Uhr
Ansonsten: Schön, dass es funktioniert, aber seltsam bleibt die
Sache dennoch ...


Joa sehr seltsam. Vielen Dank noch für deine Mühe!

MfG Valume
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch: Auslesen von Dateinamen aus Text und Kopieren dieser.
gelöst Frage von gumpo03Batch & Shell2 Kommentare

Hallo. Ich sitze seit ungefähr einer Stunde an einem Problem, dass ich gern endlich lösen würde: Ich habe eine ...

Batch & Shell
Verzeichnisnamen zum Dateinamen per Batch hinzufügen (und kopieren)
gelöst Frage von andre-xsBatch & Shell6 Kommentare

Hallo Allerseits, Ich habe folgende Situation: - Eine Reihe von Verzeichnissen, z.B. Person1 Person2 Person3 (oft 20-30 Verzeichnisse) - ...

Utilities
Dateien mit wechselnden Dateinamen herunter laden per skript
gelöst Frage von Xaero1982Utilities7 Kommentare

Moin Zusammen, ich benötige des öfteren Updates von Dateien aus dem www. Diese sind in unterschiedlichen Ordnern gesichert z.b. ...

Sonstige Systeme
Batch Dateinamen zerlegen
Frage von MummelSonstige Systeme5 Kommentare

Hallo Liebe Leute, hoffe mir kann einer helfen. Ich soll eine Batch schreiben, die eine abfrage macht. (Soll ein ...

Neue Wissensbeiträge
Router & Routing

PfSense als Addon auf QNAP

Information von magicteddy vor 8 StundenRouter & Routing2 Kommentare

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 15 StundenDatenschutz

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Microsoft

Letzte Updates für Win10 und Server2016 müssen bei Bedarf über den Update catalogue in den WSUS importiert werden!

Tipp von DerWoWusste vor 19 StundenMicrosoft1 Kommentar

automatisch kommt da nichts an im WSUS und auch nicht im SCCM. Siehe Hinweise zum Bezug der jeweils neuesten ...

Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 3 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement22 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk13 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...

Windows Server
Terminal Server 2016 erkennt Berechtigungen nicht
gelöst Frage von Thomas2Windows Server10 Kommentare

Hallo Administratoren, folgendes Problem stellt sich dar: Es gibt zwei Windows Server 2016, die als Terminal Server fungieren. Jetzt ...

Sonstige Systeme
7-zip: Programm frägt nach Passwort erst bei einzelnen Dateien
Frage von freeskierchrisSonstige Systeme7 Kommentare

Guten Morgen, ich habe ein Problem beim Arbeiten mit 7-zip: Wenn ich die einzelnen Dateien zu einem Archiv verpacke ...