随机文件创建器,批处理文件

时间:2018-04-12 10:22:22

标签: batch-file

我正在尝试创建一个批处理文件,用于创建随机目录并在文件夹中创建文件。但我无法使其发挥作用。

这就是我的尝试:

 @echo off  
 cd "%userprofile%\desktop\Safe_Space"  
 md "%random%"  
 md "%random%"  
 md "%random%"  
 cd "*"  
 copy /Y NUL %random%.txt >NUL

2 个答案:

答案 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消除了不需要的输出到控制台