AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

bat-datei commands

Ein Thema von ghost007 · begonnen am 19. Apr 2007 · letzter Beitrag vom 23. Apr 2007
 
Olli
(Gast)

n/a Beiträge
 
#14

Re: bat-datei commands

  Alt 20. Apr 2007, 12:44
Zitat von Christian Seehase:
Dann zeig' mir doch bitte mal ein Beispiel, wie Du es anders lösen würdest.
Ich wuerde einen der Operatoren zur Pfadmanipulation benutzen. Bspw. %~dpVARIABLENNAME% (%~pVARIABLENNAME% reicht hier auch)

Alternativ habe ich auch noch eine mit NT4 kompatible Variante in petto, welche sich hier findet: http://forum.f-prot.com/index.php/topic,243.0.html (muesste aber angepasst werden um statt des letzten Teils den ersten auszugeben).

Aber hier die (IMO) korrektere Variante (mit der Einschraenkung unter dem naechsten Zitat von dir - Stichwort: Kontext):
Code:
set DIR_=%~dp0
del %DIR_%\*.txt
Koennte auch einfach nur "del %DIR_%*.txt" lauten.

Ich sage dir auch, wieso ich denke, dass das korrekter (gibt sicher andere Varianten) ist. ".." bedeutet im Kontext eines Verzeichnisses "das darueberliegende Verzeichnis" - die Skriptdatei ist ja nun aber kein Verzeichnis, folglich ist es semantisch falsch, auch wenn es dank des einprogrammierten Shortcuts "alles bis zum davorliegenden Backslash aus dem Pfad entfernen, falls es dort noch einen Backslash gibt" trotzdem funktioniert.

Kaeme halt drauf an. Ich gehe davon aus, dass ich einen solchen Hack wie du auch anwenden wuerde, wenn es nicht sauber sein muss sondern "einfach nur" funktionieren soll

Zitat von Christian Seehase:
Klar, den . gibt es schon seit DOS, aber wenn vor dem del-Kommando das aktuelle Verzeichnis sich geändert hat, könnte man sich ein Problem einhandeln
Das ist wahr, aber die meisten Programmier- und Skriptsprachen sind modal, der Kontext also relevant. Im uebrigen enthaelt %0 innerhalb einer aufgerufenen Funktion eben auch nicht den Dateinamen des Skripts, sondern den Namen der aufgerufenen Funktion. Hier ist es also ebenso wichtig in welchem Kontext dein Code aufgerufen wird

Beispiel:
Code:
@echo off
call :FUNCTION blablubb
:: Exit script
goto :EOF

:FUNCTION
:: Prints ":FUNCTION"
echo %0
:: Return to caller
goto :EOF
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz