回答:
たとえば、ATTRIBコマンドを使用します。
attrib -r c:\folder\*.* /s
attrib
コマンド
-r
は読み取り専用属性を削除するためのフラグです。
c:\folder\*.*
実行中のフォルダーです。さらに、すべてのファイルのワイルドカード
/s
はすべてのサブディレクトリとファイルを実行するためのフラグです。
attribコマンドのその他のドキュメントと例を次に示します。https : //docs.microsoft.com/en-us/windows-server/administration/windows-commands/attrib
/d
実際のフォルダも処理する場合は、を追加します。
attrib -h -r
。
注:他のほとんどの答えは、属性または属性が設定されているファイルでは機能し-r
ない可能性のあるもののみを使用しています。system
hidden
したがって、ディレクトリ内のすべてのファイル(システムまたは非表示のファイルを含む)から読み取り専用属性を再帰的に削除するためのソリューションを次に示します。
attrib -s -h -r "c:\path_to_folder\*.*" /s /d
説明:
-s
システム属性を
-h
削除します非表示属性を
-r
削除します読み取り専用属性を/s
削除します現在のフォルダーの属性を
設定/削除し、サブフォルダーも含めますフォルダーの
/d
属性も設定/削除
これを行うためにこのバッチファイルを作成しました。基本的に、このバッチファイルは、そのディレクトリまたはそのディレクトリとすべての下位ディレクトリの読み取り専用属性をクリアします。誰かがそれの使用を見つけることを願っています。バッチファイルを自分で学習し始めたばかりなので、「貧しい」と思われるコードをすみません。
@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
ここには多くのオプションがありますが、このバッチファイルはフォルダー/ sおよび/またはfile / sをバッチファイル自体にドロップすることをサポートしています。
以下のコードをに保存しますRead-only Off.bat
。
コード内でのドロップビットの動作に注意してください。
@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