Board logo

标题: [文本处理] 批处理中如何将命令的返回结果输出/写入到该批处理所在目录里的指定文本里 [打印本页]

作者: dragon631    时间: 2016-11-10 16:43     标题: 批处理中如何将命令的返回结果输出/写入到该批处理所在目录里的指定文本里

本帖最后由 pcl_test 于 2016-11-10 18:43 编辑

批量提取目录及其根目录下所有文件名
运行下面批处理

@echco off
tree %var% /f >%var1%/文件名.xls
close

得到的“文件名.xls”文件,会被存储在磁盘分区目录下面,而不是存储在批处理文件同一目录下面。
如果想让“文件名.xls”文件存储在批处理文件所在目录下面,批处理代码该如何改动?
作者: /zhqsystem/zhq    时间: 2016-11-10 16:48

http://www.bathome.net/thread-5692-1-1.html
或者>"完整路径"
作者: CommandBatCmd    时间: 2016-11-10 19:03

  1. @echo off
  2. tree "%var%" /f > "%~dp0\文件名.xls"
  3. pause
复制代码

作者: dragon631    时间: 2016-11-10 23:37

回复 3# CommandBatCmd

运行该批处理得到的“.xls”文件里面没有内容。
作者: dragon631    时间: 2016-11-10 23:45

综合原代码和3楼提供的代码,得到如下代码,可实现自己想要的效果:
  1. @echco off
  2. tree %var% /f >%~dp0%/文件名.xls
  3. close
复制代码

作者: CommandBatCmd    时间: 2016-11-12 15:13

本帖最后由 CommandBatCmd 于 2016-11-12 15:50 编辑

回复 4# dragon631

把3楼代码中的变量 %var% 传递一个值
试试下面的代码是否是你想要看得到
  1. @echo off
  2. echo;&echo;======传递路径参数给tree获取的结果======= > "%~dp0\文件名.xls"
  3. tree "%ALLUSERSPROFILE%" /f >> "%~dp0\文件名.xls"
  4. echo;>> "%~dp0\文件名.xls"
  5. echo;&echo;======默认批处理当前路径获取的结果======= >> "%~dp0\文件名.xls"
  6. tree /f >> "%~dp0\文件名.xls"
  7. pause
复制代码





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