Hallo, Mikefield.
Über "enableextensions" und "enabledelayedexpansion":
Das zu Beginn jeder Batchdatei zu setzen, ist einfach eine Vorsichtsmaßnahme.
Nach meinem Wissensstand wird cmd.exe vorgabemäßig mit "enableextensions" gestartet. Darum wird er in der Regel "IF /I" verstehen. Wenn jedoch cmd.exe per Kommandozeile oder über die Registry gestartet wird ohne dass die Erweiterungen eingeschaltet sind, dann funktioniert "IF /I" eben nicht.
If command extensions are enabled, use the following syntax:
if [/i] string1 CompareOp string2 command [else expression]
(Vgl. dazu
IF und
cmd)
Bei "enabledelayedexpansion" bin ich mir nie sicher, ob das vorgabemäßig ein oder aus ist.
Also ist doch folgendes eine gute Leervorlage zu einem Script und verhält sich immer so wie erwartet:
@echo off
setlocal enableextensions enabledelayedexpansion
endlocal
Über die SDELETE Startmeldung:
Sdelete schreibt die Startmeldung nach stdout. D.h.
2>nul bringt ohnehin nicht das gewünschte Ergebnis.
Es bliebe also höchstens die Möglichkeit
+ entweder mittels "find" oder "findstr" Befehlen die Startmeldungen auszufiltern
+ oder mittels "for"-Schleife die ersten 3 Zeilen auszufiltern und nur den Rest auszugeben
Ich glaube, der Erfolg rechtfertigt den Aufwand nicht.
Ansonsten:
Habe meine
Mängelliste noch mal überdacht und korrigiert 
:
Die ursprüngliche Anforderung war lediglich,
eine im T.C. selektierte Datei per Button an Sdelete zu übergeben und auf Nachfrage zu löschen. Das erledigt Zosters Script sehr wohl. Damit beschränkt sich mein Script auf 1 kosmetische Änderung, keine GOTOs, und die Möglichkeit, die Abfrage nicht nur mit "JA", sondern auch mit "Ja", "ja" oder "jA" beantworten zu können, also ohne Berücksichtigung von Groß- und Kleinschreibung.
(Der Berg kreiste und gebar eine Maus.)
Wer Interesse daran hat oder sowas benötigt:
Hier gibt es einen Forums-Thread,
My handy sdelete scripts, in dem versucht wird, ein universelles Sdelete-Script zu entwickeln, dass per Explorer-Kontextmenü aufgerufen werden kann. Es soll damit möglich sein, sowohl einzelne Dateien zu löschen, als auch ganze Verzeichnisbäume rekursiv.
Hinweis:
So ganz wurde das Ziel, alle möglichen Einsatzgebiete abzudecken, nicht erreicht. Es besteht also auch dort noch Verbesserungspotential. - Vielleicht nimmt man aber auch einfach Heidi's Eraser.
Grüße,
Karl