這是我正在嘗試做的 - 我有一個目錄A A包含2個文件夾跟蹤和activeOnlytraces。我想用4個文件夾創建另一個目錄(比如說B) - 跟蹤,測試跟蹤,activeOnlytraces和testingactiveOnlytraces。我首先將A \ traces和A \ activeOnlytraces複製到B \ traces和B \ activeOnlytraces。然後我從B \ traces和B \ activeOnlytraces中隨機移動一些文件(所有文件的格式爲「Tracenn.xml」)到B \ teststraces和B \ testingactiveOnlytraces。我想根據用戶需要創建多個目錄B.我爲此寫了一個.bat文件。這裏是我的代碼如何使用批處理文件在文件夾之間隨意移動文件?
rem %1 timer
rem %2 training name
rem %3 max training set
rem %4 testing count
set /a "x = 1"
:while1
if %x% leq %3 (
set /a "y = 1"
set /a "count = 0"
md ..\%2_%x%
md ..\%2_%x%\traces
del /q ..\%2_%x%\traces\*.*
md ..\%2_%x%\activeOnlytraces
del /q ..\%2_%x%\activeOnlytraces\*.*
md ..\%2_%x%\testingtraces
del /q ..\%2_%x%\testingtraces\*.*
md ..\%2_%x%\testingactiveOnlytraces
del /q ..\%2_%x%\testingactiveOnlytraces\*.*
move .\trace\*.* ..\%2_%x%\traces\*.*
move .\activeOnlytraces\*.* ..\%2_%x%\activeOnlytraces
for /F %%i in ('dir traces /b') do (
set /a "count = count + 1")
:while2
if %y% leq %4 (
:beg
set rnd %random%
if %rnd% GTR %count% goto beg
if not exist ".\traces\Trace%rnd%.xml" (
goto beg
)
move ..\%2_%x%\traces\Trace%rnd%.xml ..\%2_%x%\testingtraces\.
del /q ..\%2_%x%\traces\Trace%rnd%.xml
move ..\%2_%x%\activeOnlytraces\Trace%rnd%.xml ..\%2_%x%\testingactiveOnlytraces\.
del /q ..\%2_%x%\activeOnlytraces\Trace%rnd%.xml
set /a "y = y + 1"
goto :while2
)
set /a "x = x + 1"
goto :while1
)
我碰到下面的錯誤 -
D:\A>set /a "x = 1"
The syntax of the command is incorrect.
我在做什麼錯?
哪個版本的Windows? `set/a「x = 1」`可以在我的XP副本上正常工作。 – indiv 2011-02-14 22:24:22