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?

Mitglied: 43060

43060 (Level 1)

13.02.2007, aktualisiert 14.02.2007, 7527 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
Hosting & Housing
Dyndns.org wildcard
Frage von mahala60Hosting & Housing

ich habe eine Domain bei dyndns.org mit dieser domain kann ich auf einen bestimmten rechner, was auch funktioniert. bei ...

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, ...

Firewall

PfSense Wildcard FQDN

Frage von Spirit-of-EliFirewall10 Kommentare

Moin zusammen, sehe ich es nur nicht oder kann die Sense tatsächlich keine Wildcard FQDNs Bsp. in nem Alias ...

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 ...

Neue Wissensbeiträge
Humor (lol)
Administrator.de Perlen
Tipp von DerWindowsFreak2 vor 4 TagenHumor (lol)6 Kommentare

Hallo, Heute beim stöbern auf dieser Seite bin auf folgenden Thread aus dem Jahre 2006 gestossen: Was meint ihr? ...

Erkennung und -Abwehr
OpenSSH-Backdoor Malware erkennen
Tipp von Frank vor 5 TagenErkennung und -Abwehr

Sicherheitsforscher von Eset haben 21 Malware-Familien untersucht. Die Malware soll Hintertüren via OpenSSH bereitstellen, so dass Angreifer Fernzugriff auf ...

iOS
WatchChat für Whatsapp
Tipp von Criemo vor 8 TageniOS5 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor!
Tipp von Criemo vor 8 TageniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Heiß diskutierte Inhalte
Samba
Windows 10 Client in Samba-Domäne hinzufügen scheitert
Frage von diwaffmSamba31 Kommentare

Hi Leute, ich habe einen Samba Server in der Version 4.9.3 auf einer OpenSuse Maschine laufen. Damit sind momentan ...

Windows Server
Kleine Umfrage: Windows Server Desktop oder Core?
Frage von doomfreakWindows Server22 Kommentare

Hey :) Ich wollte mal eine kleine Umfrage hier starten. Ich bin schon etwas länger auf dieser Seite hier ...

Windows Systemdateien
Verknüpfungen nach Pfadwechsel
Frage von Hendrik2586Windows Systemdateien17 Kommentare

Guten Morgen meine lieben Kollegen und Kolleginnen, ich hab da mal eine Frage die Ihr sicher schon kennt. Es ...

Batch & Shell
CMD-Fenster nach Task schließen
gelöst Frage von Hyperlink.93Batch & Shell16 Kommentare

Hallo, ich habe ein Skript was über einen Task bei jeder User Anmeldung läuft. Der Task startet eine CMD ...