Text in Datei...?

Hallo,
ich schlage mich mit einem Problem herum.

Den folgenden String möchte ich in eine Textdatei schreiben (lassen):


Die Anweisung in meiner BAT ist wie folgt:

@ECHO. > „%GROUP%yyy.html“
@ECHO >> „%GROUP%yyy.html“

Dieser Befehl wird jedoch nicht ausgeführt.

In der Variablen steht der Pfad (dieser wurde durch eine andere Batchroutine ermittelt)

Die HTML-Anweisung akzeptiert aber nicht diese absolute Pfadangabe.

Wie kann ich die HTML-Anweisung so gestalten, dass die absolute Pfadangabe ausgeführt wird. -Bedeutet also, dass in der Variablen immer wieder etwas -mir vorher unbekanntes- steht-

Problematisch ist auch die Gestaltung des Strings:

Echo

Dieser wird nicht in die Zieldatei geschrieben. Es hat wohl mit dem ersten Zeichen (

Hallo,
ich schlage mich mit einem Problem herum.

Den folgenden String möchte ich in eine Textdatei schreiben
(lassen):
gelöscht :
Problematisch ist auch die Gestaltung des Strings:

Echo

Dieser wird nicht in die Zieldatei geschrieben. Es hat wohl
mit dem ersten Zeichen ( als erstes. Du must also die Bedeutung dieser Sonderzeichen ausschalten. Dies ist -wie nicht anders zu erwarten- betriebssystem abhängig.

MfG Georg V.

Hallo,

ich schlage mich mit einem Problem herum.
Den folgenden String möchte ich in eine Textdatei schreiben
(lassen):


Wer kann mir hierbei helfen?

Ist es Pflicht, das als Batch-Datei zu machen?
Das ist das schmerzhafteste, was man sich antun
kann.

Ich würde ein Tool installieren, was dafür gemacht
wurde, z.B.: http://downloads.activestate.com/ActivePerl/Windows/…

Damit kannst Du dann ein eweiterbares Skript
schreiben: [genhtml.pl]

use CGI qw(:standard);

my $GROUP = 'c:/temp/hier/'; 
my $fname = 'yyy.html';
my $FOUND = 'c:/temp/dort/'; 

# Datei zum Schreiben oeffnen
open my $fh, '\>', $GROUP.$fname or die "Schreibfehler $!";
# html erzeugen
print $fh header( -refresh =\> "0; URL=$FOUND" . 'xxx.pdf',
 -type =\> 'application/pdf' ) 
 . start\_html(-title =\> 'Moved')
 . end\_html();
close $fh;

und einfach mit
C:\TEMP> perl genhtml.pl
die benötigten Dateien erzeugen.

Grüße

CMБ

Ich würde ein Tool installieren, was dafür gemacht
wurde, z.B.:
http://downloads.activestate.com/ActivePerl/Windows/…

Hallo,
mein Prob. ich muss eine Lösung haben, die auf jedem Rechner läuft (ab w98) Wenn ich nun ein script wie vorgeschlagen mache - muss doch sicherlich das Quellprogramm >Active-Perl auch auf dem Zielrechner sein.

Mit Batchroutinen weiss ich, dass es keine Unstimmigkeiten gibt.

Sie machen zwar viel Arbeit - aber so schlimm ist es auch wieder nicht. Für mich wäre es ungleich aufwendiger eine Programiersprache zu lernen.

Viele Grüße
Joachim

Hallo Jo,

Sonderzeichen, die für die Shell eine besondere Bedeutung haben, also z.B. > > || , % @ :, maskiert man mit dem carret- oder Dach oder „wie auch immer Du es nennen magst“-Zeichen ^.

Außerdem würde ich Dir empfehlen die Umleitung an den Anfang der Zeile zu stellen, damit wird das Erstellen solcher echo-Folgen einfacher. Beispiel:@echo off
> „%GROUP%yyy.html“ ECHO.
>> „%GROUP%yyy.html“ ECHO ^^^
>> „%GROUP%yyy.html“ … Und ein „@echo off“ am Anfang erspart Dir das ständige „@echo“.

Zu Deinem Pfadproblem fallen mir zwei Dinge ein:

  1. Möglicherweise fehlt Pfadtrenner zwischen „%FOUND%“ und „xxx.pdf“ also „%FOUND%\xxx.pdf“ statt „%FOUND%xxx.pdf“.
  2. Backslash muss durch Slash ersetzt werden, da hilft dann „%FOUND%“ durch „%FOUND:=/%“ zu ersetzen.

Gruß
Volkmar

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]