Board logo

标题: [特效代码] [已解决]把本地磁盘文件分别以目录树形式保存txt到桌面或可移动盘的代码怎样写? [打印本页]

作者: xzwcn    时间: 2012-4-7 15:01     标题: [已解决]把本地磁盘文件分别以目录树形式保存txt到桌面或可移动盘的代码怎样写?

如本地磁盘有:C,D,E.F盘,怎样分别以目录树形式保存一个txt到桌面?

新增:保存到可移动盘,请见7楼。
作者: wc726842270    时间: 2012-4-7 15:12

FSUTIL FSINFO DRIVES
作者: xzwcn    时间: 2012-4-7 16:07

回复 2# wc726842270


    接着该怎样呢?
作者: apang    时间: 2012-4-7 17:30

  1. @echo off
  2. (for %%a in (c d e f) do tree %%a:\)>%userprofile%\desktop\a.txt
  3. pause
复制代码

作者: xzwcn    时间: 2012-4-7 20:14

回复 4# apang


    多谢指导,

如果是保存在可移动磁盘上(具体盘符不定,因情况而定),只有一个可移动磁盘(光驱等除外),那么该怎样改呢?
能不能“预设”几个存在位置的盘,自动搜索到能写入的盘(本地盘除外)就保存。

又或者把该批处理直接在要保存的盘上打开,保存输出的数据到当前U盘的要目录,那又该如何修改?
作者: gawk    时间: 2012-4-7 21:02

把该批处理直接在要保存的盘上打开,保存输出的数据到当前U盘的要目录,那又该如何修改?
xzwcn 发表于 2012-4-7 20:14
  1. @echo off
  2. (for %%a in (c d e f) do tree %%a:\)>%~d0\a.txt
复制代码

作者: apang    时间: 2012-4-7 21:18     标题: "

本帖最后由 apang 于 2012-4-7 21:39 编辑
  1. @echo off
  2. for /f "skip=1 delims= " %%a in ('wmic logicaldisk where ^(drivetype^="2"^) get deviceid') do (
  3.   if exist "%%a\" (
  4.     (for %%b in (c d e f) do tree %%b:\)>%%a\a.txt
  5.   )
  6. )
复制代码

作者: xzwcn    时间: 2012-4-7 21:34

本帖最后由 xzwcn 于 2012-4-7 21:37 编辑

回复 7# apang


    嗯,运行成功,试了同时插上两个U盘,分别生成了。若能讲解下上面语句的作用,那就感激不尽了~
作者: find    时间: 2012-4-7 21:44

回复 8# xzwcn


查找U盘盘符,然后把tree的结果写进去。
作者: apang    时间: 2012-4-7 21:53

回复 8# xzwcn

第2行是用wmic获取可移动磁盘的盘符。参考http://www.bathome.net/viewthread.php?tid=12502
第4行是将c d e f盘的目录树输出到可移动磁盘a.txt中。
建议下次在顶楼一次性将要求说清楚。




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