Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 2215 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 ..
Ähnliche Inhalte
Batch & Shell
Dateien im Ordner auslesen und umbennen (10)

Frage von jocheng zum Thema Batch & Shell ...

Batch & Shell
Dateien umbennen und verschieben mit bash (3)

Frage von sbsnewbie zum Thema Batch & Shell ...

VB for Applications
gelöst Vbscript zum Anfügen von Text in scenery.cfg Datei (27)

Frage von aletri zum Thema VB for Applications ...

VB for Applications
gelöst VBScript und OR (5)

Frage von Invisan zum Thema VB for Applications ...

Neue Wissensbeiträge
Viren und Trojaner

FinFisher: Internetprovider schieben Spitzelopfern Malware unter

(1)

Information von kaiand1 zum Thema Viren und Trojaner ...

Humor (lol)

Wo ist der Fehler auf dem Bild?

(17)

Information von the-buccaneer zum Thema Humor (lol) ...

Windows Update

Offenbar erneutes MS-Update mit Fehlerschleife (2012 R2)

Information von VGem-e zum Thema Windows Update ...

Heiß diskutierte Inhalte
Lizenzierung
Programm soll in verschiedenen Versionen lizenziert sein (20)

Frage von Yanmai zum Thema Lizenzierung ...

Humor (lol)
Wo ist der Fehler auf dem Bild? (17)

Information von the-buccaneer zum Thema Humor (lol) ...

Windows Userverwaltung
Ordner-Rechte für Dom.Admin einschränken? (13)

Frage von kilobyte zum Thema Windows Userverwaltung ...