windows - Batch-fil: Liste alle mapper i den aktuelle mappe med nummer/tæller

Indlæg af Hanne Mølgaard Plasc

Problem



Undskyld for dårlig beskrivelse, jeg forventer følgende output:



  1. FolderA

  2. FOLDERB

  3. FOLDERC



Følgende kode virker ikke for mig


@ECHO OFF
set /a count=0

for /d \%\%d in (*) do (
set  /a count+=1
@echo \%count\%. \%\%d 
)
PAUSE


Tælleren forbliver ved 0.

Bedste reference


Hvad du har brug for er forsinket variabel ekspansion. For det skal du blot lave følgende 2 ændringer:



  1. Tilføj setlocal EnableDelayedExpansion til toppen af ​​din kommandofil.

  2. Udskift \%count\% med !count!.



Resultatet er:


@echo off
setlocal EnableDelayedExpansion
set /a count=0

for /d \%\%d in (*) do (
    set /a count+=1
    @echo !count!. \%\%d 
)
pause