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

VBS zur Datei Umbennenung und Entfernen von diverse Character

Frage Entwicklung Batch & Shell

Mitglied: Braltar

Braltar (Level 1) - Jetzt verbinden

31.08.2006, aktualisiert 19:02 Uhr, 7707 Aufrufe, 8 Kommentare

VBS zur Datei Umbennenung und Entfernen von diverse Character

Hallo,

zuerst Mal... ich bin zeimlich Neuling in VBS.. das Erklärt warscheinlich auch die Frage.

ich habe ein Script die Dateien Aufgrund Erstelldatum umbennent, und numeriert.
Bisher funktioniert dieser auch einwandfrei. nur folgende weitere Funktionen habe ich leider nicht erfolgreich implementieren können.
(sollte unbedingt per VBS gelöst werden, also kein rename Tool...)

Die Dateinamen sehen nach ersten Ablauf so aus...

YYYYMMDDXX-ZZ.JPG also z.B. 20060830CN-01.jpg

und sind alle im gleichen Ordner.

YYYY = Jahr , MM = Monat, DD = Tag, XX = Kürzel ( als Variable von einem Input Box) und ZZ = ist die Nummerierung.


Nun sollte ich

1: die zwei erste nummer des Jahres entfernen

Ergebnis Beispiel Datei:

YYMMDDXX-ZZ.JPG also z.B. 060830CN-01.jpg



2: der - entfernen

Ergebnis Beispiel Datei:

YYMMDDXXZZ.JPG also z.B. 060830CN01.jpg


also in Kurze:

gibt es ein MusterBatch für gewisse Positionen von Dateinamen durch andere (in diesem Fall Leere Zeichen) zu ersetzen?

Vielen Dank im Voraus,
Braltar
Mitglied: AndreasHoster
31.08.2006 um 13:08 Uhr
Als vbs Skribt würde ich das so machen:

Set fso = CreateObject("Scripting.FileSystemObject")
' Verzeichnis holen
Set ofolder = fso.GetFolder("Pfad zu Verzeichnis")
' Alle Dateien im Verzeichnis durchgehen
For each file in ofolder.Files
'Name holen
sName = file.Name
'ersten 2 Buchstaben entfernen
sName = Mid(sName,3)
' - durch nichts ersetzen
sName = Replace(sName,"-","")
'Name wieder zurückschreiben
file.name = sName
Next
Bitte warten ..
Mitglied: Biber
31.08.2006 um 13:25 Uhr
Moin Braltar,

Beispiel:
01.
'fnametest.vbs 
02.
Set objFSO = CreateObject("Scripting.FileSystemObject") 
03.
set of =objFSO.GetFile("2006-08-30xy.txt") 
04.
wscript.echo "Filename old [" & of.name & "] rename to --> [" & Mid( of.name ,3) & "]" 
05.
of.name = Mid( of.name ,3) 
06.
wscript.echo "Filename now[" & of.name & "]" 
07.
wscript.echo "Filename old [" & of.name & "] rename to --> [" & Replace( of.name ,"-","") & "]" 
08.
of.name = Replace( of.name ,"-","")
Test am CMD-Prompt:
01.
>cscript //nologo fnametest.vbs 
02.
Filename old [2006-08-30xy.txt] rename to --> [06-08-30xy.txt] 
03.
Filename now[06-08-30xy.txt] 
04.
Filename old [06-08-30xy.txt] rename to --> [060830xy.txt]
HTH Biber
[Edit] Upps, sorry, AndreasHoster.... das war über Kreuz gepostet [/Edit]
Bitte warten ..
Mitglied: Braltar
31.08.2006 um 15:55 Uhr
Vielen Dank!

genau das habe ich gemeint...

jetzt noch eine "kleine" Frage,

ich möchte noch folgendes tun.

abfragen ob an eine gewisse Position ein Punkt vorhanden ist, wenn ja ein 0 an ein gewisse Position reinschreiben...

also etwas in der Art:

If (von links gezählt an position 8 ein "." vorhanden ist) then
schreib ein "0" an Position 7
else
End If

eine Idee?
Bitte warten ..
Mitglied: AndreasHoster
31.08.2006 um 16:38 Uhr
Willst Du jetzt das Zeichen an Position 7 durch 0 ersetzen, oder soll an Position 7 eine 0 hinzugefügt werden, also das bisherige 7te Zeichen an die 8. Position rücken?
Bitte warten ..
Mitglied: Biber
31.08.2006 um 16:41 Uhr
Beispiel dafür:
01.
Text ="datei27.3.2005-txt" 
02.
wscript.echo text & " Pos. von [.]=" & Instr(text, ".") _  
03.
                &  " Pos. von [3]="   & Instr( text, "3") _  
04.
                &  " Pos. von [-]="   & Instr(text, "-") 
05.
 
06.
If mid(text,8,1) = "." then wscript.echo "Ersetzen: " & mid(text,1,7) &"0" & mid(text,9) 
07.
If mid(text,8,1) = "." then wscript.echo "Einfügen: " & mid(text,1,8) &"0" & mid(text,9) 
08.
 
09.
wscript.quit 
10.
'OUTPUT: datei27.3.2005-txt Pos. von [.]=8 Pos. von [3]=9 Pos. von [-]=15 
11.
'OUTPUT: Ersetzen: datei2703.2005-txt 
12.
'OUTPUT: Einfügen: datei27.03.2005-txt
Bitte warten ..
Mitglied: Braltar
31.08.2006 um 17:00 Uhr
danke Andreas,

also inder Folge

If Position X auswerten, und im Fall ein gewisser Zeichen Vorhanden ist

then Zeichen an Position Y einfügen, andere Zeichen nach rechts schieben...

wenn nicht vorhanden, namen unbeachtet lassen...

Beispiel

ich habe 2 Dateinamen:

123456-1.jpg und 123456-11.jpg

(weil die automatische numerierung nicht immer 2 nummer einsetz (von 1 bis 9) habe ich verschiedene namens-länge) ein detail, aber ich mag details...

darum habe ich gedacht, der . in nur auf Position 8, wenn die Nummerierung nur ein zeichen hat, und ich kann dann (an Position 6 z.Beispiel) ein 0 hinzufügen....

ich hoffe ich kläre mehr durch antworten als ich durcheinander bringe...

vielen Dank.
Bitte warten ..
Mitglied: AndreasHoster
31.08.2006 um 17:14 Uhr
Im Prinzip wie von Biber vorgeschlagen, nur beim 2. mid ab Stelle 8, da wir hinzufügen, nicht ersetzen wollen:

if mid(sName,8,1) = "." then
sName = mid(sName,1,7) & "0" & mid(sName,8)
end if

Und das einfach vor dem Namen zurückschreiben in meinem Skript einfügen.
Bitte warten ..
Mitglied: Braltar
31.08.2006 um 19:02 Uhr
vielen vielen dank....

Der Projekt kann jetzt in letzer Schleif gehen...

alles funktionniert wie geplant, und ich weiss jeztz wo ich wirklich hilfe bekomme

gruss,
braltar
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Dateien umbenennen - ersten Zeichen entfernen (4)

Frage von jan999 zum Thema Batch & Shell ...

Batch & Shell
gelöst VBS Script in eine Textdatei ausgeben (VBS mit Batch zusammenführen) (5)

Frage von Luuke257 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Tools

Zeit für Energiesparmodus, Bildschirmabschaltung etc. schnell anpassen

Anleitung von hannsgmaulwurf zum Thema Windows Tools ...

Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(4)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Heiß diskutierte Inhalte
Microsoft Office
Office Druck fehler (18)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Windows Server
Zertifikat am DC erneuern funktioniert nicht (13)

Frage von takvorian zum Thema Windows Server ...