Ich muss schreibgeschützte Attribute aller Dateien in einem Verzeichnis unter Windows 7 mithilfe der Befehlszeile rekursiv entfernen. Könnten Sie dazu bitte ein Beispiel geben?
Ich muss schreibgeschützte Attribute aller Dateien in einem Verzeichnis unter Windows 7 mithilfe der Befehlszeile rekursiv entfernen. Könnten Sie dazu bitte ein Beispiel geben?
Antworten:
Ich würde den Befehl ATTRIB verwenden, zum Beispiel:
attrib -r c:\folder\*.* /s
attrib
Der Befehl
-r
ist das Flag zum Entfernen schreibgeschützter Attribute.
c:\folder\*.*
Der Ordner, in dem Sie ihn ausführen, sowie Platzhalter für alle Dateien
/s
sind das Flag für alle Unterverzeichnisse und Dateien
Hier finden Sie weitere Dokumentation und Beispiele für den Befehl attrib: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/attrib
/d
wenn Sie möchten, dass es auch die eigentlichen Ordner verarbeitet.
attrib -h -r
).
Öffnen Sie zunächst eine Eingabeaufforderung. cd
Wechseln Sie dann in das Verzeichnis, in das Sie die Attributänderungen anwenden möchten. Geben Sie abschließend den folgenden Befehl ein:
attrib -R /S
Dadurch wird das Nur-Lese-Attribut aus allen Dateien im aktuellen Verzeichnis entfernt. Anschließend wird der Vorgang in allen Unterverzeichnissen wiederholt.
attrib
Hinweis: Die meisten anderen Antworten verwenden nur solche, -r
die möglicherweise nicht für Dateien geeignet sind, für die system
oder die hidden
Attribute festgelegt wurden.
Im Folgenden finden Sie eine Lösung zum rekursiven Entfernen von Schreibschutzattributen aus allen Dateien (einschließlich der vom System oder ausgeblendeten) in einem Verzeichnis:
attrib -s -h -r "c:\path_to_folder\*.*" /s /d
Beschreibung:
-s
Systemattribut
-h
entfernen Ausgeblendetes Attribut entfernen
-r
Schreibgeschütztes Attribut
/s
entfernen Attribute im aktuellen Ordner festlegen /d
/ entfernen und Unterordner einbeziehen Attribute von Ordnern festlegen
/ entfernen
Dazu habe ich diese Batch-Datei erstellt. Grundsätzlich löscht diese Batch-Datei schreibgeschützte Attribute in dem Verzeichnis, in dem sie sich befindet, oder in dem Verzeichnis, in dem sie sich befindet, und in allen niedrigeren Verzeichnissen. Hoffe, jemand findet eine Verwendung dafür. Entschuldigen Sie jeden Code, der als "schlecht" erscheint, da ich gerade anfange, Batch-Dateien selbst zu lernen.
@ECHO off
:begin
ECHO Would you like to only remove read only attributes
ECHO from this director or from all the sub directores as
ECHO well?
ECHO.
ECHO [A] This directory only
ECHO [B] All directories - cascading
ECHO [C] Cancel
SET /P actionChoice="Option(A,B,C): "
ECHO.
IF "%actionChoice%" == "A" GOTO A
IF "%actionChoice%" == "B" GOTO B
IF "%actionChoice%" == "C" GOTO C
GOTO badChoice
:A
CLS
ECHO Are you sure you want to remove all read-only
ECHO attributes from this directory only?
ECHO.
ECHO Directory:
ECHO.
ECHO %CD%
ECHO.
SET /P continueChoice="Continue? (Y, N): "
IF "%continueChoice%" == "N" GOTO abort
ECHO Removing Read Only Attributes From Local Directory...
SET currectDirectory=%CD%
ECHO Current directory is: %currectDirectory%
FOR %%G IN (%currectDirectory%\*) DO (
ECHO %%G
ATTRIB -R "%%G"
)
GOTO end
:B
CLS
ECHO Are you sure you want to remove all read-only
ECHO attributes from this directory and all sub-directories?
ECHO.
ECHO Directory:
ECHO.
ECHO %CD%
ECHO.
SET /P continueChoice="Continue? (Y, N): "
IF "%continueChoice%" == "N" GOTO abort
ECHO Removing Read Only Attributes Cascading...
FOR /R %%f IN (*) DO (
ECHO %%f
ATTRIB -R "%%f"
)
GOTO end
:C
CLS
ECHO Cancel: no files have been changed
GOTO end
:badChoice
CLS
ECHO Unknown Option
ECHO.
ECHO.
ECHO.
GOTO begin
:abort
CLS
ECHO No files have been changed
ECHO.
ECHO.
ECHO.
GOTO begin
:end
ECHO Read only attributes removed
PAUSE
Viele Optionen hier, aber diese Batchdatei unterstützt das Ablegen von Ordnern und / oder Dateien in die Batchdatei.
Speichern Sie diesen Code unten in Read-only Off.bat
.
Beachten Sie, wie das Drop-Bit im Code funktioniert.
@echo off
title ' %~nx0 ' by stephen147
color 5F
rem Place this inside a folder and run to remove the read-only attribute in the root folder and any folders or files within.
rem Or drop the folder/s and/or file/s to the batch file itself.
cd /d "%~dp0"
echo.
echo.Do you want to remove the read-only attributes inside this folder ? [ Ctrl + C to cancel ]
echo.
pause
echo.
echo.%cd%
attrib -s -d -r "%cd%\*.*"
attrib -s -d -r "%cd%"
rem This line supports dropping the folder/s and/or file/s to the batch file itself.
attrib -r "%*"
echo.
echo.Done
timeout /T 5
EXIT
attrib /S -R