[Solved] Dateien zusammenführen: Unterordner auflösen.

German support forum

Moderators: Stefan2, Hacker

Conan
Member
Member
Posts: 144
Joined: 2012-04-18, 20:55 UTC

Re: [Solved] Dateien zusammenführen: Unterordner auflösen.

Post by *Conan »

Hallo erst mal.
Zuerst, vielen Dank für das Script, es hat mir sehr viel zeit ersparrt, wen ich ordner zusammen gelegt habe.
So, manchmal bekomme ich diese Fehlermeldung und dann geht es nicht weiter:
Skript: C:\total_commander\PurgeFolders.vbs
Zeile: 143
Zeichen: 2
Fehler: Ungültiger Prozeduraufruf oder ungültiges Argument: 'String'
Code: 800A0005
Quelle: Laufzeitfehler in Microsoft VBScript
Ist evtl. bekannt, was da nicht geht?
User avatar
Stefan2
Power Member
Power Member
Posts: 4398
Joined: 2007-09-13, 22:20 UTC
Location: Deutschland

Re: [Solved] Dateien zusammenführen: Unterordner auflösen.

Post by *Stefan2 »

Conan wrote: 2026-06-11, 21:57 UTC So, manchmal bekomme ich diese Fehlermeldung und dann geht es nicht weiter:
PurgeFolders.vbs
Zeile: 143

Dann ist wahrscheinlich die iINT-Variable der Pad-Funktion nicht (oder falsch?) gefüllt?
Wann trifft das denn auf? Nur bei namensgleichen Dateien?

Versuche mal wie es funktioniert, wenn du die Pad-Funktion anpasst.
Füge zwischen Zeile 141 und 142 die folgende neue Zeile ein:
If(iINT < 0) Then iINT = 0


Angepasste Funktion:

Code: Select all

Function Pad(iINT, iWantLen)
	If(iINT < 0)         Then iINT = 0
	If(iWantLen = 0) Then iWantLen = 1
	Pad = String( iWantLen-Len(iINT),"0") & iINT
End Function




Ansonsten probiere mal diesen Code als Pad-Funktion:

Code: Select all

Function Pad(iINT, iWantLen)
	If(iINT < 0) Then iINT = 0
	If(iWantLen = 0) Then iWantLen = 1
	
	If(iWantLen-Len(iINT) < 0) Then 
	  MsgBox "ERROR: kein Padding möglich"
	Else
	  Pad = String( iWantLen-Len(iINT),"0") & iINT
	End IF
End Function

 
Conan
Member
Member
Posts: 144
Joined: 2012-04-18, 20:55 UTC

Re: [Solved] Dateien zusammenführen: Unterordner auflösen.

Post by *Conan »

Es waren zuviele gleich benannte Datein.
Ich hab gestern noch bisschen rum probiert, bei mir hat die option:
iWantedPadding = 2 'pad iDuplicateFilesSerial with zero's (0 or 1 for NO, else 2 or more for 01,02...)
geholfen, danach klappte es wieder ohne probleme.
User avatar
Stefan2
Power Member
Power Member
Posts: 4398
Joined: 2007-09-13, 22:20 UTC
Location: Deutschland

Re: [Solved] Dateien zusammenführen: Unterordner auflösen.

Post by *Stefan2 »

Conan wrote: 2026-06-12, 07:30 UTC Es waren zuviele gleich benannte Datein.
iWantedPadding = 2
Ah, danke dir.



Ich habe mir jetzt Folgendes notiert:
REM Bei gleichnamige Dateien werden die Duplikate mit einem Zähler versehen ("test.txt", "test_1.txt", "test_2.txt", "test_3.txt")
REM BeispielCode von unten: sBase & "_" & Pad(iSerial,iWantedPadding) & "." & sExte

REM Wenn es zu viele gleichnamige Dateien gibt, muss die Länge des Padding (also die Option "iWantedPadding") entsprechend groß sein.

REM Da dieses Programm nicht wissen kann, wie viele gleichnamige Dateien es geben wird, muss der Anwender diese Option selbst setzen.
REM also "iWantedPadding = 1" für bis zu 9 erwartete gleichnamige Dateien, ("test.txt", "test_1.txt", "test_2.txt", "test_9.txt")
REM oder "iWantedPadding = 2" ab zehn bis 99 zu erwarteten gleichnamige Dateien, ("test.txt", "test_01.txt", "test_09.txt", "test_13.txt")
REM oder "iWantedPadding = 3" für bis zu 999 erwartete gleichnamige Dateien ("test.txt", "test_001.txt", "test_09.txt", "test_013.txt", "test_956.txt")

REM mein neuer Default-Wert:
iWantedPadding = 2 'pad iDuplicateFilesSerial with zero's (0 or 1 for NO, else 2 for 01,02,.., or 3 for 001,002,...)





 
Conan
Member
Member
Posts: 144
Joined: 2012-04-18, 20:55 UTC

Re: [Solved] Dateien zusammenführen: Unterordner auflösen.

Post by *Conan »

@Stefan2
👍
Bitte nimm mir die Frage jetzt nicht übel, hast du mit bekomen das VBS als veralter makiert worden ist?
https://de.wikipedia.org/wiki/Visual_Basic_Script#Zuk%C3%BCnftige_Nutzung_von_VBScript
User avatar
Stefan2
Power Member
Power Member
Posts: 4398
Joined: 2007-09-13, 22:20 UTC
Location: Deutschland

Re: [Solved] Dateien zusammenführen: Unterordner auflösen.

Post by *Stefan2 »

Conan wrote: 2026-06-12, 12:12 UTC das VBS als veralter makiert worden ist?
Das heißt nur, das MS das nicht mehr unterstützen will und man es nach deren Meinung nicht mehr einsetzen sollte.

Solange die Interpreter "cscript.exe/wscript.exe" auf deinem PC existieren, kannst du auch VBS verwenden.
Irgendwann wird die VBS-Unterstützung nur noch als Option (oder "Feature") angeboten. (wie auch zB "Hyper-V")
Ein paar Jahre später wird es gar nicht mehr mit geliefert.

Nur für extrem aufwändige Aufgaben ist VBS nicht besonders gut geeignet, da müsste man oft Umwege gehen.
Da verwendet man besser PowerShell (oder gleich etwas anderes, wie zB AutoHotkey).
(Ich habe auf Seite 2 bereits angefangen, das Skript in PowerShell nachzubauen viewtopic.php?p=346604#p346604 )

Also kannst du ein VBS-Skript noch ein paar Jahre verwenden, und selbst dann gibt es bestimmt Workarounds.



EDIT:

Siehe https://www.
heise.de/news/Microsoft-legt-Fahrplan-fuer-VBS-Ende-vor-9729749.html
- Mitte 2023 - Ankündigung, dass VBScript als veraltet gilt
- Mitte 2024 - VBScript als Option, aber standardmäßig aktiviert
- Ab 2027 - VBScript als Option, standardmäßig de-aktiviert
- Später, Zeitpunkt nicht festgelegt - VBS-Unterstützung entfernt






 
Conan
Member
Member
Posts: 144
Joined: 2012-04-18, 20:55 UTC

Re: [Solved] Dateien zusammenführen: Unterordner auflösen.

Post by *Conan »

👍
Post Reply