必须在 XP/Vista/7 上工作。可以使用批处理、VBS 或任何其他任何具有上述 O/Ses 的人都可以运行(PE 除外)。
需要随机选择15个文件,还有同名的文件夹(在不同的位置),同时复制到自己的文件夹中。
我搜索了 google 和 robvanderwoude.com 之类的网站,并找到了一些相近的例子,但我太缺乏经验,无法将这些例子改编成我需要的东西,而不会交叉眼。如果有人能指出我正确的方向(最有效/最容易使用的方法),或者一些可能带有简短解释的示例,我将不胜感激,我也可以从中学习。
布局说明:
30 files:
%~dp0\mod\store\XMLs -> %~dp0\mod\0.1.2\map\data
map01_aaa.xml
map02_bbb.xml
map03_ccc.xml
...
map60_zzz.xml
30 folders:
%~dp0\mod\store\models -> %~dp0\mod\0.1.2\sky\stuff
01_aaa_map
02_bbb_map
03_ccc_map
...
60_zzz_map
下面的代码是我试图采用的,但它只按顺序选择 15 个文件/文件夹。尝试在 SrcMax 的方程式中使用 %random% 环境变量,但这只是选择随机数量的文件,并且总是从第一个文件开始。
(旧代码)
rem @ECHO OFF
setlocal ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS
SET SrcCount=0
SET SrcMax=15
FOR %%F IN (%~dp0\mod\store\XMLs\*.*) DO IF !SrcCount! LSS %SrcMax% (
SET /A SrcCount += 1
ECHO !SrcCount! COPY %%F %~dp0\mod\0.1.2\map\data\
COPY %%F %~dp0\mod\0.1.2\map\data\
SET FNAME=%%~nF
ECHO XCOPY /s "%~dp0\mod\store\Models\!FNAME:~3!_map" "%~dp0\mod\0.1.2\sky\stuff\!FNAME:~3!_map\"
XCOPY /s "%~dp0\mod\store\Models\!FNAME:~3!_map" "%~dp0\mod\0.1.2\sky\stuff\!FNAME:~3!_map\"
)