下面这个是用的方法是读取参数的属性。代码精心设计了一下,更具人性化。- @echo off&setlocal enabledelayedexpansion&cls
- if "%~1" == "" (
- echo=请把要设置属性的文件或文件夹拖到该窗口。(手动输入也是可以的。)
- set "file="&set /p file=文件或文件夹完整路径=
- if "!file!" == "" (endlocal&%~s0&exit)
- if not exist "!file!" (cls&echo=文件或文件夹[!file!]不存在。请重新输入。&pause&endlocal&%~s0&exit)
- call :file !file!
- if /i "!x:~3,1!" equ "h" (
- if /i "!x:~4,1!" equ "s" (
- attrib -h -s "!file!"
- ) else attrib +h +s "!file!"
- ) else attrib +h +s "!file!"
- ) else (
- set "x=%~a1"
- set "file=%~1"
- if /i "!x:~3,1!" equ "h" (
- if /i "!x:~4,1!" equ "s" (
- attrib -h -s "!file!"
- ) else attrib +h +s "!file!"
- ) else attrib +h +s "!file!"
- )
- exit
- :file
- set "x=%~a1"
- set "file=%~1"
- goto :EOF
复制代码 两种运行方式:
1.双击运行批处理。然后把要设置属性的文件或文件夹拖到cmd.exe窗口上放开再回车。
2.直接把要设置属性的文件或文件夹拖到批处理上放开就可以了。
另外还想请问一下。除了用参数的%~a1和for的%%~ai这种方法还有没有其它办法获得文件的属性?比如读取文件属性的命令。 |