Ordner per CMD Befehl anlegen. Topic is solved

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

DerAachener

Ordner per CMD Befehl anlegen.  Topic is solved

Post by DerAachener » 14 Apr 2021, 08:10

Hallo zusammen,

nach lesen - googeln und testen bekomme ich es einfach nicht hin. Hier hoffe ich auf Eure Hilfe.

Ich würde gerne folgendes nutzen:
Ich starte die CMD in einem Kundenordner im Netzwerk.
Mit dem Befehl "#ordner" sollen dann in diesem Order 4 neue Ordner angelegt werden.
Mein Code klappt weder Lokal noch im Netz. Habe es auch schon mit "A_WorkingDir" versucht.

Code: Select all

::#ordner::
	FileCreateDir, 0-Infrastruktur
	FileCreateDir, 1-Externe Dienstleister
	FileCreateDir, 2-Angebote
	FileCreateDir, X-Alt
return
Gebe ich den ganzen Pfad ein, klappt es.
Z.B.

Code: Select all

::#ordner::
	FileCreateDir, c:\0-Infrastruktur
	FileCreateDir, c:\1-Externe Dienstleister
	FileCreateDir, c:\2-Angebote
	FileCreateDir, c:\X-Alt
return
Ich möchte aber, das mein Befehl "#ordner" den aktuell, in der cmd geöffneten Pfad, nimmt.
Was mache ich falsch / was übersehe ich?

Besten Dank vorab

DerAachener

KHA
Posts: 401
Joined: 21 Aug 2018, 11:11

Re: Ordner per CMD Befehl anlegen.

Post by KHA » 14 Apr 2021, 09:47

Hi, wenn ich dich richtig verstehe, dann sollte folgendes funktionieren.

Code: Select all

::#ordner::
ClipSave := ClipboardAll
Clipboard := ""
ControlSend,, +{Home}^c, ahk_class ConsoleWindowClass
ClipWait , 3
	if (ErrorLevel = 1)
	{
	    MsgBox, Ordnerpfad konnte nicht ermittelt werden!
	    Return
	}
OrdnerPfad := StrReplace(Clipboard, ">", "\")
FileCreateDir, %OrdnerPfad%0-Infrastruktur
FileCreateDir, %OrdnerPfad%1-Externe Dienstleister
FileCreateDir, %OrdnerPfad%2-Angebote
FileCreateDir, %OrdnerPfad%X-Alt

Clipboard := ClipSave
Return

BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Ordner per CMD Befehl anlegen.

Post by BoBo » 14 Apr 2021, 10:36

Verstehe nicht warum du einerseits ein cmd-shell öffnest, um dann final die directories ausserhalb der shell zu erstellen?
Innerhalb der shell hangelst du dich also bis zum Ausgangsverzeichnis, IMHO fehlt dann dort lediglich noch ein flockiges "md folder1 folder2 folder3 folder4" hinzugefügt?!
Wenn es um mehr als 3 Kunden geht stellt sich eh die Frage alles automatisiert zu frickeln. Es ist anzunehmen das die Verzeichnisebenen einer festen Struktur, also einem Muster folgen. Dürfte also kein Problem sein. Falls du die Ausgangsverzeichnisse auch über einen Dateiauswahldialog :arrow: FileSelectFolder ansteuern kannst, sollte das von dir bereits gezeigte Erstellen der Folder ebenfalls kein Problem sein.

DerAachener
Posts: 1
Joined: 14 Apr 2021, 08:14

Re: Ordner per CMD Befehl anlegen.

Post by DerAachener » 15 Apr 2021, 02:46

BoBo wrote:
14 Apr 2021, 10:36
Verstehe nicht warum du einerseits ein cmd-shell öffnest, um dann final die directories ausserhalb der shell zu erstellen?
Innerhalb der shell hangelst du dich also bis zum Ausgangsverzeichnis, IMHO fehlt dann dort lediglich noch ein flockiges "md folder1 folder2 folder3 folder4" hinzugefügt?!
Wenn es um mehr als 3 Kunden geht stellt sich eh die Frage alles automatisiert zu frickeln. Es ist anzunehmen das die Verzeichnisebenen einer festen Struktur, also einem Muster folgen. Dürfte also kein Problem sein. Falls du die Ausgangsverzeichnisse auch über einen Dateiauswahldialog :arrow: FileSelectFolder ansteuern kannst, sollte das von dir bereits gezeigte Erstellen der Folder ebenfalls kein Problem sein.
Danke für Deine Hilfe. Leider klappt es nicht aber ich habe einen neuen Ansatz. :)
Verstehe nicht warum du einerseits ein cmd-shell öffnest, um dann final die directories ausserhalb der shell zu erstellen?
Innerhalb der shell hangelst du dich also bis zum Ausgangsverzeichnis, IMHO fehlt dann dort lediglich noch ein flockiges "md folder1 folder2 folder3 folder4" hinzugefügt?!
Wenn es um mehr als 3 Kunden geht stellt sich eh die Frage alles automatisiert zu frickeln. Es ist anzunehmen das die Verzeichnisebenen einer festen Struktur, also einem Muster folgen. Dürfte also kein Problem sein. Falls du die Ausgangsverzeichnisse auch über einen Dateiauswahldialog :arrow: FileSelectFolder ansteuern kannst, sollte das von dir bereits gezeigte Erstellen der Folder ebenfalls kein Problem sein.
Ich würde das ganze ja eher per "von rechts nach links" kopieren lösen. [ Total Commander ].
Aber mein Chef behaart darauf, das ganze über die CMD und AHK zu lösen.

BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Ordner per CMD Befehl anlegen.

Post by BoBo » 15 Apr 2021, 03:52

Code: Select all

Aber mein Chef behaart darauf, das ganze über die CMD und AHK zu lösen.
PS. ich hoffe mal dein Chef beharrt darauf, nicht zu behaaren ... (BoBo holt schon mal nen Coiffeurbesen) ;)

Edit: hier eine hybride Sparversion ...

Code: Select all

f1 := "_folder1"
f2 := "_folder2"
f3 .= "_folder3"

FileSelectFolder, custDir,% A_ScriptDir, 3, Please Select Customer Directory ...	; parameter sind entsprechend eigener präferenzen anzupassen.
Run,% ComSpec " /c cd " . custDir " && md " . f1 . " " . f2 . " " . f3,, Hide		; die shell für den chef. Heute mal unsichtbar. 
SoundBeep																			; Feierabendläuten. Für chefs erwiesenermaßen im unhörbaren frequenzbereich.

F10::Run % custDir . "\" . f1														; press F10 - controlfreak's favorite button.
F11::Run % custDir . "\" . f2
F12::Run % custDir . "\" . f3

Post Reply

Return to “Ich brauche Hilfe”