Board logo

标题: [文本处理] 【已解决】再说BAT如何指定文件夹的路径 [打印本页]

作者: 思想之翼    时间: 2014-6-21 09:31     标题: 【已解决】再说BAT如何指定文件夹的路径

本帖最后由 思想之翼 于 2014-6-21 10:28 编辑

欲给下述代码指定文件夹的路径,2种尝试均有问题,不知道错在哪,烦请大家不吝指教:

@echo off
for /f %%i in ('dir /b "c:\数据1\001\*.txt"') do (type %%i>>c:\数据2\1.txt)
exit

或者
@echo off
set "mulu=c:\数据1\001"
for /f %%i in ('dir /b “%mulu%\” *.txt') do (type %%i>>c:\数据2\1.txt)
exit
作者: apang    时间: 2014-6-21 09:59

本帖最后由 apang 于 2014-6-21 10:01 编辑

dir 不加 /s 开关的话,得到的是不包含路径的文件名
因此,type "%%i" 实际上是显示的当前路径的%%i,肯定会出错

可以用pushd 或 cd /d 切换工作路径
  1. @echo off
  2. pushd "c:\数据1\001\"
  3. for /f "delims=" %%i in ('dir /b *.txt') do (type "%%i">>c:\数据2\1.txt)
  4. exit
复制代码
或者,在type后面指定绝对路径:
  1. @echo off
  2. for /f "delims="%%i in ('dir /b "c:\数据1\001\*.txt"') do (
  3.     type "c:\数据1\001\%%i">>c:\数据2\1.txt
  4. )
  5. exit
复制代码

作者: Batcher    时间: 2014-6-21 10:08

for /f %%i in ('dir /b “%mulu%\” *.txt') do (type %%i>>c:\数据2\1.txt)

还有一点,这个地方你怎么改路径都没用,因为BAT不支持中文的双引号。
作者: terse    时间: 2014-6-21 10:33

for 里面没其他动作的话 可 copy 替代啊




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