Hot News:

Unser Angebot:

  Foren auf CAD.de
  VBasic / vb.net / vbs / wsh
  Übergabe Ordnername mit Pathangabe innerhalb VBS

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
Autor Thema:  Übergabe Ordnername mit Pathangabe innerhalb VBS (2261 mal gelesen)
alterHausmeister
Mitglied
Hausmeister


Sehen Sie sich das Profil von alterHausmeister an!   Senden Sie eine Private Message an alterHausmeister  Schreiben Sie einen Gästebucheintrag für alterHausmeister

Beiträge: 470
Registriert: 02.02.2009

erstellt am: 16. Aug. 2011 23:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo an alle,

ich habe hier ein VBS gefunden, mit welchem eine Liste von leeren Verzeichnissen angelegt werden kann.

Dieses VBS funktioniert in der Form, dass der Aufruf über eine Batchdatei erfolgt, in der das zu durchsuchende Verzeichns (incl. Laufwerksbuchstabe) als Parameter an das VBS übergeben wird.

Soweit so gut. Funktioniert super ...

Nun möchte ich dieses kleine Script aber in ein größeres Script integrieren, ohne dazu bei der Ausführung erst eine Batch erzeugen zu müssen. Über

Code:
  set wshell = CreateObject("Wscript.shell")
  Set Dateiauswahl = CreateObject("Shell.Application").BrowseForFolder(0,AuswahlTitel,16,StartOrdner)
  set Ordner      = Dateiauswahl.Self

kann ja eine Ordnerwahl vorgenommen werden, aber darin ist nicht der gesamte Path mit Laufwerk enthalten. Über ordner.path kann ich den zwar in einer MSGBOX() ausgeben, aber nicht in das oben angegebene VBS übergeben.

Ich suche also eine Lösung, um (aus oben verlinktem Script)

Code:
DeleteEmptyFolders(CreateObject("Scripting.FileSystemObject"). _
GetFolder(WScript.Arguments(0)))

sub DeleteEmptyFolders(ordner)


durch eine Ordnerwahl zu ersetzen, die ohne den Zwischenschritt der Batchdatei zur Übergabe von zB. C:\Temp auskommt.

Hat wer dazu eine Idee?

------------------
lg, der Hausmeister
_______________________________________

46 + 1 = ein Lächeln

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Patrick Weber
Mitglied
Konstruktionstechniker, Admin


Sehen Sie sich das Profil von Patrick Weber an!   Senden Sie eine Private Message an Patrick Weber  Schreiben Sie einen Gästebucheintrag für Patrick Weber

Beiträge: 659
Registriert: 20.11.2006

Win11 Pro 23H2
Core i7-12700, 32GB RAM, Quadro P620
Creo Elements/Direct 19.0 M030
ModelManager 19.0
License Server 19.0 F000
clisp,VB.net,VBA,AHK,Python

erstellt am: 17. Aug. 2011 07:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für alterHausmeister 10 Unities + Antwort hilfreich

Code:
set wshell = CreateObject("Wscript.shell")
Set Dateiauswahl = CreateObject("Shell.Application").BrowseForFolder(0,AuswahlTitel,16,StartOrdner)
set Ordner      = Dateiauswahl.Self

DeleteEmptyFolders(CreateObject("Scripting.FileSystemObject").GetFolder(Ordner.path))

sub DeleteEmptyFolders(Ordner)
For Each Unter In Ordner.SubFolders
    DeleteEmptyFolders(Unter)
    If (Unter.SubFolders.Count+Unter.Files.Count) = 0 Then
        CreateObject("Scripting.FileSystemObject").DeleteFolder(Unter)
    End If
Next
End sub


Na ja, leere Ordner würde ich eigentlich lassen, wo sie sind. 

------------------
Grüße aus Sachsen
pw

Karl Marx ist tot, Einstein ist tot, und mir ist auch schon ganz schlecht!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

alterHausmeister
Mitglied
Hausmeister


Sehen Sie sich das Profil von alterHausmeister an!   Senden Sie eine Private Message an alterHausmeister  Schreiben Sie einen Gästebucheintrag für alterHausmeister

Beiträge: 470
Registriert: 02.02.2009

erstellt am: 17. Aug. 2011 08:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Zitat:
Original erstellt von Patrick Weber:
Na ja, leere Ordner würde ich eigentlich lassen, wo sie sind.

... ich auch ...

Aber Danke! - genau das habe ich gesucht. Erst mal die allseits beliebten Us umschaufeln ...

Nun ja, durch diverse Automatismen haben wir Unmengen (ca. 3500) von leeren Verzeichnissen, da bei Beginn eines Projektes immer die gleiche Stuktur angelegt wird. Mir ist aber wohl bewußt, daß nicht alle gelöscht werden können. Mir ist auch bewußt, daß ich dadurch nicht merklich mehr Platz auf dem Server bekomme. Mir persönlich sind die leeren Verzeichnisse mehr oder weniger egal ... aber ich bin ja nur der Hausmeister. 

------------------
lg, der Hausmeister
_______________________________________

46 + 1 = ein Lächeln

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz