Jump to content

Verzeichnisgröße ermitteln


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hi,

 

also ich habe es nicht mit dem konkreten Script von oben getestet, aber generell kann die PowerShell auch mit mehr als 256 Zeichen umgehen, das habe ich schon getestet. Da dieselben APIs benutzt werden, würde ich vermuten, daß auch das o.g. Script keine Probleme macht.

 

Viele Grüße

olc

Geschrieben

...mh, interssant. PowerShell ist ja in großen Teilen .Net - von daher wundert es mich, daß ich dann keine Probleme hatte.

 

Na mal schauen, ich check das auch noch mal ab. Kommt vielleicht auf die aufgerufene Funktion oder Methode an.

 

Gruß olc

Geschrieben

In meinem Fall war ich (bis ich auf das Problem stieß) über System.IO.FileInfo gegangen. Und der gesamte System.IO-Namespace scheint über die "begrenzte" Managed-API zu gehen. Der Umweg zur Lösung führt dann über System.RunTime.InterOpServices und die Anbindung der kernel32.dll.

 

Gruß

Carsten

Geschrieben

Hallo

es funktioniert weder mit .Net System.IO noch mit Comobjekten :confused:

 

foldername="C:"
for ($i = 1;$i -lt 25;$i++){
[system.io.directory]::createdirectory($foldername)
$foldername=$foldername+"\123456789012345"
}

 

$foldername="C:"
$fso=new-object -com "Scripting.FileSystemObject"
for ($i = 1;$i -lt 25;$i++){
$foldername=$foldername+"\123456789012345"
$fso.createfolder($foldername)
}

 

beide Scripte brechen ab, wenn 260 Zeichen Pfadlänge überschritten werden. Ebenso in VisualBasic.

Vielleicht geht's mal mit den höheren .Net Versionen als 2.0

 

cu

blub

Geschrieben

N'Abend,

 

da brat mir doch einer 'nen Storch - ich bin mir vollkommen sicher, daß ich es vor einiger Zeit erfolgreich getestet habe.

Nach blubs Post habe ich ebenfalls noch einmal getestet - und auch den Fehler bekommen...

 

Ich check das nochmal ab, irgendwie muß ich es ja damals geschafft haben. Sollte ich mich jedoch geirrt haben, dann entschuldigt die Verwirrung.

Konnte auch nirgendwo eine Einschränkung der Aussage von der maximalen Pfadlänge finden, auch nicht in Bezug auf .NET. Naming a File or Directory (Windows)

 

Viele Grüße

olc

Geschrieben

Wie hier dokumentiert, ist das Auftreten der Exception unabhängig von der Version des .NET-Frameworks. DIe Exception in der ManagedAPI ist in allen Version von 1.0 bis 3.5 implementiert. Probiert mal eine Notation mit

\\?\[/Code]

vor dem Pfad aus, das wäre dann der umständlichere Weg über die Implementierung der Kernel32.dll, auch wenn die selbe ManagedAPI genutzt wird. Diese reicht das dann intern weiter. Siehe auch: David L. Walker - .NET Solution Provider : PathTooLongException work around Oder man macht es dann ganz umständlich: VBnet™ Visual Basic Developers Resource Centre (so musste ich es leider machen, da ich ein paar mehr Infos über die Folder brauchte.

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...