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

Copy - Syntaxfehler, eigentlich einfach, aber...

Frage Entwicklung Batch & Shell

Mitglied: MmarKuss

MmarKuss (Level 1) - Jetzt verbinden

16.02.2012, aktualisiert 18.10.2012, 2843 Aufrufe, 33 Kommentare

Hallo allerseits

BItte nicht den Kopf schütteln, bin Autodidakt und Anfänger

In einem CAM-Programm wird die berechnete nc-Datei direkt an den Controller übergeben.
Ich möchte diese aber in einem bestimmten Verzeichnis abspeichern.

Nun habe ich herausgefunden, dass die Übergabe mit %1 geschieht.

Also folgende kleine Batch geschrieben und den Pfad dazu in die registry anstatt der ausführenden Datei geschrieben :

01.
copy %1 D:\Datenspeicher 
02.
 
03.
pause
Ergebnis:
D:\ZD\ZirkoCAM_Neu>copy d:/Blankdaten/1/ZD_20120216_094335/CAMMill.NC D:\Datenspeicher 
Syntaxfehler. 
 
D:\ZD\ZirkoCAM_Neu>pause 
Drücken Sie eine beliebige Taste . . .
Die Befehlszeile "copy d:/Blankdaten/1/ZD_20120216_094335/CAMMill.NC D:\Datenspeicher"
ist eigentlich genau das, was ich wollte - warum Syntaxfehler ???

Dank im Voraus für Eure Mühe

MmarKuss
33 Antworten
Mitglied: 60730
16.02.2012 um 10:06 Uhr
Moin,

Tausch einfach die slashes gegen backslashes aus und wenn du die taste eh schon unterm finger hast, spendiere dem letzten buchstaben am ende der ersten zeile auch einen.
Bitte warten ..
Mitglied: MmarKuss
16.02.2012 um 10:14 Uhr
Danke für die schnelle Antwort, aber ...

batch jetzt:

copy %1 D:/Datenspeicher/

pause


Ergebnis:


D:\ZD\ZirkoCAM_Neu>copy d:/Blankdaten/1/ZD_20120216_100919/CAMMill.NC D:/Datensp
eicher/
Syntaxfehler.


dumm gelauft

D:\ZD\ZirkoCAM_Neu>pause
Drücken Sie eine beliebige Taste . . .
Bitte warten ..
Mitglied: Skyemugen
16.02.2012 um 10:16 Uhr
...
slashes gegen backslashes

D:/Datenspeicher/
copy d:/Blankdaten/1/ZD_20120216_100919/CAMMill.NC D:/Datenspeicher/
WTF?!
Bitte warten ..
Mitglied: MmarKuss
16.02.2012 um 10:17 Uhr
eben fällt mir auf:

in der Kommandozeile "copy %1 D:\Datenspeicher"

war doch ursprünglich ein Backslash, den ich jetzt sinnigerweise duch
slash ersetzt habe - Anfänger eben- sorry
Bitte warten ..
Mitglied: icsat
16.02.2012 um 10:19 Uhr
Hallo MmarKuss,

Zitat von MmarKuss:
dumm gelauft
Nicht wirklich, eher falsch gelesen.
Zitat von 60730:
Tausch einfach die slashes gegen backslashes aus und wenn du die taste eh schon unterm finger hast, spendiere dem letzten
buchstaben am ende der ersten zeile auch einen.
Dort steht nicht, dass Du die backslashes gegen slashes austauschen sollst!!!


Gruß icsAT


[Edit]Da waren mal wieder jemand schneller als ich und Du hast ja auch bereits gemerkt, dass Timo den Übergebenen Wert (welchen Du mit %1 benutzt) meinte[/Edit]
Bitte warten ..
Mitglied: MmarKuss
16.02.2012 um 10:26 Uhr
OK, war selbst für nen Anfänger doof, geb ich zu.

Aber so müsste es jetzt richtig sein, oder ???

copy %1 D:\Datenspeicher\

PROBLEM die Antwort:


D:\ZD\ZirkoCAM_Neu>copy d:/Blankdaten/1/ZD_20120216_102050/CAMMill.NC D:\Datensp
eicher\
Syntaxfehler.

Die Slashes in "D:/Blankdaten...." macht doch der Befehl "copy %1", oder ?
Bitte warten ..
Mitglied: MmarKuss
16.02.2012 um 10:37 Uhr
Ihr habt recht, hab das mit den Backslashes mal per Hand probiert:

copy d:\Blankdaten\1\ZD_20120216_102050\CAMMill.NC D:\Datenspeicher\

Ergebnis, wie gewünscht:



D:\ZD\ZirkoCAM_Neu>copy d:\Blankdaten\1\ZD_20120216_102050\CAMMill.NC D:\Datensp
eicher\
1 Datei(en) kopiert.

Damit reduziert sich meine Frage auf das Problem: wie bekomme ich die Kommandozeile

copy %1 ................. dazu, keine Slashes, sondern Backslashes auszugeben ????????????


Ich hoffe, einer vor Euch hat eine Idee, mir rennt im Moment die Zeit davon und die Kiste muss noch heute laufen...

Danke
Bitte warten ..
Mitglied: Skyemugen
16.02.2012 um 10:38 Uhr
>copy E:\Skripte\test.csv E:\Test 
        1 Datei(en) kopiert. 
 
>pause 
Drücken Sie eine beliebige Taste . . .
nö?
Bitte warten ..
Mitglied: MmarKuss
16.02.2012 um 10:42 Uhr
Zitat von Skyemugen:
>copy E:\Skripte\test.csv E:\Test 
>         1 Datei(en) kopiert. 
>  
> >pause 
> Drücken Sie eine beliebige Taste . . .
nö?

Doch, siehe meinen Beitrag über Deinem: von Hand schon,

aber mit "copy %1" macht er automatisch Slashes.....
Bitte warten ..
Mitglied: 60730
16.02.2012 um 10:45 Uhr
Zitat von MmarKuss:
Die Slashes in "D:/Blankdaten...." macht doch der Befehl "copy %1", oder ?

Jein,
  • das Programm übergibt / statt \ - läuft das unter einem *ux Derivat?

"wenn" der Pfad immer identisch ist, dann...

01.
for /f "tokens=1-5 delims=/" %%a in ('echo %1') do echo copy %%a\%%b\%%c\%%d\%%e D:\Datenspeicher\ 
02.
pause
probieren

Und nein - durch das letzte echo zeigt er es nur an, macht nix
Bitte warten ..
Mitglied: Skyemugen
16.02.2012 um 10:47 Uhr
Nö?
Mein Batch war mit drag&drop copy %1 E:\Test
[Windows XP Prof. x86]
Bitte warten ..
Mitglied: MmarKuss
16.02.2012 um 10:52 Uhr
@TimoBeil <- probiert:

eingeben: for /f "tokens=1-5 delims=/" %%a in ('echo %1') do echo copy %%a\%%b\%%%c\%%d\%%e D:/Datenspeicher\


Resultat:

D:\ZD\ZirkoCAM_Neu>for /F "tokens=1-5 delims=/" %a in ('echo d:/Blankdaten/1/ZD_
20120216_104829/CAMMill.NC') do echo copy %a\%b\%/Datenspeicher\

D:\ZD\ZirkoCAM_Neu>echo copy d:\Blankdaten\%/Datenspeicher\
copy d:\Blankdaten\%/Datenspeicher\

.....da tut sich was mit dem Tausch, von Slashes in Backslashes, aber noch nicht ganz.
Sorry, ich versteh den String nicht, hab ihn einfach kopiert.
Bitte warten ..
Mitglied: MmarKuss
16.02.2012 um 11:15 Uhr
Hallo TimoBeil,

danke für Deine ( und für alle ) Hilfe.
Habe in deinem String ein überflüssiges % ( vor dem "c") weggenommen und grinsenderweise
den Slash vor "Datenspeicher" in einen Backslash geändert - echo raus und läuft SUPER


VIELEN DANK

und Gruss

MmarKuss
Bitte warten ..
Mitglied: 60730
16.02.2012 um 11:29 Uhr
salve,

aber wie gesagt - das ist nur mal eben kurz und wenn der Pfad mehr oder weniger als genau 5 / hat - greift das Ding in die Grütze.

Den copy & paste übernommenen / vor datenspeicher und das zuviele % hab ich oben mal rausgenommen...
Bitte warten ..
Mitglied: MmarKuss
16.02.2012 um 11:47 Uhr
Der übergebene Pfad wird bei meinem Programm von der Grundstruktur
immer gleich bleiben , daher müsste es in meinem Fall auch immer greifen.

-> MmarKuss happy, glücklich und zufrieden
Bitte warten ..
Mitglied: bastla
16.02.2012 um 11:47 Uhr
@T-Mo
wenn der Pfad mehr oder weniger als genau 5 / hat - greift das Ding in die Grütze.
... was sich aber eigentlich so lösen lassen sollte:
01.
set "Quelle=%~1" 
02.
copy "%Quelle:/=\%" D:\Datenspeicher\
Grüße
bastla
Bitte warten ..
Mitglied: 60730
16.02.2012 um 11:59 Uhr
Moin Bastla

Zitat von bastla:
@T-Mo
> wenn der Pfad mehr oder weniger als genau 5 / hat - greift das Ding in die Grütze.
... was sich aber eigentlich so lösen lassen sollte:
01.
set "Quelle=%~1" 
02.
> copy "%Quelle:/=\%" D:\Datenspeicher\ 
03.
> 
Moin Bastla,

[OT]
  • hüstel
Mein Kind ist krank, mein Kopf ist leer und gefrühstückt hatte ich auch nicht richtig, da wollte mein Hirn nur mal eben schnell murksen, statt zaubern..
[/OT]
Grüße
bastla

Hat schon nen Grund, warum du einer der beiden Bs aus dem B Bereich bist

Grüße
Bitte warten ..
Mitglied: bastla
16.02.2012 um 12:48 Uhr
[OT] @T-Mo
Na dann kann ich Kind und Kopf nur gute Besserung wünschen ...
Hat schon nen Grund, warum du einer der beiden Bs aus dem B Bereich bist
Du meinst, weil "astla" irgendwie seltsam klingt?

Grüße
bastla
[/OT]
Bitte warten ..
Mitglied: Skyemugen
16.02.2012 um 13:46 Uhr
[uber-OT]
Zitat von bastla:
Du meinst, weil "astla" irgendwie seltsam klingt?
Macht nichts, wäre in Japan aber beliebter, da asutora [アストラ] nicht so sehr an ein böses Wort von der Aussprache erinnert wie basutora [バストラ] klingt dann fast wie bastard zehahaha *duck*
[/uber-OT]
Bitte warten ..
Mitglied: bastla
16.02.2012 um 14:46 Uhr
[uber-OT-RE]
Aber zum "bastard batcher from hell" bringe ich's vermutlich trotzdem nicht ...

Grüße
bastla
[/uber-OT-RE]
Bitte warten ..
Mitglied: Skyemugen
16.02.2012 um 14:57 Uhr
[usw.etc.pp-OT]
Stimmt, dazu bist du zu gutmütig

greetz André
[/usw.etc.pp-OT]

na, da ham wa aber wieder den Fred vollgemüllt *fg*
Bitte warten ..
Mitglied: MmarKuss
16.02.2012 um 21:26 Uhr
So, nun bin ich vom Kunden zurück - läuft Alles vom Feinsten.

Hab den Thread nun weiterverfolgt - und
( nicht neugierig - das sind nur weibliche Wesen...duckundwech)
wissensdurstig, wie ich nun mal bin, habe ich bastla´s Version gleich mal ausprobiert - geht genauso gut


DANKE


MmarKuss, der zwar (noch) nicht kapiert, was ihr da zusammengezaubert habt, der aber total happy ist.

PS: Beitrag wurde komplett umgeschrieben, da ich beim Testen Mist gebaut hatte ...sorry
Bitte warten ..
Mitglied: bastla
16.02.2012 um 21:37 Uhr
Hallo MmarKuss!

Na dann freut's mich auch ...

Grüße
bastla

[Edit] War was? [/Edit]
Bitte warten ..
Mitglied: MmarKuss
16.02.2012 um 21:45 Uhr
Hast recht, bastla, sorry, das mit dem Sticheln geht wirklich massiv ins Auge.

Hatte Deinen Tip einfach mal so als batch laufen lassen - konnte nicht funzen, da es keine "%1" gab.
Berechnung der nc laufen lassen und dann Deine bat laufen lassen <- perfekt.

Folge: hab meinen Beitrag über dem Deinem in tiefer Demut komplett umgepostet.

MmarKuss, der nie wieder sticheln wird...
Bitte warten ..
Mitglied: bastla
16.02.2012 um 21:50 Uhr
Hallo MmarKuss!

Noch zu
nicht kapiert, was ihr da zusammengezaubert habt
Ich habe einfach den Quellpfad in eine Variable übernommen und dann eine Zeichenersetzung ("/" wird durch "\" ersetzt) vorgenommen (die zuätzliche Variable ist erforderlich, da derartige Operationen mit den Parametervariablen nicht möglich sind); mehr dazu mit "set /?" (und dort ist dann
    %PATH:str1=str2% 
 
Dies erweitert die PATH-Umgebungsvariable, wobei jede Instanz von "str1" im 
erweiterten Ergebnis mit "str2" ersetzt wird. "str2" kann die leere 
Zeichenfolge sein, um alle Instanzen von "str1" aus der erweiterten Ausgabe zu 
löschen. Wenn "str1" mit einem Sternchen beginnt, steht "str1" für alles 
zwischen dem Anfang der erweiterten Ausgabe bis zum ersten Auftreten des 
übrigen Abschnitts von "str1".
interessant) ...

Grüße
bastla
Bitte warten ..
Mitglied: MmarKuss
16.02.2012 um 21:55 Uhr
...mal so ganz unverschämt gefragt:

Das Ganze geht zwar jetzt perfekt, aber gibt es eigentlich auch die Möglichkeit,
ein kleines Fortschrittsfensterchen zu generieren - mit dem Ergebnis:

"Cammill.nc erfolgreich kopiert "

bzw ( wenn das Lan-Netzwerk des geliebten Kunden mal wieder abkippt)


"Kopieren gescheitert, bitte wiederholen" - oder so ähnlich.

Ich weiss, ich bin unverschämt, aber es kann mich hier ja keiner live verhauen...
Bitte warten ..
Mitglied: MmarKuss
16.02.2012 um 21:59 Uhr
Danke für die Erläuterung,

im Prinzip hatte ich das schon kapiert, aber die Syntax hätte ich selbst und
alleine nie zusammenbekommen -

noch nicht, bin ja erst am Anfang...
Bitte warten ..
Mitglied: bastla
16.02.2012 um 22:01 Uhr
Hallo MmarKuss!

"Fortschrittsfensterchen" ist nicht, aber eine Auswertung des Errorlevels kann natürlich erfolgen:
01.
@echo off & setlocal 
02.
set "Quelle=%~1" 
03.
copy "%Quelle:/=\%" D:\Datenspeicher\ >nul && (echo "%~nx1" erfolgreich kopiert.) || (echo Kopieren gescheitert, bitte wiederholen!) 
04.
pause
Grüße
bastla
Bitte warten ..
Mitglied: MmarKuss
16.02.2012 um 22:04 Uhr
Perfekt, danke,

kann man dich mieten ???
Bitte warten ..
Mitglied: bastla
16.02.2012 um 22:06 Uhr
Hallo MmarKuss!
kann man dich mieten ???
Nö - ich batche / scripte nur nach Lust und Laune ...

Grüße
bastla
Bitte warten ..
Mitglied: MmarKuss
16.02.2012 um 22:10 Uhr
grins - dann um so mehr danke

aber im Ernst, wenn schon, dann suche ich einen Prorammierer,
der sich mit 3D-Visualisierungen ( vtk - oder ???) auskennt und das in
C++ umsetzen kann.

Problem: im Lohnauftrag unbezahlbar - so bleiben eben gute Ideen auf der Strecke.

Grüsse zurück von

MmarKuss
Bitte warten ..
Mitglied: 60730
16.02.2012 um 22:50 Uhr
Zitat von MmarKuss:
kann man dich mieten ???

[OT]
aber ein /v kannst du Ihm gerne kaufen
[/OT]
01.
copy /v "%Quelle:/=\%" D:\Datenspeicher\ >nul && (echo "%~nx1" erfolgreich kopiert.) || (echo Kopieren gescheitert, bitte wiederholen!) 
Bitte warten ..
Mitglied: bastla
16.02.2012, aktualisiert 18.10.2012
Hallo T-Mo!

"/v" wird sicher nicht schaden - wir könnten Biber aber mal fragen, ob er das auch hinsichtlich "copy ohne x" sagen würde ...

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Windows Server
gelöst Wo ist der Speicherplatz hin? Festplatte voll, aber womit? Windows Server 2012R2 (9)

Frage von Andinistrator1 zum Thema Windows Server ...

Windows Update
Package Publisher - Copy has failed falscher Parameter

Frage von Belloci zum Thema Windows Update ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...