|
|
这是您提供的Windows 10文件夹隐藏/显示批处理脚本。脚本功能正常,但有几处可以改进的地方:
主要功能:
o 设置文件夹的系统属性(+s)和隐藏属性(+h)来隐藏
o 移除系统属性(-s)和隐藏属性(-h)来显示
o 支持中文路径(使用UTF-8编码)
需要修正的地方:
- @echo off
- :: 设置命令提示符为 UTF-8 编码
- chcp 65001 >nul
- :title
- cls
- echo ================================
- echo 文件夹隐藏/显示工具
- echo ================================
- echo.
- :getPath
- :: 获取用户输入的文件夹路径
- set "folderPath="
- set /p "folderPath=请输入要隐藏/显示的文件夹路径(如D:\xfmovie): "
- :: 检查是否输入了路径
- if "%folderPath%"=="" (
- echo.
- echo 错误:未输入任何路径!
- timeout /t 2 /nobreak >nul
- goto getPath ; 原脚本这里是 goto getTitle,但不存在这个标签
- )
- :: 检查文件夹是否存在
- if not exist "%folderPath%" (
- echo.
- echo 错误:输入的文件夹路径无效或文件夹不存在,请检查路径并重新输入。
- echo 当前输入路径:%folderPath%
- timeout /t 3 /nobreak >nul
- goto getPath ; 原脚本这里是 goto getTitle
- )
- :getAction
- echo.
- echo 已选择文件夹:%folderPath%
- echo.
- :: 获取用户输入的操作类型
- set "action="
- set /p "action=请输入操作类型(输入 hide 隐藏文件夹,输入 show 显示文件夹): "
- :: 根据操作执行隐藏或显示
- if /i "%action%"=="hide" (
- echo.
- echo 正在隐藏文件夹...
- attrib +s +h "%folderPath%"
- echo √ 文件夹已成功隐藏。
- echo (文件夹现在在资源管理器中不可见)
- ) else if /i "%action%"=="show" (
- echo.
- echo 正在显示文件夹...
- attrib -s -h "%folderPath%"
- echo √ 文件夹已成功显示。
- echo (文件夹现在在资源管理器中可见)
- ) else (
- echo.
- echo × 无效的操作!请输入 hide 或 show。
- timeout /t 2 /nobreak >nul
- goto getAction
- )
- :continue
- echo.
- echo.
- set "choice="
- set /p "choice=是否继续操作其他文件夹?(y/n): "
- if /i "%choice%"=="y" goto title
- if /i "%choice%"=="yes" goto title
- echo.
- echo 感谢使用本工具!
- timeout /t 2 /nobreak >nul
- exit /b
复制代码
修正说明:
1. 将 goto getTitle 改为 goto getPath,因为原脚本中没有 :getTitle 标签
使用说明:
1. 将以上代码保存为 .bat 文件
2. 双击运行批处理文件
3. 输入文件夹路径(可以直接拖拽文件夹到命令行窗口)
4. 输入 hide 隐藏文件夹 或 show 显示文件夹
注意事项:
1. 使用系统属性(+s)隐藏的文件夹,即使在"文件夹选项"中勾选"显示隐藏的文件、文件夹和驱动器"也不会显示
2. 要查看隐藏的文件夹,需要在命令行中运行:attrib -s -h "文件夹路径"
3. 这个脚本只是通过系统属性隐藏文件夹,而不是真正的加密或保护
4. 如果路径包含空格,请确保输入完整路径并用引号括起来
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|