Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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
GELÖST

Datei in neue Datei schreiben lassen.

Frage Entwicklung Batch & Shell

Mitglied: bennibatcher

bennibatcher (Level 1) - Jetzt verbinden

06.04.2010 um 02:31 Uhr, 4096 Aufrufe, 10 Kommentare

Eine .bat Datei soll in eine andere .bat Datei hineinschreiben.

Hallo! Ich habe ein Problem mit .bat dateien.
echo copy %0 /y "%userprofile%\startm~1\Programme\Autostart > datei.bat
Damit Lasse ich eine neue .bat Datei anlegen und will in sie reinschreiben.
Geht aber nicht es gibt mir im Konsolenfenster : copy %0 /y "%userprofile%\startm~1\Programme\Autostart > datei.bat aus.
Aber mit jedem anderen Befehl gehts??
Z.b wenn ich schreibe:
echo pause > datei.bat
echo cls >> datei.bat
Dann gehts ganz einwandfrei.
Warum oben nicht?
Danke schonmal!
LG Benni.
Mitglied: Nottrott
06.04.2010 um 03:08 Uhr
Wenn du das Anführungszeichen im copy-Befehl brauchst, musst du es mit einem ^ davor maskieren.
Außerdem willst du vermutlich am Ende auch noch ein Anführungszeichen.
Also:
echo copy %0 /y ^"%userprofile%\startm~1\Programme\Autostart^" > datei.bat
Bitte warten ..
Mitglied: MisterExpulso
06.04.2010 um 03:10 Uhr
Nun das ist ganz logisch:
entweder man setzt etwas in Anführungszeichen oder nicht - du setzt hier vor %userprofile%[...] Anführungszeichen, aber hinter Autostart nicht mehr. Lass es vorne weg oder mach es hinten dran, dann funktioniert es auch.

//edit: Mist zu langsam ;)
Bitte warten ..
Mitglied: bastla
06.04.2010 um 13:12 Uhr
@DGzRSBorkum
Lass es vorne weg oder mach es hinten dran, dann funktioniert es auch.
Zumindest unter der Annahme, dass ein XP oder darunter als BS zum Ausführen des Ergebnisses verwendet werden soll, würde ich den Vorschlag auf "mach es hinten dran" reduzieren ...

Ansonsten sollte vielleicht
echo copy "%%0" "%%userprofile%%\startm~1\Programme\Autostart">datei.bat
eher den gewünschten Erfolg bringen ...

Grüße
bastla
Bitte warten ..
Mitglied: Nottrott
06.04.2010 um 13:43 Uhr
@bastla:
kommt darauf an, ob er in der neuen Datei schon die festen Pfade drinstehen haben will oder ob diese erst beim Ausführen eingefügt werden.
Außerdem bringt %0 seine Anführungszeichen selber mit.
Also entweder
echo copy %0 /y "%userprofile%\startm~1\Programme\Autostart" > datei.bat
oder
echo copy %%0 /y "%%userprofile%%\startm~1\Programme\Autostart" > datei.bat
Gruß
nottrott
Bitte warten ..
Mitglied: bastla
06.04.2010 um 13:55 Uhr
@Nottrott
Hinsichtlich "%0" hast Du recht (ich könnte aber noch "%%~0" anbieten ), wobei es, abgesehen von den Anrührungszeichen, und egal ob mit einem oder zwei Prozentzeichen, eher fragwürdig erscheint ...

Ansonsten: Welchen Sinn sollte es haben, einen festen Pfad in ein anderes Profil vorzugeben? Wenn's ohnehin das eigene sein sollte, wäre immer noch die variable Schreibweise zu bevorzugen (etwa wegen "C:\Dokumente und Einstellungen" vs "C:\Users") ...

Grüße
bastla

P.S.: Das "/y" hat zwar einen interessanten Platz (funktioniert allerdings auch dort), ist aber in einem Batch trotzdem unnötig ...
Bitte warten ..
Mitglied: Biber
06.04.2010 um 14:21 Uhr
[OT] @bastla
Zitat von bastla:
...., wobei es, abgesehen von den Anrührungszeichen, ....eher fragwürdig erscheint ...
Ich bin auch immer ganz gerührt, wenn ich die armen unschuldigen Pfade so eingeschlossen sehe...*snief*
Manchmal schüttelt es mich sogar...

Dieser erste Arbeits-Dienstag fühlt sich irgendwie an wie ein Montag im Doppelpack..

Grüße
Biber
[/OT]
Bitte warten ..
Mitglied: bastla
06.04.2010 um 14:38 Uhr
[OT too]
@Biber
... wobei es noch schlimmer ist, als es auf den ersten Blick scheint - eingeschlossen ist nämlich der/die/das Batch him-/her-/itself. Dass ich zu Derartigem fähig wäre, hätte ich mir eigentlich selbst nicht zugetraut - obwohl, das mit dem Doppelpack-Montag (auch bei mir: kein Vergleich zu gestern ) wäre vielleicht eine Erklärung ...

Aber noch etwas Tröstliches zu besagtem "Montag": So lange, wie er schon gedauert hat, dauert er nimmer (hoffe ich jedenfalls).

[/OT too]
Bitte warten ..
Mitglied: MilhouseNo1
07.04.2010 um 14:56 Uhr
Hallo zusammen,

weils grade zu diesem Thread passt:

ich möchte mit echo diese Zeile (ohne Anführungszeichen) in eine Batch schreiben: VER > %NTLOG%
Das GrösserAls-Zeichen wird aber als Umleitungsbefehl interpretiert (auch Anführungszeichen ändern daran nichts)

echo VER > %%NTLOG%%>>batch.cmd --> VER (und der Rest wird ignoriert...)
echo VER ">" %%NTLOG%%>>batch.cmd --> VER ">" %NTLOG%

Hat jemand diese Nuss bereits geknackt?
Bitte warten ..
Mitglied: MilhouseNo1
07.04.2010 um 15:00 Uhr
wer lesen kann....

echo VER ^>^ %%NTLOG%%>>batch.cmd --> VER > %NTLOG%
Bitte warten ..
Mitglied: Biber
07.04.2010 um 15:01 Uhr
Moin MilhouseNo1,

willkommen im Forum.

Steuer- und Umleitungszeichen musst du im Batch/am CMD "maskieren" mit einem Caret ("^"), wenn sie als Parameter übergeben werden.

Also
echo VER ^>%%NTLOG%%>>batch.cmd 
Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Kombinationen - Möglichkeiten in txt schreiben lassen! (8)

Frage von freshman2017 zum Thema Batch & Shell ...

Batch & Shell
gelöst Text Datei bestimmte Bereiche lesen und in neue Text schreiben (3)

Frage von TurboD zum Thema Batch & Shell ...

Debian
Www-data in ein CIFS Share Daten schreiben lassen? (3)

Frage von Jens4ever zum Thema Debian ...

Neue Wissensbeiträge
Sicherheit

Kanadischer Geheimdienst veröffentlicht erstmals Sicherheitssoftware

Information von BassFishFox zum Thema Sicherheit ...

Virtualisierung

Docker Monitoring und Steuerung per "sen"

Tipp von Frank zum Thema Virtualisierung ...

Viren und Trojaner

Neues Botnetz über IoT-Geräte

(6)

Information von certifiedit.net zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Windows Installation
Windows 10 neu installieren (18)

Frage von imebro zum Thema Windows Installation ...

Windows 7
Abbruch bei Brennvorgang (16)

Frage von Simulant zum Thema Windows 7 ...

Router & Routing
Externe IP von innen erreichbar machen (15)

Frage von Windows10Gegner zum Thema Router & Routing ...