我有一个逻辑,我需要在批处理文件(windows)中编写相同的逻辑。下面是代码

时间:2014-02-14 10:39:53

标签: cmd

以下部分是逻辑的伪代码。我想知道相同的批处理代码。

var num = 5;
var total = 45;
for(i = 1; i <= total/num; i++) {   
    for(j = num - 1; j >= 0; j--) {
        // copy filename_((num*i) - j) to desitinationFolder/i/
    }
}

基本上这将是:

  • 将filename_1复制到filename_5到destinationFolder / 1 /
  • 将filename_6复制到filename_10到destinationFolder / 2 /
  • 将filename_11复制到filename_15到destinationFolder / 3 /

依旧......

2 个答案:

答案 0 :(得分:2)

你可以尝试一下......

@echo off
setlocal enabledelayedexpansion enableextensions

set num1=5
set total=45
set /a result=(total/num1)

FOR /L %%I IN (1,1,%result%) DO (
    FOR /L %%J IN (%num1%, -1, 1) DO (
        set /a curr=%num1%*%%I - %%J
        echo !curr!
    )
)
pause

答案 1 :(得分:0)

据您了解,您希望将5个文件传输到每个文件夹中。 这意味着,文件1到5放入文件夹1,文件夹2放入6到10,文件夹3放入11到15,依此类推。

尝试使用此代码,只需一个循环即可。

@echo off
setlocal enabledelayedexpansion enableextensions

set total=45
set /a result=(total/num1)

set foldernum=0
FOR /L %%I IN (1,1,%total%) DO (
    set /A var=%%I %% 5
    if !var! == 1 (
        set /A foldernum=foldernum + 1
    )
    ECHO %%I And !foldernum!
)
pause