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, 4705 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 ..
Ähnliche Inhalte
VB for Applications
gelöst Tool zur scriptbasierten PDF-Bearbeitung gesucht (VBS oder Batch) (6)

Frage von SarekHL zum Thema VB for Applications ...

Batch & Shell
gelöst Hilfe Bei einem vbs Script (19)

Frage von Hattori-Hanzo zum Thema Batch & Shell ...

Entwicklung
gelöst Powershell Old Files and Folders Deletion after x days (4)

Frage von easy4breezy zum Thema Entwicklung ...

Sonstige Systeme
gelöst Daten aus txt-Files sammeln (16)

Frage von MegaGiga zum Thema Sonstige Systeme ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (35)

Frage von FA-jka zum Thema Windows 10 ...

CMS
Lokales Wordpress im LAN - wie aufsetzen? (15)

Frage von Static zum Thema CMS ...

LAN, WAN, Wireless
Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (15)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...

Backup
Backup Wochen- Monats- Jahressicherung (13)

Frage von Meterpeter zum Thema Backup ...