Board logo

标题: [系统相关] 如何使用attrib命令去除文件夹的隐藏属性? [打印本页]

作者: 0428_hai    时间: 2011-6-2 20:21     标题: 如何使用attrib命令去除文件夹的隐藏属性?

本帖最后由 0428_hai 于 2011-6-4 08:48 编辑

如题!
我有一个名为folder的文件夹设置了隐藏属性,现在我想在批处理中用命令把它的隐藏属性取消,如何操作呢?
我使用attrib -h /s folder命令,提示“找不到文件 - folder”,而用attrib -h /s /d folder 命令,倒是可以
但是这样好像会匹配这个文件夹下的所有问题,速度太慢,这样也不是我想要的结果,我只想去除folder文件夹自己的隐藏属性
请教如何实现?



2011-6-4 8:41:28更新
要求应该是这样的,我想把当前目录中所有隐藏文件夹的隐藏属性去掉,只去掉它们的隐藏属性,不处理它们下面的文件夹和文件。
attrib -h          只处理了当前目录的隐藏文件
attrib -h /s      处理了当前目录和子目录下的所有隐藏文件
attrib -h /s /d  处理了当前目录和子目录下的所有隐藏文件和文件夹
这三个命令都达不到我的要求
作者: Batcher    时间: 2011-6-2 23:52

  1. attrib -h folder
复制代码

作者: 0428_hai    时间: 2011-6-4 07:39

2#兄台的方法的确可以实现去掉指定文件夹隐藏属性的功能,是我在一楼描述有误。
应该是这样的,我想去除当前目录下所有隐藏文件夹的隐藏属性,在这种情况下不知如何写命令了,以下三种情况都不完全符合我的要求。是不是要写循环才可以达到呢?
使用attrib -h只能去除当前目录下隐藏文件的隐藏属性
使用attrib -h /s只能去除当前目录及子目录中所有隐藏文件的隐藏属性
使用attrib -h /s /d能去除当前目录及子目录中所有隐藏文件及文件夹的隐藏属性
作者: Batcher    时间: 2011-6-4 08:04

3# 0428_hai


请把你的需求更新到顶楼,以便他人查看。
作者: tmplinshi    时间: 2011-6-4 09:34

本帖最后由 tmplinshi 于 2011-6-4 09:36 编辑
  1. @echo off
  2. for /f "delims=" %%i in ('dir /a:dh /b') do (
  3.     set s=
  4.     for /f "delims=drah-" %%j in ("%%~ai") do set s=#
  5.     if defined s (attrib +s -h "%%i") else attrib -h "%%i"
  6. )
复制代码

作者: 0428_hai    时间: 2011-6-4 10:17

谢谢5#
用循环来做,看来只有这样了?
作者: CrLf    时间: 2011-6-4 10:32

本帖最后由 zm900612 于 2011-6-4 13:16 编辑

此楼解答有误...
请看上5楼的回复
作者: 0428_hai    时间: 2011-6-7 12:12

谢谢楼上朋友的回复~




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2