Parameter %S und Sonderzeichen

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
User avatar
dumbledore954
Senior Member
Senior Member
Posts: 373
Joined: 2006-11-27, 08:10 UTC
Location: Hessisch Sibirien (Germany)

Parameter %S und Sonderzeichen

Post by *dumbledore954 »

Der Parameter %S bewirkt bekanntlich, dass alle markierten Dateien und/oder Ordner einzeln als Parameter an ein beliebiges Programm übergeben werden und dieses so oft ausgeführt wird, wie Parameter vorhanden sind. Dabei werden Datei-/Ordnernamen, die mindestens ein Leerzeichen enthalten, automatisch in Anführungszeichen eingeschlossen.

Ich habe nun folgendes Problem: ich verwende das kleine Programm "SDelete" von Sysinternals, um Dateien bzw. Ordner so zu löschen, dass sie auf herkömmlichem Wege nicht wiederherstellbar sind. SDelete versagt aber beispielsweise den Dienst, wenn Datei- oder Ordnernamen - warum auch immer - ein Komma enthalten. Dann funktioniert es nur, wenn der entsprechende Name in Anführungszeichen eingebettet ist.

Was spräche eigentlich dagegen, wenn die Parameter bei %S generell in Anführungszeichen gesetzt würden? Bei Datei-/Ordnernamen, bei denen es nicht erforderlich wäre, sollte es eigentlich egal sein, ob Anführungszeichen vorhanden sind und allen anderen Problemen mit verschiedensten Softwareprodukten würde so aus dem Weg gegangen werden.

Übersehe ich da vielleicht was? Oder gibt es schon einen Workaround? Die Forumssuche etc. hat mich leider nicht weiter gebracht. :?:
Gruß Michael

WinXPPro SP3, TC 7.56a
#7640 Personal licence
User avatar
Samuel
Power Member
Power Member
Posts: 1930
Joined: 2003-08-29, 15:44 UTC
Location: Germany, Brandenburg an der Havel
Contact:

Post by *Samuel »

Wenn ich mich recht erinnere solltest du:

Code: Select all

"%S"
verwenden statt

Code: Select all

%S
User avatar
dumbledore954
Senior Member
Senior Member
Posts: 373
Joined: 2006-11-27, 08:10 UTC
Location: Hessisch Sibirien (Germany)

Post by *dumbledore954 »

Samuel wrote:Wenn ich mich recht erinnere solltest du:
Code:
"%S"...
Das war auch mein erster Gedanke - nützt aber leider nichts, da hierdurch nur die gesamte Parameterkette in Anführungszeichen gesetzt wird und möglicherweise noch einzelne Parameter zwischendrin (nämlich die mit Leerzeichen). Und da verzweifelt "SDelete" dann endgültig...
Gruß Michael

WinXPPro SP3, TC 7.56a
#7640 Personal licence
User avatar
Samuel
Power Member
Power Member
Posts: 1930
Joined: 2003-08-29, 15:44 UTC
Location: Germany, Brandenburg an der Havel
Contact:

Post by *Samuel »

Dann versuch mal die Dos-Dateinamen:

Code: Select all

%s
Eigentlich solltest du doch immer noch "%P" bzw "%p" (aktueller Pfad) davorsetzen, oder?

Code: Select all

%p%s
@Christian:
Gibts da keine Möglichkeit?
User avatar
dumbledore954
Senior Member
Senior Member
Posts: 373
Joined: 2006-11-27, 08:10 UTC
Location: Hessisch Sibirien (Germany)

Post by *dumbledore954 »

2Samuel

%s hab' ich natürlich noch nicht probiert - der Tipp ist möglicherweise nicht schlecht; werde ihn mal testen. Der Parameter %p sollte eigentlich überflüssig sein, solange man im aktuellen Pfad bleibt. Aber auch dies werde ich mal checken (eigentlich dürfte die Parameterliste mit Pfad nicht länger werden, als wenn man die LFNs ohne Pfad verwendet). Dauert aber bis Morgen, weil sich das Ganze auf meinem Büro-Notebook abspielt. Zuhause verwende ich für solche Zwecke den "Eraser", im Büro geht das leider nicht.
Gruß Michael

WinXPPro SP3, TC 7.56a
#7640 Personal licence
User avatar
dumbledore954
Senior Member
Senior Member
Posts: 373
Joined: 2006-11-27, 08:10 UTC
Location: Hessisch Sibirien (Germany)

Post by *dumbledore954 »

%s hab' ich natürlich noch nicht probiert - der Tipp ist möglicherweise nicht schlecht; werde ihn mal testen.
Funktioniert bestens (war eigentlich auch zu erwarten, aber man weiß ja nie)! Vielen Dank Samuel! :D
Gruß Michael

WinXPPro SP3, TC 7.56a
#7640 Personal licence
Post Reply