Komut satırını kullanarak Windows 7'de bir dizindeki tüm dosyaların salt okunur özniteliklerini kaldırmam gerekiyor. Lütfen buna bir örnek verebilir misiniz?
Komut satırını kullanarak Windows 7'de bir dizindeki tüm dosyaların salt okunur özniteliklerini kaldırmam gerekiyor. Lütfen buna bir örnek verebilir misiniz?
Yanıtlar:
ATTRIB komutunu kullanırdım, örneğin:
attrib -r c:\folder\*.* /s
attrib
komut
-r
, salt okunur öznitelikleri kaldırma bayrağı,
c:\folder\*.*
üzerinde çalıştığınız klasör, artı tüm dosyalar için joker karakterler,
/s
tüm alt dizinleri ve dosyaları yapma bayrağıdır
İşte attrib komutu için bazı belgeler ve örnekler: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/attrib
/d
Gerçek klasörleri de işlemesini istiyorsanız, bir ekleyin .
attrib -h -r
).
İlk önce bir komut istemi açın. Ardından cd
, öznitelik değişikliklerini uygulamaya başlamak istediğiniz dizine. Son olarak, aşağıdaki komutu girin:
attrib -R /S
Bu, geçerli dizindeki tüm dosyalardan salt okunur özniteliğini kaldıracak, daha sonra tüm alt dizinlerde aynı şeyi yapmak için tekrarlanacaktır.
attrib
Not: Diğer cevapların çoğu yalnızca kullandığınız -r
olabilir çalışmıyor dosyalarda system
veya hidden
set bağlıyor.
Bu nedenle, bir dizindeki tüm dosyalardan (sistem veya gizli olanlar dahil) yinelenerek salt okunur özniteliği kaldırmak için bir çözüm :
attrib -s -h -r "c:\path_to_folder\*.*" /s /d
Açıklama:
-s
Sistem özniteliğini
-h
kaldır Gizli özniteliği
-r
kaldır Salt okunur özniteliği
/s
kaldır Geçerli klasördeki ve alt klasörleri içeren
/d
öznitelikleri ayarla / kaldır Klasörlerin özniteliklerini de ayarla / kaldır
Bunu yapmak için bu toplu iş dosyasını yarattım. Temel olarak, bu toplu iş dosyası salt okunur içindeki öznitelikleri veya içindeki tüm alt dizinlerin dizinini temizler. Birisi bunun için bir kullanım bulur umarım. Toplu dosyaları kendim öğrenmeye başladığım için "zayıf" görünebilecek herhangi bir kodu affedersiniz.
@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
Burada birçok seçenek var ancak bu toplu iş dosyası, / s ve / veya dosya / s klasörlerini toplu iş dosyasına bırakmayı destekliyor.
Bu kodu aşağıdaki adrese kaydedin Read-only Off.bat
.
Bırakma bitinin kod içinde nasıl çalıştığını not edin.
@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