Win中修改文件系统属性

在Win中右键操作只能修改只读隐藏属性,不能操作系统属性

如果要修改系统属性,就要借助attrib属性了。下面写了一个批处理来操作。
新建一个 改属性.bat文件,写入下面内容:

@echo off
setlocal enabledelayedexpansion
title 修改系统属性和隐藏属性
color f0 
mode con: cols=50 lines=25
if "%~1"=="" (
echo 你没有拖入任何磁盘或文件或文件夹
echo 请把要处理的磁盘或文件或文件夹拖到批处理文件图标
echo 不要双击启动批处理
pause
)
:loop
cls
if "%~1"=="" goto :eof
if not exist "%~1" (echo 路径不存在)&pause&shift&goto loop
echo 当前处理的磁盘或文件或文件夹:
echo %~1
echo.
echo 请选择要进行的操作,然后按回车
echo.
echo 加系统和隐藏属性……………………………1
echo 减系统和隐藏属性……………………………2
echo 不处理…………………………………………3
echo.
set /p "c1=选择 (1,2,3) (不输入为!c1!,默认为2):"
if "!c1!"=="1" (set "d=+") else if "!c1!"=="3" (pause&shift&goto loop) else set "d=-"
set "a=%~a1"
if /i "!a:~0,1!"=="d" (
echo.
echo 这是一个文件夹,请选择要进行的操作,然后按回车
echo.
echo 只对该文件夹本身……………………………1
echo 只对该文件夹中的文件夹和文件……………2
echo 对该目录下的一切的文件夹和文件…………3
echo.
set /p "c2=选择 (1,2,3) (不输入为!c2!,默认为1):"
if "!c2!"=="2" (
pushd "%~1"
for /f "delims=" %%i in ('dir /a /b "%~1"') do attrib.exe !d!s !d!h "%%i"
popd
) else if "!c2!"=="3" (
for /f "delims=" %%i in ('dir /a /b /s "%~1"') do attrib.exe !d!s !d!h "%%i"
) else (
attrib.exe !d!s !d!h "%~1"
)
) else (
attrib.exe !d!s !d!h "%~1"
)
pause&shift&goto loop 

使用的时候直接要将修改的文件或文件夹拖到改属性.bat上就会弹出操作窗口,再根据需要选择增加属性还是减少属性。如果是文件夹要选择是针对文件夹或子文件夹之类的。之后就等处理就行了。

0%