archit
Goto Top

Ordener mit Variable als Name erstellen

Morgen,

Ich habe das Problen, dass ich im cmd ein Programm erstellen möchte, dass Ordner erstellt.
Bis jetzt habe ich schon das:
@echo off 

cd c:\User\"meinName"\Desktop  
:loop
mkdir 1
goto loop

Das Programm erstellt jetzt einen Order und sobald es einen neuen erstellen will kommt eine Fehlermerdung weil ja
der Ordner schon existiert.
Kann ich das Irgendwie umgehen?

Ich hatte die Idee mit Variablen zu arbeiten und dem Ordner eine Variable als Name zuzuweisen, die sich bei jedem loop
um 1 erhöht, hab aber keinen Plan wie das geht (falls es überhaupt geht).

Wäre cool wenn mir jemand helfen könnte. face-smile

Gruß
e.t

Content-Key: 524688

Url: https://administrator.de/contentid/524688

Printed on: April 19, 2024 at 16:04 o'clock

Member: erikro
erikro Dec 12, 2019 at 08:57:17 (UTC)
Goto Top
Moin,

guck mal hier:
https://ss64.com/nt/for.html

hth

Erik
Member: mayho33
Solution mayho33 Dec 12, 2019 at 10:13:04 (UTC)
Goto Top
HI,

Ich bin kein Freund der CMD. Liegt eventuell daran, dass sie (mein subjektiver Eindruck) umständlich handzuhaben ist und es unter W10 viel bessere Tools OnBoard gibt die solche Aufgaben einfacher erledigen können und noch dazu Dot.Net unterstützen. Etwa die Powershell ISE

$TargetDir = "<dein ZielOrdner>"  
$folders = [System.IO.Directory]::GetDirectories($TargetDir, "*.*", [System.IO.SearchOption]::TopDirectoryOnly)  
$nextName = $folders.Count + 1
[System.IO.Directory]::CreateDirectory($TargetDir + "\" + $nextName)  

Grüße!
Member: archIT
archIT Dec 12, 2019 at 10:17:44 (UTC)
Goto Top
Super!! Danke Dir!
Member: erikro
erikro Dec 12, 2019 updated at 10:21:59 (UTC)
Goto Top
Moin,
> $TargetDir = "<dein ZielOrdner>"  
> $folders = [System.IO.Directory]::GetDirectories($TargetDir, "*.*", [System.IO.SearchOption]::TopDirectoryOnly)  
> $nextName = $folders.Count + 1
> [System.IO.Directory]::CreateDirectory($TargetDir + "\" + $nextName)  
> 

Warum so kompliziert?

$count = 1
while ($true) {

    new-item -itemtype directory -path $env:userprofile -name $count
    $count++

}

Erstellt im Ordner des angemeldeten Users so viele Verzeichnisse bis das Dateisystem oder die Platte voll sind. face-wink

Liebe Grüße

Erik
Member: mayho33
mayho33 Dec 12, 2019 at 10:26:07 (UTC)
Goto Top
Zitat von @erikro:

Moin,
Warum so kompliziert?

> $count = 1
> while ($true) {
> 
>     new-item -itemtype directory -path $env:userprofile -name $count
>     $count++
> 
> }
> 

Erstellt im Ordner des angemeldeten Users so viele Verzeichnisse bis das Dateisystem oder die Platte voll sind. face-wink

Liebe Grüße

Erik

Naja! Jeder hat seine eigene Technik und es soll ja ein anschauliches Beispiel sein mit dem der TO nicht gleich sein OS lahm legt. Aber ich gebe dir natürlich recht! So ginge es auch. face-wink

Grüße!
Mitglied: 142232
142232 Dec 12, 2019 updated at 10:37:21 (UTC)
Goto Top
Zitat von @erikro:
Warum so kompliziert?
while ($true) {

new-item -itemtype directory -path $env:userprofile -name $count
$count++

}

Warum so lang ? face-smile

1..10 | %{md "$env:Userprofile\User$_"}  
See ya