Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Mit VBS files von rechts kürzen

Frage Entwicklung VB for Applications

Mitglied: staga75

staga75 (Level 1) - Jetzt verbinden

07.02.2012 um 15:14 Uhr, 4652 Aufrufe, 6 Kommentare

Hallo zusammen

Als VBS Anfänger bräuchte ich wiedereinmal eure hilfe.

Ich möchte gerne via VBScript mehrere Dateien umbenennen bzw. kürzen. Das ganze sollte in etwa so aussehen:

Files im Ordner c:\temp\

FA1_1974629_7294878_20120207_083102067.cmd
FA1_6774629_9294508_20120207_083102665.cmd
FA1_5574629_3294508_20120207_093102667.cmd
FA1_4474629_4294508_20120207_083102630.xml
FA1_2874629_5294568_20120207_893102633.xml
FA1_1874456_6294508_20120207_663104430.xml
usw.

sollen gekürzt werden auf:

FA1_1974629_7294878.cmd
FA1_6774629_9294508.cmd
FA1_5574629_3294508.cmd
FA1_4474629_4294508.xml
FA1_2874629_5294568.xml
FA1_1874456_6294508.xml

Mit anderen Worten es sollen immer die letzte 19 Zeichen gelöscht werden.

Ich wäre sehr dankbar wenn mir jemand weiterhelfen kann.
Mitglied: dave84620
07.02.2012 um 15:44 Uhr
Hey,
versuchs mal in etwa so...


dim x,y as string
x=dir(ordner.....)
do until x=""
y=left(x,len(x)-23)+right(x,4)
name x as y
x=dir
loop


hat keine Fehlerbehandlung oder sonstwas und keine Garantie, daß es so 1:1 funktioniert... das Wort "ordner" muß natürlich gegen den Ordernamen mit den enthaltenen Dateien getauscht werden

Schöne Grüße
Dave
Bitte warten ..
Mitglied: staga75
07.02.2012 um 16:11 Uhr
Hi Dave

Danke für die rasche Antwort. Ich es probiert jedoch bricht das Script mit einem Fehler ab welcher die Zeile 5 betrifft. ich habe es folgendermassen angepasst - weiss nicht ob das so richtig ist, wie erwähnt bin ich was VBS betrifft ein absoluter newbi.

Dim x, y
x=dir("C:\tmp")
do until x=""
y=left(x,len(x)-23)+right(x,4)
name x as y
x=dir
loop
Bitte warten ..
Mitglied: dave84620
07.02.2012 um 17:03 Uhr
ok, ich habs in VB6 mal ausprobiert....
die Methode "name" benötigt natürlich noch die Pfadangabe.

versuch's mal hiermit:

Dim x, y, p
p="C:\tmp\"
x=dir(p)
do until x=""
y=left(x,len(x)-23)+right(x,4)
name p+x as p+y
x=dir
loop

Schöne Grüße!
Dave
Bitte warten ..
Mitglied: Karo
07.02.2012 um 17:09 Uhr
Hi,

oder so:

( ich definiere es eher als die ersten 19 Zeichen stehen lassen )

01.
Option Explicit 
02.
Dim strPath, FSO, FLD, fil, strOldName, strNewName 
03.
strPath = "C:\TMP" 
04.
Set FSO = CreateObject("Scripting.FileSystemObject") 
05.
Set FLD = FSO.GetFolder(strPath) 
06.
For Each fil in FLD.Files 
07.
   strOldName = fil.Name 
08.
   if LEN(strOldName)+4 > 23 then 
09.
     strNewName = Left(strOldName,19) & Right(strOldName,4) 
10.
     FSO.MoveFile strOldName, strNewName 
11.
   end if 
12.
Next
bye
Karo
Bitte warten ..
Mitglied: bastla
07.02.2012 um 21:45 Uhr
Hallo @All!

Unter der Annahme, dass es eigentlich darum ginge, aus den 5 durch "_" getrennten Bestandteilen des Dateinamens nur die ersten 3 zu verwenden (was zumindest die Zeichenzählerei spart), könnte das auch so gehen:
01.
Ordner = "c:\temp" 
02.
 
03.
Set fso = CreateObject("Scripting.FileSystemObject") 
04.
For Each File In fso.GetFolder(Ordner).Files 
05.
    FileName = fso.GetBaseName(File.Name) 
06.
    FileExt = fso.GetExtensionName(File.Name) 
07.
    FileParts = Split(FileName, "_") 
08.
    If UBound(FileParts) > 2 Then File.Name = FileParts(0) & "_" & FileParts(1) & "_" & FileParts(2) & "." & FileExt 
09.
Next
Das "If" in Zeile 8 soll verhindern, dass bereits umbenannte Dateien neuerlich bearbeitet werden.

Grüße
bastla
Bitte warten ..
Mitglied: staga75
08.02.2012 um 07:48 Uhr
hi all

Vielen dank für eure Antworten. Nun habe ich drei Beispiele zur Verfügung welche ich auch bereits getestet habe und einwandfrei funktionieren. Nun habe ich die Qual der Wahl

Danke nochmals

Gruss
Staga
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Batch & Shell
Eventlog Druckjobs mit VBS auslesen (2)

Frage von joni2000de zum Thema Batch & Shell ...

VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes

Frage von Sentinel87 zum Thema VB for Applications ...

Windows 7
gelöst Batch-Skript oder VBS Skript zum Sichern von Office Vorlagen (2)

Frage von Ceejaay zum Thema Windows 7 ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...