Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Batch für Ordner und Linkerstellung: Leerzeichenproblem (und Optimierungsmöglichkeiten)

Mitglied: andi1983

andi1983 (Level 1) - Jetzt verbinden

16.01.2020 um 12:30 Uhr, 307 Aufrufe, 9 Kommentare

Hallo Zusammen,

bisher war ich auf euren Seiten immer nur lesend aktiv, dieses Mal konnte ich aber leider mit der Boardsuche und auch googlen keine Lösung finden, daher wende ich mich jetzt mit einem Beitrag an euch und hoffe auf Hilfe.

Zu meinem Problem:
Zur Lösung eines Netzlaufwerkthemas in der Arbeit habe ich ein Batchfile geschrieben, welches es den Usern erleichtern soll Ordner auf dem Laufwerk zu erstellen, denn leider ist die vorgegebene Ordnerstruktur etwas kompliziert: (Die Ordner liegen dann natürlich nicht lokal)

ordnerstruktur - Klicke auf das Bild, um es zu vergrößern


Die Ordnerstruktur ist uns bis zur Ebene "Archiv" "E01" - "E60" bzw. "Links" vorgegeben. (Diese werden mit Zugriffsberechtigungen versehen)

Regelmäßig soll nun im nächsten freien Ordner "Exx" ein Unterordner erstellt werden. Wenn dieses Thema dann abgeschlossen ist, wird es ins Archiv verschoben. (Dort benötigt nur noch ein kleiner Nutzerkreis Zugang).
Damit man die Unterordner leichter findet soll sich ein Link zu jedem Unterordner im Ordner "Links" befinden. Selten wird es wohl auch vorkommen, dass in einem Ordner "Exx" mehrere Unterordner vorhanden sind, daher muss also auch das überprüft werden.

Idee war nun also ein Batch welches folgende Funktion erfüllt:
1. Unterordner im nächsten freien Ordner erstellen, Ordner "Links" ablöschen und alle Links neu generieren
bzw.
2. Nur Ordner "Links" ablöschen und alle Links neu generieren ohne einen neuen Ordner zu erstellen (Falls sich eine Name geändert hat o.ä.)


Mit meinem Wissen und entsprechend googlen habe ich nun folgendes Batch "zusammengebastelt":


Ein Hauptproblem besteht noch:
Wenn ein Ordnername ein Leerzeichen enthält, dann wird kein gültiger Link erzeugt.

Kann mir hier vielleicht jemand weiterhelfen? Hier konnte ich bisher meinen Fehler leider nicht finden.


Außerdem gehe ich davon aus, dass das Batch an einigen Stellen sicherlich nicht optimal gelöst ist (z.B. das Suchen eines leeren Ordners) oder ich auch irgendwelche Fallstricke nicht bedacht habe, daher wäre ich auch gerne für Verbesserungsvorschläge offen.


Danke und Grüße,
Andi
Mitglied: Xerebus
16.01.2020, aktualisiert um 13:15 Uhr
Hallo Andi

habs nur schnell durchgesehen.

ich vermute mal zeile 53 und 54 noch jeweils zwei '

set "linkpath='d:\test\Ebene2\links\%%j__%%i.lnk' "
oder
set linkpath="d:\test\Ebene2\links\%%j__%%i.lnk"
Was sagt hier ein
echo %linkpath%
Bitte warten ..
Mitglied: TK1987
LÖSUNG 16.01.2020, aktualisiert um 16:09 Uhr
Muss es denn unbedingt ein Batch+VBS-Script gemurkse sein?

Mit Powershell machst du dir die Sache viel einfacher
Bitte warten ..
Mitglied: andi1983
16.01.2020 um 15:41 Uhr
Hallo Xerebus,

danke für deine Antwort!

Das Problem scheint wohl schon vorher zu sein, denn das

echo "%%j"

in Zeile 52 liefert für den Ordner "mit Leerzeichen" bereits nur noch die Ausgabe "mit"...
Bitte warten ..
Mitglied: andi1983
16.01.2020 um 15:47 Uhr
Hallo TK1987,

nein muss es nicht
Mit Powershell hatte ich nur bisher so gut wie gar nichts am Hut.

Danke dir für deine Mühe das Ganze gleich in PS umzusetzen!!!

Hab es gleich getestet und es funktioniert fast wie gedacht.

Wenn alle "Exx" Ordner belegt sind, es aber noch einen leeren Ordner in tieferer Ebene findet (z.B. \Archiv\Unterordner\weiteres\) dann wird der Ordner in "weiteres" angelegt und nicht die Meldung ausgegeben...

Ansonsten perfekt!

Nochmals herzlichen Dank!
Bitte warten ..
Mitglied: TK1987
16.01.2020 um 16:13 Uhr
Zitat von andi1983:
Wenn alle "Exx" Ordner belegt sind, es aber noch einen leeren Ordner in tieferer Ebene findet (z.B. \Archiv\Unterordner\weiteres\) dann wird der Ordner in "weiteres" angelegt und nicht die Meldung ausgegeben...
Ah ok, dachte das sollte so sein.

Darüber hinaus habe ich gesehen, dass du den Namen des Übergeordneteten Orders im Linknamen auch verwendet hast - das war bei mir auch noch nicht so. Hab die Zeilen 19 & 40 entsprechend oben angepasst.
Bitte warten ..
Mitglied: andi1983
16.01.2020 um 20:11 Uhr
Perfekt!

Vielen Dank!!!

Für den Fall einer Falschauswahl habe ich es noch etwas ergänzt:
Bitte warten ..
Mitglied: TK1987
16.01.2020, aktualisiert 22.01.2020
Zitat von andi1983:
Vielen Dank!!!
Aber gerne doch.
Für den Fall einer Falschauswahl habe ich es noch etwas ergänzt [...]
Ich merke, du lernst schnell.
Alternativ dazu, ist es mit Powershell auch möglich, das Ganze als grafische Oberfläche zu basteln.

Ich habe es mal so eingestellt, dass der Button "Ordner erstellen" automatisch deaktiviert ist, wenn kein leerer Ordner gefunden wurde.
Bitte warten ..
Mitglied: andi1983
20.01.2020 um 10:51 Uhr
Auch hierfür vielen Dank!
Ich merke, du lernst schnell.
Naja, ich würede mich nicht gerade als großen Programmierer bezeichnen
Eher als jemanden der mit gewissen Grundkenntnissen dann noch halbwegs google bedienen kann und es sich so zusammenbastelt...

Habe es gerade mal kurz gestartet, er hatte irgendwie beim Ordner erstellen noch ein Problem...
Ansonsten sieht das aber schon mal sehr gut aus


Hab nur gerade wenig Zeit - ich werds mir in den nächsten Tagen mal näher ansehen woran es scheitert.
Bitte warten ..
Mitglied: TK1987
22.01.2020 um 23:08 Uhr
Zitat von andi1983:
Habe es gerade mal kurz gestartet, er hatte irgendwie beim Ordner erstellen noch ein Problem...
Da hab ich wohl eine Klammer vergessen... Zeile 147 oben angepasst.

Gruß TK1987
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch - Kopierjob
Frage von Goldenone95Batch & Shell8 Kommentare

Hallo Community, leider weiß ich bezüglich einer Batch-Datei zum Kopieren und Ersetzen einer Datei in einem anderen Verzeichnis nicht ...

Batch & Shell
Kopfschmerzen (Batch)
gelöst Frage von clragonBatch & Shell4 Kommentare

"" " Kann syntaktisch an dieser Stelle nicht verarbeitet werden Ich sterbe während die Flammen meiner Rage mich innerlich ...

Entwicklung
Batch - Überprüfung
gelöst Frage von apex.predator24Entwicklung6 Kommentare

Hallo Zusammen Gibt es eine Möglichkeit, einen Prozess im TaskManager über eine Batch-Datei zu überprüfen ob dieser läuft oder ...

Batch & Shell
BATCH-Script
gelöst Frage von hipfzwirgelBatch & Shell9 Kommentare

Hallo Batch-Profis, ich habe ein Batch-Script geschrieben mit welchem ich einen Treiber unattended installieren kann. Dazu benötige ich 5 ...

Neue Wissensbeiträge
Viren und Trojaner
Emotet: IT-Totalschaden beim Kammergericht Berlin
Information von StefanKittel vor 1 TagViren und Trojaner7 Kommentare

Interne Daten wurden geklaut und "ein kompletter Neuaufbau der IT-Infrastruktur wird angeraten", heißt es im forensischen Bericht zum ...

Viren und Trojaner
Avast verkauft anscheinend browserdaten
Tipp von magicteddy vor 1 TagViren und Trojaner14 Kommentare

Moin, da es immer wieder Anfragen zu Virenscannern gibt denke ich das der Artikel von Heise Avast verkauft Bowserdaten ...

Router & Routing

Statische Route dauerhaft einrichten unter Ubuntu 18.04 LTS

Erfahrungsbericht von the-buccaneer vor 3 TagenRouter & Routing2 Kommentare

"Kann ja nicht so schwer sein, unter Ubuntu 18.04 LTS ne statische Route einzurichten", denkt der Windows-Admin und gelegentliche ...

Microsoft

Effect on customer websites and Microsoft services and products in Chrome version 80 or later

Information von Dani vor 4 TagenMicrosoft

Guten Abend zusammen, The Stable release of the Google Chrome web browser (build 80, scheduled for release on February ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Installation USG
Frage von jo23487LAN, WAN, Wireless52 Kommentare

Hallo zusammen, nach den beiden anderen Fragen habe ich mir den Cloud Key und auch ein USG gekauft - ...

Router & Routing
NAS im VPN zu langsam mit FritzBox 7490
Frage von holger3208Router & Routing19 Kommentare

Hallo, ich habe eine Telekom VDsl Leitung mit einer 50/10 Leitung. Einen Qnap NAS TS-231P2 (4GB RAM) Eine FritzBox ...

TK-Netze & Geräte
Empfehlung DSL Modem
Frage von CorraggiounoTK-Netze & Geräte18 Kommentare

Hi Leute, könntet ihr mir eine Empfehlung für ein DSL Modem aussprechen? Provider ist die Telekom dahinter steht gleich ...

Windows 10
Desktopverknüpfung für alle User
gelöst Frage von Zeus0815Windows 1014 Kommentare

Hallo zusammen, habe einen Schwung PCs gekauft. Dort hat der Hersteller einen Ordner auf C: abgelegt. Von dort aus ...