标题: 这个代码怎样对隐藏文件也有效
[打印本页]
作者: cad55
时间: 2008-1-10 15:47
标题: 这个代码怎样对隐藏文件也有效
dir /s /b *.txt >1.txt
for /f "tokens=*" %%i in (1.txt) do copy /y nul "%%i">nul
请问一下高手..
上述代码怎样对,隐藏,只读,系统属性文件夹,也起作用.........
作者: lxmxn
时间: 2008-1-10 16:34
看dir命令的帮助。
作者: cad55
时间: 2008-1-10 16:36
Quote: |
Originally posted by lxmxn at 2008-1-10 04:34 PM:
看dir命令的帮助。 |
|
大哥不会吧.
看DOS帮助.
看WINDOWS帮助.
还要这样的论坛,做什么呀.............
作者: lxmxn
时间: 2008-1-10 16:38
Quote: |
Originally posted by cad55 at 2008-1-10 16:36:
大哥不会吧.
看DOS帮助.
看WINDOWS帮助.
还要这样的论坛,做什么呀............. |
|
既然你觉得这个论坛没用,那你把这个论坛黑了好了。
作者: cad55
时间: 2008-1-10 16:47
Quote: |
Originally posted by lxmxn at 2008-1-10 04:38 PM:
既然你觉得这个论坛没用,那你把这个论坛黑了好了。 |
|
版主,,今天,很郁呀....
这样出言不逊............
作者: lxmxn
时间: 2008-1-10 16:51
Quote: |
Originally posted by cad55 at 2008-1-10 16:47:
版主,,今天,很郁呀....
这样出言不逊............ |
|
不是我出言不逊,是你自己太懒了不想看帮助。
我已经说了很多遍了,这里不是微软的售后服务中心,我也没有义务要帮一个我不认识的人,而且是帮一个伸手就要答案的人。
我已经说了叫你看帮助,你不看,那我没有办法了。
作者: zh159
时间: 2008-1-10 16:58
玩摄影的拿到相机的一件事就是:读几遍说明书
如果连说明书都不看便问那个功能怎样用,肯定被人砸砖。
学命令的一件事就是要看帮助!
Quote: |
Originally posted by cad55 at 2008-1-10 16:36:
大哥不会吧.
看DOS帮助.
看WINDOWS帮助.
还要这样的论坛,做什么呀............. |
|
论坛是用来交流提高的,不是用来代替帮助信息的。
[
Last edited by zh159 on 2008-1-10 at 05:01 PM ]
作者: cad55
时间: 2008-1-10 17:01
Quote: |
Originally posted by lxmxn at 2008-1-10 04:51 PM:
不是我出言不逊,是你自己太懒了不想看帮助。
我已经说了很多遍了,这里不是微软的售后服务中心,我也没有义务要帮一个我不认识的人,而且 ... |
|
"我也没有义务要帮一个我不认识的人.."
哥们,,这样的话你也说得出来呀...
这样论坛,,是你家开的.....谁也不会来.....
要什么答案..又不是考试....
交流就是提高...
你不想解答...可以在一边休息...
让它沉下去.....
版主,,不仅要技术..更要人品.与助人的精神........
作者: cad55
时间: 2008-1-10 17:06
Quote: |
Originally posted by zh159 at 2008-1-10 04:58 PM:
玩摄影的拿到相机的一件事就是:读几遍说明书
如果连说明书都不看便问那个功能怎样用,肯定被人砸砖。
学命令的一件事就是要看帮助!
论 ... |
|
请你们写写..
不要光说不练....
帮助俺......看了N遍了....
这个代码....不是初级错误................
作者: zh159
时间: 2008-1-10 17:07
就因为以前的N多高手太热心、太助人了,使得大家都想衣来伸手、饭来张口直接要写完整代码,也不想自己动动手;造成了N多高手一个个离去!
作者: cad55
时间: 2008-1-10 17:10
Quote: |
Originally posted by zh159 at 2008-1-10 05:07 PM:
就因为以前的N多高手太热心、太助人了,使得大家都想衣来伸手、饭来张口直接要写完整代码,也不想自己动动手;造成了N多高手一个个离去! |
|
晕透了..
学DOS..学出这样的罗缉.......
是不是,,冗余循环.......
作者: zh159
时间: 2008-1-10 17:12
Quote: |
Originally posted by cad55 at 2008-1-10 17:06:
请你们写写..
不要光说不练....
帮助俺......看了N遍了....
这个代码....不是初级错误................ |
|
C:\>dir/?
显示目录中的文件和子目录列表。
DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N]
[/O[[:]sortorder]] [/P] [/Q] [/S] [/T[[:]timefield]] [/W] [/X] [/4]
[drive:][path][filename]
指定要列出的驱动器、目录和/或文件。
/A 显示具有指定属性的文件。
attributes D 目录 R 只读文件
H 隐藏文件 A 准备存档的文件
S 系统文件 - 表示“否”的前缀
/B 使用空格式(没有标题信息或摘要)。
/C 在文件大小中显示千位数分隔符。这是默认值。用 /-C 来
停用分隔符显示。
/D 跟宽式相同,但文件是按栏分类列出的。
/L 用小写。
/N 新的长列表格式,其中文件名在最右边。
/O 用分类顺序列出文件。
sortorder N 按名称(字母顺序) S 按大小(从小到大)
E 按扩展名(字母顺序) D 按日期/时间(从先到后)
G 组目录优先 - 颠倒顺序的前缀
/P 在每个信息屏幕后暂停。
/Q 显示文件所有者。
/S 显示指定目录和所有子目录中的文件。
/T 控制显示或用来分类的时间字符域。
timefield C 创建时间
A 上次访问时间
W 上次写入的时间
/W 用宽列表格式。
/X 显示为非 8dot3 文件名产生的短名称。格式是 /N 的格式,
短名称插在长名称前面。如果没有短名称,在其位置则
显示空白。
/4 用四位数字显示年
可以在 DIRCMD 环境变量中预先设定开关。通过添加前缀 - (破折号)
来替代预先设定的开关。例如,/-W。
作者: lxmxn
时间: 2008-1-10 17:14
Quote: |
Originally posted by cad55 at 2008-1-10 17:01:
"我也没有义务要帮一个我不认识的人.."
哥们,,这样的话你也说得出来呀...
这样论坛,,是你家开的.....谁也不会来.....
要什么答案.. ... |
|
“这样论坛,,是你家开的.....谁也不会来.....”
是我开的,我就不会让你来!
“要什么答案..又不是考试....”
不是考试那么急干嘛?看帮助的时间都没有?
“交流就是提高...”
我赞成这个观点,但是交流绝不是伸手从别人要代码。
“你不想解答...可以在一边休息...”
我解答了,你不听,我能怎么办?
“版主,,不仅要技术..更要人品.与助人的精神........ ”
这个让别人来评价,不是你一个人说了算。
作者: cad55
时间: 2008-1-10 17:18
Quote: |
Originally posted by lxmxn at 2008-1-10 05:14 PM:
“这样论坛,,是你家开的.....谁也不会来.....”
是我开的,我就不会让你来!
“要什么答案..又不是考试....”
不是考试那么急干嘛?看帮助的时间 ... |
|
真晕.....
看了N遍了...
关键...是对它没有效果..............
作者: lxmxn
时间: 2008-1-10 17:21
Quote: |
Originally posted by cad55 at 2008-1-10 17:18:
真晕.....
看了N遍了...
关键...是对它没有效果.............. |
|
我也晕一下,没效果就没效果吧,反正我也不会做这个题目,等论坛的高手们来直接把代码发给你吧。
作者: cad55
时间: 2008-1-10 18:12
Quote: |
Originally posted by lxmxn at 2008-1-10 05:21 PM:
我也晕一下,没效果就没效果吧,反正我也不会做这个题目,等论坛的高手们来直接把代码发给你吧。 |
|
俺直接给代码:
dir /s/a/b 01.txt>a
for /f "tokens=*" %%i in (a) do attrib -s -h -r "%%i"© /y nul "%%i"
作者: lxmxn
时间: 2008-1-10 18:19
Quote: |
Originally posted by cad55 at 2008-1-10 18:12:
俺直接给代码:
dir /s/a/b 01.txt>a
for /f "tokens=*" %%i in (a) do attrib -s -h -r "%%i"© /y nul "%%i" |
|
厉害,学习了。
作者: fastslz
时间: 2008-1-10 18:19
依赖思想太严重了,不是我吹,我1个星期不用写一个代码,就用搜索连接能回答60%~80%的求助贴
http://www.cn-dos.net/forum/viewthread.php?tid=36256&fpage=1
作者: cad55
时间: 2008-1-10 18:39
再次回贴......
1\这样个贴子内容相似,但有本质的区别,目的根本不同.
此贴是:这个贴子的变形....
http://www.cn-dos.net/forum/viewthread.php?tid=19315&fpage=1
与
http://www.cn-dos.net/forum/viewthread.php?tid=36256&fpage=1有本质区别
2\对于菜菜来说,,,,DOS也好,BAT也好.只是一个实际中,需要一个方便或便捷.
你们这些"所谓高手",就才有价值.............
3\不是要一个苹果,,就要去种一颗树吧.......
作者: knoppix7
时间: 2008-1-10 18:41
========
提问之前
========
在通过电邮、新闻组或者聊天室提出技术问题前,检查你有没有做到:
1. 通读手册,试着自己找答案。
2. 在FAQ里找答案(一份维护得好的FAQ可以包罗万象:)。
3. 在网上搜索(个人推荐google~~~)。
4. 向你身边精于此道的朋友打听。
当你提出问题的时候,首先要说明在此之前你干了些什么;这将有助于树立你的形象:你不是一个妄图不劳而获的乞讨者,不愿浪费别人的时间。如果提问者能从答案中学到东西,我们更乐于回答他的问题。
周全的思考,准备好你的问题,草率的发问只能得到草率的回答,或者根本得 不到任何答案。越表现出在寻求帮助前为解决问题付出的努力,你越能得到实质性的帮助。
小心别问错了问题。如果你的问题基于错误的假设,普通黑客(J. RandomHacker)通常会用无意义的字面解释来答复你,心里想着“蠢问题...”,希望着你会从问题的回答(而非你想得到的答案)中汲取教训。
决不要自以为够资格得到答案,你没这种资格。毕竟你没有为这种服务支付任何报酬。你要自己去“挣”回一个答案,靠提出一个有内涵的,有趣的,有思维激励作用的问题--一个对社区的经验有潜在贡献的问题,而不仅仅是被动的从他人处索要知识--去挣到这个答案。
另一方面,表明你愿意在找答案的过程中做点什么,是一个非常好的开端。
“谁能给点提示?”、“我这个例子里缺了什么?”以及“我应该检查什么地方?”比“请把确切的过程贴出来”更容易得到答复。因为你显得只要有人指点正确的方向,你就有完成它的能力和决心。
[
Last edited by knoppix7 on 2008-1-10 at 06:45 PM ]
作者: cad55
时间: 2008-1-10 19:01
Quote: |
Originally posted by knoppix7 at 2008-1-10 06:41 PM:
========
提问之前
========
在通过电邮、新闻组或者聊天室提出技术问题前,检查你有没有做到:
1. 通读手册,试着自 ... |
|
========
什么玩意............
========
作者: zh159
时间: 2008-1-10 19:11
Quote: |
Originally posted by cad55 at 2008-1-10 19:01:
========
什么玩意............
======== |
|
如果不会使用帮助,不会提问题,那什么玩意都不是............
作者: cad55
时间: 2008-1-10 19:36
Quote: |
Originally posted by cad55 at 2008-1-10 06:12 PM:
俺直接给代码:
dir /s/a/b 01.txt>a
for /f "tokens=*" %%i in (a) do attrib -s -h -r "%%i"© /y nul "%%i" |
|
言归正传,这个代码,还是不完美.........
dir /s/a/b 01.txt>a
for /f "tokens=*" %%i in (a) do attrib -s -h -r "%%i"© /y nul "%%i"
它不能将,原来文件自身属性还原......也就是原本"隐藏"还是要显示"隐藏".....
还请高手们...明示.................
作者: fastslz
时间: 2008-1-10 19:56
你不是说有本质的区别吗?
@echo off
for /f "delims=" %%i in ('dir /s/b/a-d D:\01.txt') do attrib -s -h -r "%%i" & copy /y nul "%%i"
pause
@echo off
for /f "delims=" %%i in ('dir /s/b/a-d D:\01.txt') do copy /y nul "%%i">nul 2>nul || attrib -s -h -r "%%i" & copy /y nul "%%i">nul
pause
作者: cad55
时间: 2008-1-10 20:02
Quote: |
Originally posted by fastslz at 2008-1-10 07:56 PM:
你不是说有本质的区别吗?
[code]@echo off
for /f "delims=" %%i in ('dir /s/b/a-d D:\01.txt') do attrib -s -h -r "%%i" & copy /y nul "%%i"
pause [/cod ... |
|
不明白...........
作者: fastslz
时间: 2008-1-10 20:04
每天回的都是相类似或相似的帖子只是一些语法变化,没脾气的人都

作者: cad55
时间: 2008-1-10 20:10
Quote: |
Originally posted by fastslz at 2008-1-10 08:04 PM:
每天回的都是相类似或相似的帖子只是一些语法变化,没脾气的人都 |
|
没脾气...是心态....
老师,就是一样的..
一年一年..还是哪几本书......
但对不同的提问者.就不同了.
通常.....菜菜(包括俺),只需要引用代码.就可以.没有必要.去写什么,也不可以写出
什么惊人的代码与语句........
作者: zh159
时间: 2008-1-10 20:11
才发现LZ的代码:copy /y
nul "%%i"
也就是说将dir /s/b/a-d的文件替换为0字节文件-_-|||
作者: huahua0919
时间: 2008-1-10 20:13
很明显,
对于不懂的人一点变化就是本质的区别
我建议你在论坛上多看看,我这个人比较笨,一般帮助文档要看至少八遍!
学会了也是自己的,向别人要代码不如自己多看看学学
以前willsort说过."临渊羡鱼,不如退而接网"
如果学的多也是错,那我宁愿一错再错!~~~
好好努力! 斑竹,zh159,fastslz他们说的都没错
虚心点吧!
作者: cad55
时间: 2008-1-10 20:17
Quote: |
Originally posted by zh159 at 2008-1-10 08:11 PM:
才发现LZ的代码:copy /y nul "%%i"
也就是说将dir /s/b/a-d的文件替换为0字节文件-_-||| |
|
是呀...才看清呀.....
晕呀.............
作者: hxwxyz
时间: 2008-1-10 23:03
有意思 哈哈
作者: 不得不爱
时间: 2008-1-11 12:02
@echo off
for /f "delims=" %%a in ('dir/s/b/a *.txt') do call :a "%%a"
goto :EOF
:a
set b=%~a1
set c=
if %b:~1,1%==r set c= +r
if %b:~3,1%==h set c=%c% +h
if %b:~4,1%==s set c=%c% +s
if not "%c%"=="" (attrib -s -h -r %1
cd.>%1
attrib%c% %1) ELSE cd.>%1
这个应该是你最需要的吧,不生成临时文件
作者: 不得不爱
时间: 2008-1-11 12:28
@echo off
for /f "delims=" %%a in ('dir/s/b/a *.txt') do cd.>"%%a"||call :a "%%a"
goto :EOF
:a
set b=%~a1
set c=
if %b:~1,1%==r set c= +r
if %b:~3,1%==h set c=%c% +h
if %b:~4,1%==s set c=%c% +s
attrib -s -h -r %1
cd.>%1
attrib%c% %1
这个有错误提示,但是运行正常
作者: cad55
时间: 2008-1-11 14:22
Quote: |
Originally posted by 不得不爱 at 2008-1-11 12:28 PM:
@echo off
for /f "delims=" %%a in ('dir/s/b/a *.txt') do cd.>"%%a"||call :a "%%a"
goto :EOF
:a
set b=%~a1
set c=
if %b:~1,1%==r set c= +r
if %b:~3,1%==h set ... |
|
有这样一位高手,出手,,,再感谢了.........