Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch Befehl Attrib: Warum kennt es keine Wildcards mehr?

Frage Entwicklung Batch & Shell

Mitglied: 43060

43060 (Level 1)

13.02.2007, aktualisiert 14.02.2007, 7328 Aufrufe, 8 Kommentare

Hallo zusammen,

ich möchte einfach nur von einem Verzeichnis rekursiv alle darin enthaltenen Dateien und Unterverzeichnisse das Archivbit entfernen lassen. Dieser Einzeiler sollte funktionieren, tut es aber nicht:

attrib -a "c:\test\*.*" /s

Auch ohne Anführungszeichen verweigert Attrib seinen Dienst mit dem Kommentar "Datei c:\test\*.* nicht gefunden". Dabei sollen die Wildcards *.* in Verbindung mit dem Parameter /s ja eben rekursiv suchen und nicht nur nach einer einzelnen Datei.

Was mache ich da falsch bzw. was läuft da falsch?

Gruß,
Addi
Mitglied: cykes
13.02.2007 um 10:48 Uhr
Funktioniert hier problemlos, mit und ohne die " " unter Win XP SP2
Bitte warten ..
Mitglied: onegasee59
13.02.2007 um 11:07 Uhr
Hallo,

von wo aus startest Du den Einzeiler denn?

gruß
onegasee59
Bitte warten ..
Mitglied: cykes
13.02.2007 um 11:30 Uhr
Befinden sich denn Dateien in dem Ordner C:\test ? Wenn es nur um das Archivbit von Ordnern
geht musst Du hinten an den Befehl noch ein "/D" anfügen.
Bitte warten ..
Mitglied: 43060
13.02.2007 um 13:51 Uhr
Es handelt sich um ein Verzeichnis mit Unterverzeichnissen in denen jeweils Dateien liegen. Die Meldung erhalte ich sowohl wenn ich den Befehl direkt über die CMD eingebe, als auch wenn ich es per Skript über die Powershell ausführe. Deshalb bin ich recht ratlos.

WinXP Pro SP2

Gruß,
Addi
Bitte warten ..
Mitglied: onegasee59
13.02.2007 um 14:51 Uhr
Es handelt sich um ein Verzeichnis mit Unterverzeichnissen in denen jeweils Dateien liegen.

hhmm, dann kann ich auch keinen Fehler erkennen, denn so wäre Deine Befehlszeile völlig korrekt. Damit werden ALLE Dateien in allen Ordner mit der Attribut -a versehen.

test doch mal diesen schnippsel in einer attrib.cmd

01.
@echo off 
02.
echo Setzen von Attribut -a 
03.
attrib -a "c:\test\*.*" /s 
04.
pause 
05.
cls 
06.
echo Kontrolle ob Attribut -a gesetzt wurde 
07.
echo. 
08.
dir c:\test /a:-a 
09.
pause 
10.
cls 
11.
echo Setzten von attribut -a wieder ruecksetzen 
12.
pause 
13.
cls 
14.
echo Setzen von Attribut +a 
15.
attrib +a "c:\test\*.*" /s 
16.
pause 
17.
cls 
18.
echo Kontrolle ob Attribut +a gesetzt wurde 
19.
echo. 
20.
dir c:\test /a:a 
21.
pause
gruß
onegasee59
Bitte warten ..
Mitglied: 43060
13.02.2007 um 15:01 Uhr
Da direkt beim Versuch die Fehlermeldung erscheint, braucht man da eigentlich auch nichts überprüfen.

Ich habe jedoch einen Umweg gefunden, worüber es funktioniert.

01.
cd c:\test 
02.
attrib -a *.* /s 
Auf diese Weise funktioniert es komischerweise. Ich wechsle zuerst in das entsprechende Verzeichnis und wende dann die Wildcard alleine ohne Verzeichnisangabe an. Ist dann zwar ein Zweiteiler aber wenigstens fu.nzt es auf diese Weise. Verstehe wer will.

Gruß,
Addi
Bitte warten ..
Mitglied: onegasee59
13.02.2007 um 15:16 Uhr
dann startest Du die CMD vermutlich nicht auf LW C?

Problematisch wird sowas, wenn Du eine komplexere Batch für jemand anderen schreibst von der Du nicht weist wo man sie letztendlich ablegt und die gesamte Batch sogar noch aus mehren *.cmd-Modulen besteht. Dabei muss man sicherstellen das nach Abarbeitung eines Befehls die "aufgerufene.cmd" immer wieder zur "aufrufenden.cmd" und damit zum Startpfad der Batch zurückwechselt.

ich mach sowas daher immer so in der "Start.cmd" einer Batch.

... ganz am Anfang der "Start.cmd" kommt
...
set startpfad=%~dp0
...die Variable "%startpfad%" ermittelt automatisch den Pfad von der die Batch gestartet wird.
...Interessant vor allem dann, wenn man eine Batch auf USB-Stick einsetzt, wo man letztendlich
...das zugewiesene LW nicht kennt und nicht fest vorgeben kann.
...Der Inhalt von %startpfad% = LW:/Startpfad der Batch/
...Wenn ich also aus der "Start.cmd" einen weitere "*.cmd" aufrufen muss folgt:
call "%startpfad%weitere_Befehlsliste.cmd"
...ich bin jetzt in der "weitere_Befehlsliste.cmd"
...mit "pushd" gebe ich jetzt an das ich in ein anders LW:/Pfad wechseln will,
...die Batch sich aber merken soll von wo ich gekommen bin, also "%startpfad%weitere_Befehlsliste.cmd"
pushd "LW:X\irgendein_pfad"
...hier folgen die Befehle für das was ich in "LW:X\irgendein_pfad" machen will
popd
...mit "popd" kehre ich wieder zurück zu dem Pfad von dem ich "LW:X\irgendein_pfad" aufgerufen habe,
...also "%startpfad%weitere_Befehlsliste.cmd"


hoffe das war nicht zu verwirrend.

gruß
onegasse59
Bitte warten ..
Mitglied: 43060
14.02.2007 um 08:24 Uhr
Danke für die Info. Nun der Pfad inkl. Laufwerksbuchstabe ist festgegeben. Darüber hinaus handelt es sich hier auch nicht um ein Batch-Script in der CMD. Ich führe den Befehl in der Powershell aus.

Gruß,
Addi
Bitte warten ..
Ähnliche Inhalte
Exchange Server
ExchangeServer Management Console kennt den Befehl TransportAgent nicht!
Frage von sdidiExchange Server6 Kommentare

Hallo Leute, ich muss für ein Tool einen TransportAgent installieren, die Management-Console kennt den Befehl "TransportAgent" aber nicht. (Egal, ...

Windows Installation
CMD-Batch Programmstart Befehle
Frage von timsen96Windows Installation1 Kommentar

Schönen guten Tag zusammen, ich möchte gerne über eine cmd oder batch datei ein Programm oder Installation öffnen und ...

Batch & Shell
BATCH: Minuszeichen in set-Befehl
gelöst Frage von SchottenrockBatch & Shell3 Kommentare

Guten Morgen, ich komme gerade nicht weiter und es wit wohl nur eine Kleinigkeit, aber ich steh gerade auf ...

Entwicklung
Mit welchem Befehl kann ich in einer if schleife in Batch
gelöst Frage von JanInfoHDEntwicklung1 Kommentar

Mit welchem Befehl kann ich in einer if schleife in Batch dem Computer sagen das wenn die eingabe nicht ...

Neue Wissensbeiträge
Windows 10

Windows 10 Hello-Anmeldung per Foto ausgehebelt

Tipp von kgborn vor 1 StundeWindows 10

Windows Hello ist eine Funktion, um sich per Fingerabdruck-, Gesichts- oder Iriserkennung bei Windows 10-Geräten anzumelden (siehe), setzt aber ...

Perl

Perl hat heute Geburtstag: 30 Jahre Perl: Lange Gesichter zum Geburtstag

Information von Penny.Cilin vor 9 StundenPerl2 Kommentare

Hallo, auch wenn es wenige wissen und noch weniger Leute es nutzen. Perl hat heute Geburtstag. 30 Jahre Perl ...

Sicherheit

Blackberry stirbt - Keine Updates für Priv mehr

Tipp von certifiedit.net vor 10 StundenSicherheit1 Kommentar

Blackberry wird zu einer 08/15 Firma und geht wohl mehr und mehr den Weg, den HTC schon ging. Von ...

Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 2 TagenWindows 1012 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Heiß diskutierte Inhalte
Windows Server
SCCM 2016: PXE Boot des Clients schlägt fehl
Frage von gabeBUWindows Server23 Kommentare

Hallo Zusammen Ich habe eine Testumgebung erstellt um über SCCM 2016 einen virtuellen Client aufzusetzen. Folgende Maschinen habe ich ...

Netzwerkgrundlagen
Belibiges Teilnetz einer Subnetzmaske rausfinden?
gelöst Frage von CenuzeNetzwerkgrundlagen19 Kommentare

Wundervollen Gutentag, mittlerweile kann ich Subnetting so einigermaßen, aber ein Problem habe ich noch. Netzwerkadresse und Boradcast errechnen ist ...

LAN, WAN, Wireless
WLAN Reichweite erhöhen mit neuer Antenne
gelöst Frage von gdconsultLAN, WAN, Wireless12 Kommentare

Hallo, ich besitze einen TL-WN722N USB-WLAN Dongle mit einer richtigen Antenne. Ich frage mich jetzt ob man die Reichweite ...

Exchange Server
Exchange empfängt Emails - Kann aber keine Senden
gelöst Frage von niklasschaeferExchange Server11 Kommentare

Hallo, ich stehe gerade bei mir zuhause vor folgender Problemstellung. Gegeben sind 2x Hyper-V Host mit Windows Server 2016 ...