Board logo

标题: [文本处理] 批处理使用变量表示路径问题 [打印本页]

作者: hlj.6809277    时间: 2019-8-19 09:53     标题: 批处理使用变量表示路径问题

本帖最后由 hlj.6809277 于 2019-8-19 09:54 编辑

通过数据读取获得了变量如 DirEaxm等于地址E:\1_Projiect
在变量使用时:
cd %DirEaxm%能顺利进入变量所在的地址
而表达进入变量地址下的子目录时,会提示文件名、目录名或卷语法不正确
如  cd %DirEaxm%\Test1

麻烦各位大大解惑,谢谢!
作者: Batcher    时间: 2019-8-19 10:01

  1. cd "%DirEaxm%\Test1"
复制代码
加上双引号试试
如果不行,请把完整代码发出来我试试。
作者: hlj.6809277    时间: 2019-8-19 10:24

回复 2# Batcher


    做了一个Demo,烦请解压试一下,需要把Test.log里的路径改为您电脑上所在的路径
代码简化!Row!忘记定义参数值了,从下面的ECHO看是获取到了地址的,麻烦看看
作者: hlj.6809277    时间: 2019-8-19 10:25

回复 2# Batcher


    加双引号不行,目录里没有空格字符
作者: Batcher    时间: 2019-8-19 10:51

回复 4# hlj.6809277
  1. @echo on
  2. cd /d %~dp0
  3. setlocal enabledelayedexpansion
  4. set Row=1
  5. ::获取共享文件夹目录(Test.log的第一行和第一列)
  6. for /f "tokens=1 delims= " %%i in (Test.log) do (
  7.     set/a m+=1
  8.     if !m! equ !Row! set ShareDir=%%i
  9. )
  10. echo 共享文件夹目录=%ShareDir%
  11. cd /d %ShareDir%
  12. echo 1 >"C:\Users\heliujun\Desktop\1.log"
  13. cd /d %ShareDir%\Test1
  14. echo 2 >>"C:\Users\heliujun\Desktop\1.log"
复制代码
执行这个代码,结果发出来看看。
作者: hlj.6809277    时间: 2019-8-19 10:59

本帖最后由 hlj.6809277 于 2019-8-19 11:03 编辑

回复 5# Batcher


  已经运行成功了,cd /d后可以进入目标子目录
  操作目录在不同的分区导致的,多谢大大




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