批量更改为随机子目录

时间:2013-02-24 06:17:23

标签: windows batch-file cmd

我试图更改为批处理

文件夹中的随机子目录
cd c:\*

无效,实际上每次都会带您到回收站

if exist * (
cd *
)

没有工作

for %d in (*) do cd %d

没有工作

所以我不知所措,有没有办法批量做到这一点?

2 个答案:

答案 0 :(得分:2)

setlocal enabledelayedexpansion
set c=0
rem count dirs in c:\
for /d %%I in (c:\*) do set /a c+=1 >NUL
set /a c=%RANDOM% * %c% / 32768 + 1 >NUL
set loop=0
for /d %%I in (c:\*) do (
    set /a loop+=1
    if !loop!==%c% cd /d "%%I"
)

答案 1 :(得分:2)

@echo off
setlocal EnableDelayedExpansion
rem Create an array of dir. names
set n=0
for /D %%a in (c:\*) do (
   set /A n+=1
   set dir[!n!]=%%a
)
rem Select a random element from the array
set /A d=%random%*n/32768+1
rem And CD to it
cd "!dir[%d%]!"