Entwickler-Ecke

Off Topic - Was bedeutet "@C:\datei..."?


GuaAck - So 30.12.12 19:39
Titel: Was bedeutet "@C:\datei..."?
Hallo,

ich habe ein Problem mit einem Programm, das man aus der Kommandozeile mit mehreren Dateinamen als Parameter aufruft. In einem Beispiel steht bei einigen Dateien ein "@" vor dem Laufwerksbuchstaben "C", bei anderen nicht. Was bedeutet das "@" an der Stelle? Bei Google habe ich wohl nicht die richtige Frage gestellt, jedenfalls habe ich nichts gefunden.

Hat jemand einen Tipp?

Gruß
GuaAck


Nersgatt - So 30.12.12 20:21

Das wird wohl von dem Programm selbst abhängen. Um welches Programm handelt es sich denn? Poste doch mal die Beispiele, die Du ansprichst.


Martok - So 30.12.12 20:25

user profile iconGuaAck hat folgendes geschrieben Zum zitierten Posting springen:
Hat jemand einen Tipp?
Ja. Verrate uns doch mal, was es denn für ein Befehl ist :roll:


Ansonsten gilt wie immer: frag das Programm!
Ich hab grad nix besseres gefunden als ausgerechnet das Borland-Grep mit seiner unsäglich kaputten Optionsverarbeitung:

Quelltext
1:
2:
3:
>grep ?
Turbo GREP 5.5 Copyright (c) 1992, 1999 Inprise Corporation
Syntax:  GREP [-rlcnvidzuwo] searchstring file[s] or @filelist

Zitat:
file[s] or @filelist
:arrow: Das ist auch die übliche (DOS-)Konvention: wenn ein Dateiname mit @ anfängt wird er als Dateiliste interpretiert. In dieser Datei stehen dann Zeilenweise die eigentlich gemeinten.

Aber ohne mehr Info kann natürlich keiner sagen ob das bei dir genauso ist.


GuaAck - So 30.12.12 20:56

Entschuldigung, ich dachte, es gäbe da eine allgemeine Konvention, deshalb wollte ich meine Frage nicht zu ausführlich beschreiben.

Es geht um ntbackup, das Standard-Backup-Programm in Windows XP. Dies ist die Befehlszeile, die der Sicherungsassistent erzeugt hat (Was aber aus irgendeinem Grund nicht läuft, in der Ereignisprotokollierung steht, das auf /f ein Dateiname folgen muss. Bevor ich nun lange umständlich probiere, wollte ich zunächst die Syntax verstehen, was mir bis auf das " @" auch gelungen ist.)

C:\windows\system32\ntbackup.exe backup "@C:\windows\Local Settings\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data\Sonntag_1200.bks"
/a /d "Satz am 29.12.2012 um 14:57 erstellt" /v:no /r:no /rs:no /hc:off /m incremental /j "Sonntag_1200" /l:s /Snap:Off
/f "Z:\Backups\D_2012_12_28\D_2012_12_28_full.bkf"

Bei Laufwerk C:\ steht eben das "@", bei Z:\ nicht.

Gruß
GuaAck


Martok - So 30.12.12 21:02

Wie gesagt, frag das Programm.


Quelltext
1:
ntbackup.exe /?                    

Öffnet eine CHM-Seite mit der Beschreibung der Parameter.

Zitat:
@BKS_Dateiname
Gibt den Namen der Sicherungsauswahldatei (BKS-Datei) für den Sicherungsvorgang an. Dem Namen der Sicherungsauswahldatei muss das @-Zeichen vorangestellt werden. Eine Sicherungsauswahldatei enthält Informationen zu den Dateien und Ordnern, die für die Sicherung ausgewählt wurden. Diese Datei muss mit der GUI-Version des Sicherungsdienstprogramms erstellt werden.


Was dann auch wieder in die Konvention passt. Die @-Datei ist eine Datei mit Dateiverweisen drin.


papa69 - Mo 31.12.12 07:52

...unter Windows bedeutet das "@"-zeichen eigentlich, dass der Backslash ("/") innerhalb eines Strings auch als solcher gelesen wird...normalerweise müsstest du immer "//" eingeben.

Der Backslash ist (für Windows ???) die Aufforderung, nach einem Steuerzeichen (Escape-Zeichen) zu suchen/handeln...


Th69 - Mo 31.12.12 13:28

Hallo papa69,

leider Thema verfehlt ;-)
Hier geht es nicht um Quellcode, sondern um Kommandozeilenparameter - und da wurde die Antwort schon genannt.