Board logo

标题: [文本处理] 如何根据一个文件夹里的文件找出另一个文件夹里不同的文件并设置该文件隐藏属性 [打印本页]

作者: 28817432    时间: 2016-11-19 19:32     标题: 如何根据一个文件夹里的文件找出另一个文件夹里不同的文件并设置该文件隐藏属性

本帖最后由 pcl_test 于 2016-11-21 12:44 编辑
  1. @echo off
  2. set zhuomian=C:\Users\Administrator\Desktop
  3. set Ux=U:\BaiduYunDownload\x.txt
  4. set Cx=c:\x.txt
  5. set Cxa=c:\xa.txt
  6. pause
  7. dir /a-d /O:d /b %zhuomian%>c:\x.txt
  8. fc /C %Ux% %Cx% >c:\xa.txt
  9. pause
复制代码
读取文件夹得出 文本 比较生成了 xa.txt

xa.txt内容

1122.txt
1122.exe
1122.lnk
1122.lnk


怎么把 1122.exe  用 attrib 隐藏。
作者: 老刘1号    时间: 2016-11-19 20:24

......
显示或更改文件属性。

ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [[drive:] [path] filename] [/S [
/D]]

  +   设置属性。
  -   清除属性。
  R   只读文件属性。
  A   存档文件属性。
  S   系统文件属性。
  H   隐藏文件属性。
  [drive:][path][filename]
      指定要处理的文件属性。
  /S  处理当前文件夹及其子文件夹中的匹配文件。
  /D  也处理文件夹。
作者: 28817432    时间: 2016-11-20 12:23

回复 2# 老刘1号


    attrib 我会用。现在问题是
怎么把文本的行数里的内容。然后 找出来
然后 处理。
作者: pcl_test    时间: 2016-11-20 18:49

回复 3# 28817432

为什么不是隐藏1122.txt或1122.lnk,根据什么找,扩展名.exe?
作者: 28817432    时间: 2016-11-20 22:14

本帖最后由 28817432 于 2016-11-20 22:58 编辑

回复 4# pcl_test


通过比对啊。

本意就是对比下。把不同的都比较出来。
然后把不同的,隐藏了。
(exe.lnk.txt 都是举例)
(还有如果是中文字符呢?)
作者: pcl_test    时间: 2016-11-20 23:54

回复 5# 28817432
不懂你说什么,而且fc命令输出的结果也不应该是你顶楼发出来那样的,也没说明结果中哪些文件在哪个文件夹里的,不好意思,没时间跟你磨叽
作者: 28817432    时间: 2016-11-21 02:11

本帖最后由 pcl_test 于 2016-11-21 12:39 编辑
  1. set ZmA=C:\Users\Administrator\Desktop\
  2. set lineA=1
  3. (for /l %%a in (1 1 %lineA%) do set /p docA=)<c:\xa.txt
  4. set docA
  5. echo %ZmA%%docA%
  6. set lineB=2
  7. (for /l %%a in (1 1 %lineB%) do set /p docB=)<c:\xa.txt
  8. set docB
  9. echo %ZmA%%docB%
  10. set lineC=3
  11. (for /l %%a in (1 1 %lineC%) do set /p docC=)<c:\xa.txt
  12. set docC
  13. echo %ZmA%%docC%
  14. set lineD=4
  15. (for /l %%a in (1 1 %lineD%) do set /p docD=)<c:\xa.txt
  16. set docD
  17. echo %ZmA%%docD%
  18. set lineE=5
  19. (for /l %%a in (1 1 %lineE%) do set /p docE=)<c:\xa.txt
  20. set docE
  21. echo %ZmA%%docE%
复制代码
ps:新手学习批处理。。。(手下留情)

set lineB=2
(for /l %%a in (1 1 %lineB%) do set /p docB=)<c:\xa.txt
其实这语句是在论坛搜索到的。
具体意思还是不懂哦。
有大大,能帮忙注释下么




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