我正在尝试创建一个批处理文件,用于创建随机目录并在文件夹中创建文件。但我无法使其发挥作用。
这就是我的尝试:
@echo off
cd "%userprofile%\desktop\Safe_Space"
md "%random%"
md "%random%"
md "%random%"
cd "*"
copy /Y NUL %random%.txt >NUL
答案 0 :(得分:1)
这将创建10个文件夹,其中包含res
M & S
个名称,每个文件夹中有1个文件,名称为random
。
这将在创建的目录中创建一个完全空的文件:
random
增加/减少@echo off
setlocal enabledelayedexpansion
for /l %%i in (1,1,10) do (
set tempf=!random!
mkdir !tempf!
copy /y NUL !tempf!\!random! >NUL
)
中的10
会增加文件夹和文件的数量。要向文件夹添加更多文件,请重复for /l %%i in (1,1,10) do (
或只创建另一个循环以在文件夹中创建多个文件。
echo nul > %random.txt
是另一个选项,但需要管理员权限,它会在文件中创建一个nul变量。
fsutil
这会创建一个带有一些文本的新文件,在这种情况下,单词@echo off
setlocal enabledelayedexpansion
for /l %%i in (1,1,10) do (
set tempf=!random!
mkdir !tempf!
fsutil file createnew !tempf!\!random! 1
)
将写入文件,但您可以更改:
nul
答案 1 :(得分:0)
您可以使用FOR,RANDOM和基本指令创建目录和文件。 RANDOM创建一个介于0和32767之间的随机数。您可以使用bottomlimit和upperlimit控制RANDOM的范围,例如: 1-1000:
SET /a bottomlimit = 1
SET /a upperlimit = 1000
请勿忘记使用SETLOCAL ENABLEDELAYEDEXPANSION(检查How do SETLOCAL and ENABLEDELAYEDEXPANSION work?)并在循环内使用!VARIABLE!
表示法而不是%VARIABLE%
。以下示例创建5个目录和10个空文件。您可以使用
根据需要更改这些值
FOR /l %%i in (1,1,10)
代替FOR /l %%i in (1,1,2)
创建了2个目录。
FOR /l %%i in (1,1,10)
表示循环从1开始,逐步开始,结束于10。
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
REM creating 5 directories...
FOR /l %%i in (1,1,5) DO (
SET dirName=!RANDOM!
REM create a directory with random name
MKDIR !dirName!
CD !dirName!
REM creating 10 files...
FOR /l %%i in (1,1,10) DO (
REM create an empty file with random name
COPY NUL !RANDOM!>NUL
)
CD ..
)
指令COPY NUL !RANDOM!>NUL
不需要管理权限
> NUL消除了不需要的输出到控制台