
BAT批處理命令如何賦予每一行文本內容作為變量并且在for循環中分別執行最后由 ziymin 于 -8-28 11:41求助:我需要在下面這些文件夾里面,分別拷貝另一個文件夾test的文件到里面去,如何實現?目錄結構如下:--------------------------------------------------------------C盤下,假設有abc夾,在里面可能有1到n個文件夾(具體文件名未知,只知道前半部分是“aa bb cc”):C:abcaa bb cc a1C:abcaa bb cc a1.2C:abcaa bb cc a1.4C:abcaa bb cc a1.某某C:abcaa bb cc b2.5C:abcaa bb cc b2.某某......C:abc還有其他文件夾,不用處理文件名后半部分是未知的,可能如上述,也可能更長,甚至還有空格,沒發現固定規律我的思路是:1.先獲取文件夾的數量n,變量名nc:cd abcdir /b aa bb cc* >c:xx.txtfor /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=%%i3.根據n的數量來決定做幾次拷貝循環cd /d %~dp0 回到當前目錄for /l %%a in (1,1,%n%) do xcopy /e/h/k/o/y test C:abc%dir%test 問題來了,思路是這樣應該沒錯,但是一路執行下來肯定是不行的,思路2的變量賦予,系統只是取了最后一次(最后一個文件夾名)作為dir變量的內容,思路3的拷貝循環,變成執行n次拷貝test文件夾內容到最后一個文件夾去了,并不是我要的分別拷貝到每一個文件夾里面。所以,路徑變量dir如何賦予才能關聯到拷貝循環,實現分別拷貝文件的要求?

