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
Kommentar vom Moderator Biber am 02.05.2012 um 00:39:33 Uhr
Zitat von antonof:
VBScript zum Umbennen von einer Datei
...
Jetzt schon mal sorry, wenn ich den einen oder anderen Fachbegriff nicht verstehe oder verwende
Hmmm ja.. dann ein Tipp: unter Experten heisst es nicht "umbennen von einer Datei", sondern nur "umbennen einer Datei"

Anschließend soll der Anwender aufgefordert werden diese Datei umzubennen.
Set /a rgc+=2
#819
GELÖST

VBScript zum Umbennen von einer Datei

Frage Entwicklung

Mitglied: antonof

antonof (Level 1) - Jetzt verbinden

01.05.2012, aktualisiert 02.05.2012, 2174 Aufrufe, 2 Kommentare

Hallo zusammen!
Leider bin ich nicht ganz vom Fach.....
Ich gehöre eher zu den Endusern.
Jetzt schon mal sorry, wenn ich den einen oder anderen Fachbegriff nicht verstehe oder verwende.
Freue mich aber trotzdem hier mitmachen zu dürfen.

Habe jetzt schon ne Weile exprimentiert, aber ich kommen noch nicht zum gewünschten Ziel.

Absicht ist es ein Script zu erstellen, welches die letzte/neueste Datei in einem Verzeichins findet.
Anschließend soll der Anwender aufgefordert werden diese Datei umzubennen.

Mein Versuch sieht so aus:

01.
Dim Show 
02.
Dim fso 
03.
Dim ordner 
04.
Dim Verzeichnis 
05.
Dim ordnerin 
06.
Dim Datei 
07.
Dim Dateianzahl 
08.
Dim Eingabe 
09.
Dim Endung 
10.
 
11.
'In welchem Verzeichnis soll gesucht werden? 
12.
 
13.
Verzeichnis= "C:\Test" 
14.
 
15.
'Nach welcher Dateiendung soll gesucht werden? 
16.
 
17.
Endung = txt 
18.
 
19.
Set fso = CreateObject("Scripting.FileSystemObject") 
20.
Set ordner = fso.GetFolder(Verzeichnis) 
21.
Set ordnerin = ordner.files 
22.
Dateianzahl = ordnerin.count 
23.
for each Datei in ordnerin 
24.
	If right(Datei.name,3) = "Endung" then 
25.
	Show = Show & vbNewline & Datei.DateCreated  
26.
	end if 
27.
 
28.
		If now - Datei.DateCreated < 0.00016 then 'ca. 16 Sekunden Pause 
29.
		'Mit der Do-while-Schleife wird ein Abbrechen verhindert 
30.
		Do while Eingabe = cancel 
31.
		Eingabe = InputBox("Es wurde eine neue Datei angelegt!"&vbnewline&vbnewline&"Name der Datei: "&Datei.name&vbnewline&"Datei erstellt am: "&Datei.DateCreated&vbnewline&vbnewline&"Bitte einen Namen für die Datei vergeben:"&vbnewline,"Umbenennen","2012-04-11_") 
32.
 
33.
		loop  
34.
 
35.
'Bevor der neue Name der Datei zugewiesen wird, soll gepeüft werden, ob eine Datei mit dem gleichen Namen schon im Verzeichnis existiert.  
36.
'Wenn JA, dann msgbox und wieder zur Input box zurück 
37.
 
38.
'if (fso.FileExists(Verzeichnis&"\"&Eingabe&"."&Endung)) Then 
39.
 
40.
'msgbox "Datei existiert schon!"&vbnewline&vbnewline&"Bitte einen neuen Namen vergeben!" 
41.
 
42.
 
43.
'end if 
44.
  
45.
 
46.
		Datei.name = Eingabe&".txt" 
47.
 
48.
		end if 
49.
next
Gesucht wird hier nach einer Datei mit der Endung "txt", die nicht älter ist wie ca. 16 Sekunden.
Diese Datei soll dann durch den Anwender Umbenannt werden.
Das klappt soweit recht gut.
Es soll aber noch eine Absicherung stattfinden...... (in Zeile 35 und 36 beschrieben)
Und hier knallts.....
Wenn der Name schon existiert kommt es zur einer Fehlermeldung.
Es gibt die Möglichkeit wohl das über FileExists abzufangen, aber ich bekomme es nicht hin.

Hat jemand von Euch einen Tip?
Oder gibt es da noch einen einfacheren Ansatz?
(Wie schon gesagt bin nicht ganz vom Fach...)
Jetzt schon mal DANKE

antonof
Mitglied: bastla
02.05.2012 um 00:36 Uhr
Hallo antonof und willkommen im Forum!

So wird eher ein Schuh draus:
01.
'In welchem Verzeichnis soll gesucht werden? 
02.
Verzeichnis= "C:\Test" 
03.
 
04.
'Nach welcher Dateiendung soll gesucht werden? 
05.
Endung = "txt" 
06.
 
07.
Set fso = CreateObject("Scripting.FileSystemObject") 
08.
Set ordner = fso.GetFolder(Verzeichnis) 
09.
Set ordnerin = ordner.files 
10.
Dateianzahl = ordnerin.count 
11.
 
12.
For Each Datei In ordnerin 
13.
    If LCase(Right(Datei.Name, 3)) = LCase(Endung) Then 
14.
        Alter = DateDiff("s", Datei.DateCreated, Now) 'Alter in Sekunden berechnen 
15.
        Show = Show & vbNewLine & Datei.DateCreated & vbTab & Alter & vbTab & Datei.Name 
16.
     
17.
        If Alter < 16 Then 'ca. 16 Sekunden Pause 
18.
            'Mit der Do-Loop-Schleife wird ein Abbrechen verhindert 
19.
            Eingabe = "" 
20.
            Do 
21.
                Eingabe = InputBox("Es wurde eine neue Datei angelegt!" & vbNewLine & vbNewLine & _ 
22.
                    "Name der Datei: " & Datei.Name & vbNewLine & _ 
23.
                    "Datei erstellt am: " & Datei.DateCreated & vbNewLine & vbNewLine & _ 
24.
                    "Bitte einen Namen für die Datei vergeben:" & vbNewLine, _ 
25.
                    "Umbenennen", "2012-04-11_") 
26.
 
27.
                'Bevor der neue Name der Datei zugewiesen wird, soll geprüft werden, ob eine Datei mit dem gleichen Namen schon im Verzeichnis existiert.  
28.
                If fso.FileExists(Verzeichnis & "\" & Eingabe & "." & Endung) Then 
29.
                    MsgBox "Datei existiert schon!" & vbNewLine & vbNewLine & "Bitte einen neuen Namen vergeben!" 
30.
                    Eingabe = "" 'Eingabe löschen 
31.
                End If 
32.
 
33.
            Loop Until Eingabe <> "" 
34.
 
35.
            Datei.Name = Eingabe & "." & Endung 
36.
        End If 
37.
    End If 
38.
Next
Ob Du irgendwann noch die in der Variablen "Show" gesammelten Daten anzeigst, musst Du selbst entscheiden (und auch, ob / wie Du auf die zwischenzeitlich erfolgte Namensänderung hinweisen willst) ...

Grüße
bastla
Bitte warten ..
Mitglied: antonof
03.05.2012 um 22:59 Uhr
WOW, vielen Dank bastla!

Du hat recht aus dem alten Stiefel wurde ein glänzender Schuh.

(bin aber froh, dass ich gar nicht so verkehrt war)

Habe es heute ausprobiert das sieht ganz ordentlich aus!

Ein Test über längere Zeit wird es noch zeigen, ob es so brauchbar ist.
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
Batch: Word Datei kopieren und umbennen (9)

Frage von ExcelNoob177 zum Thema Batch & Shell ...

Webentwicklung
HTML Output in eine txt Datei mit VisualBasicScript (2)

Frage von coca22COCA zum Thema Webentwicklung ...

Informationsdienste
gelöst Aktuelle Firefox MSI Datei!? (8)

Frage von Hendrik2586 zum Thema Informationsdienste ...

Virtualisierung
gelöst VMDK Datei vergrößern auf der Console welche Datei ist die richtige? (3)

Frage von fireskyer zum Thema Virtualisierung ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...