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, 6804 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Userverwaltung
Servergespeichertes Profil - Pfad ausfindig machen (6)

Frage von staybb zum Thema Windows Userverwaltung ...

Batch & Shell
Leerzeichen im Pfad (4)

Frage von Jallio zum Thema Batch & Shell ...

Batch & Shell
Variable setzen können während timeout (3)

Frage von DontFlameMeITryMyBest zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

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

Frage von Haures zum Thema Windows Server ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...