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

Mit einer Batchdatei Platzhalter im Pfad setzen

Frage Entwicklung Batch & Shell

Mitglied: poljew

poljew (Level 1) - Jetzt verbinden

16.08.2011 um 11:04 Uhr, 6979 Aufrufe, 7 Kommentare

Hallo Leute,
ich bin neu hier, also entschuldigt bitte, wenn ich die Frage an der falschen Stelle stelle.

Ich versuche gerade eine Batch Datei zu erstellen, die aus einem Ordner in einen anderen eine Datei kopiert:

echo %jahr%-%monat%-%tag%

copy \\srv55\%jahr%-%monat%-%tag%\Test1--123654\Result.txt C:\Temp\Result.xml

Wenn ich es so schreibe wie oben, geht alles, allerdings wird der Ordner Test1 immer neu erstell, das heisst, ich weiss das der Ordner Test1,2 oder3 heisst, der Rest ist variabel.
Z.B. Es gibt dann mehrere Ordner die so heißen können:
Test1--123654
Test2--567890
Test3--187689 u.s.w und in jedem Ordner liegt eine Result.xml.

Ich habe folgendes probiert:

copy \\srv55\%jahr%-%monat%-%tag%\Test1*\Result.txt C:\Temp\Result.xml
geht aber nicht, ich kriege Fehlermeldung, dass der Synthax nicht stimmt.

Wie kann ich das Problem umgehen?

Vielen Dank
Mitglied: Skyemugen
16.08.2011 um 11:08 Uhr
Aloha und willkommen im Forum,

du bist schon im richtigen Bereich

Ich denke, wenn die Anzahl der Stellen immer gleichbleibend ist und es nur einen Test1-Ordner gibt, müsste es sich bereits per
copy \\srv55\%jahr%-%monat%-%tag%\Test1--??????\Result.txt C:\Temp\Result.xml
lösen lassen.

Was mir nur auf den Magen schlägt:
Du hast mehrere Verzeichnisse und kopierst dann einzeln jeweils die Datei?

Wenn man jetzt wüsste, ob dann nicht doch eher eine for-Verarbeitung für alle Verzeichnisse sinnvoller wäre ...

greetz André

edit: Hm, eventuell doch nicht erfolgreich, zwar lässt sich so in ein Verzeichnis schlüpfen bzw. es herausfinden aber wenn eine Datei genutzt wird, läuft das ins Leere
Man könnte also so z.B. per cd /d arbeiten oder pushd aber ich warte mal ab, wie deine Aussage zu einer gesamten Abhandlung lautet.
Bitte warten ..
Mitglied: poljew
16.08.2011 um 11:37 Uhr
Hallo Andre,
danke für die schnelle Antwort, das hat leider nicht funktioniert, ich kriege immer noch diese Fehlermeldung:
Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch.

Hast du vielleicht noch einen Tip für mich?

P.S. Das mit for Schleife, werde ich auch machen müssen, ich wollte erstmal probieren, ob es überhaupt funktioniert.

Viele Grüße
Paul
Bitte warten ..
Mitglied: Friemler
16.08.2011 um 11:42 Uhr
Hallo poljew,

versuche es mal so:
01.
for /d %%d in ("\\srv55\%jahr%-%monat%-%tag%\Test1--*") do ( 
02.
  copy "%%d\Result.txt" "C:\Temp\%%~nxd-Result.xml" 
03.
)
Um das Problem zu umgehen, dass alle Quelldateien den gleichen Namen haben und sich somit im Zielverzeichnis gegenseitig überschreiben würden, werden sie im Zielverzeichnis als <Quellverzeichnis>-Result.xml gespeichert.

@Skyemugen
Die von Dir vorgeschlagene Lösung mit den ?-Wildcards funktioniert nicht. Wie sollte sie auch, wenn der TO mit * schon keinen Erfolg hatte?

Gruß
Friemler
Bitte warten ..
Mitglied: Skyemugen
16.08.2011 um 11:42 Uhr
Aloha,

ja, das habe ich bereits selbst im edit stehen ...

wäre schön, wenn du auch den Rest des Kommentars lesen würdest ... und darauf eine Aussage gibst ...

greetz André

@Friemler wozu schreib' ich hier eigentlich edits - liest sowieso niemand und ich wollte erst einmal nicht für einen Pfad for-Schleifen bauen, wenn man die nicht evtl. sinnvollerweise für ein Gesamtpaket verwenden könnte aber der TE äußert sich ja nicht dazu und so beließ ich es erst einmal bei meinem Geschriebenen ....
ich hab' heute keine gute Laune, kommt mir nicht mit wie sollte sie auch ...

edit: Ah, er hat ein P.S.: hineineditiert ... dachte, post scriptum kommt post scriptum und nicht hinein *stänker*

P.S:: @Friemler, hättest doch dann gleich nach Test?--* suchen lassen können, wenn ich das EP richtig interpretiere, dann hätte er den Spaß gleich für alle Test-Verzeichnisse
Bitte warten ..
Mitglied: Friemler
16.08.2011 um 11:53 Uhr
Hallo André,

Zitat von Skyemugen:
ich hab' heute keine gute Laune

ist bemerkbar . Another day, another game.

Gruß
Friemler
Bitte warten ..
Mitglied: poljew
16.08.2011 um 11:54 Uhr
Das hat funktioniert,
super vielen Dank an alle!

Gruß
Paul
Bitte warten ..
Mitglied: bastla
16.08.2011 um 12:29 Uhr
Hallo Friemler!

Ich nehme an, Skyemugen meinte
for /d %%d in ("\\srv55\%jahr%-%monat%-%tag%\Test?--*") do (
- was natürlich funktionieren würde (wobei wir weiterhin nicht wirklich wissen, was der TE eigentlich vor hat(te) ) ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Nach bestimmten Ordner namen suchen und in einem anderem Pfad kopieren (8)

Frage von erdgnrft zum Thema Batch & Shell ...

Batch & Shell
gelöst Ausgelagerte Variablen in Batchdatei (6)

Frage von mp-home zum Thema Batch & Shell ...

Batch & Shell
Batchdatei auf einem Server ausführen mit psexec.exe (18)

Frage von imebro zum Thema Batch & Shell ...

Windows Server
PowerShell Script - Ordnerrechte setzen (7)

Frage von desmondjames zum Thema Windows Server ...

Heiß diskutierte Inhalte
Windows Installation
Eine etwas (wirklich) speziellere Frage: Windows 10-Installation über (16)

Frage von DerFurrer zum Thema Windows Installation ...

Multimedia & Zubehör
gelöst Iphone 6 prob (12)

Frage von jensgebken zum Thema Multimedia & Zubehör ...

Verschlüsselung & Zertifikate
gelöst Festplattenverschlüsselung im Ausland (12)

Frage von Nicolaas zum Thema Verschlüsselung & Zertifikate ...

Netzwerkgrundlagen
gelöst Cisco SG500 Series LAG hat sich von selbst umgestellt (11)

Frage von Ex0r2k16 zum Thema Netzwerkgrundlagen ...