ziymin ziymin
关注数: 0 粉丝数: 1 发帖数: 3,912 关注贴吧数: 14
BAT如何赋予每一行文本内容作为变量,并且在for循环中分别执行? 求助:我需要在下面这些文件夹里面,分别拷贝另一个文件夹"test"的文件到里面去,如何实现? 目录结构如下: -------------------------------------------------------------- C盘下,假设有"abc"夹,在里面可能有1到n个文件夹(具体文件名未知,只知道前半部分是“aa bb cc”): C:\abc\aa bb cc a1\ C:\abc\aa bb cc a1.2\ C:\abc\aa bb cc a1.4\ C:\abc\aa bb cc a1.某某\ C:\abc\aa bb cc b2.5\ C:\abc\aa bb cc b2.某某\ ...... C:\abc\还有其他文件夹,不用处理 文件名后半部分是未知的,可能如上述,也可能更长,甚至还有空格,没发现固定规律 我的思路是: 1.先获取文件夹的数量"n",变量名n c: cd "\abc" dir /b "aa bb cc*" >c:\xx.txt for /f %%i in ('type c:\xx.txt ^|find /c /v ""') do (set /a n=%%i) 2.获取文本xx.txt的内容,并赋予每一行文本内容作为路径变量“dir” for /f "delims=" %%i in (c:\xx.txt) do set dir=%%i 3.根据n的数量来决定做几次拷贝循环 cd /d "%~dp0" 回到当前目录 for /l %%a in (1,1,%n%) do xcopy /e/h/k/o/y "test" "C:\abc\aa bb cc a1\test\" 问题来了, 思路是这样应该没错,但是一路执行下来肯定是不行的, 思路2的变量赋予,系统只是取了最后一次(最后一个文件夹名)作为"dir"变量的内容, 思路3的拷贝循环,变成执行n次拷贝"test"文件夹内容到最后一个文件夹去了, 并不是我要的分别拷贝到每一个文件夹里面。 所以,路径变量"dir"如何赋予才能关联到拷贝循环,实现分别拷贝文件的要求?
1 下一页