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, 2194 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
gelöst Dateinamen mit Batch-Datei ändern - Problem (9)

Frage von fffffuuuuuuuhhhh zum Thema Batch & Shell ...

Batch & Shell
gelöst Doppelte Dateneinträge per Batch aus Datei löschen? HILFE (7)

Frage von freshman2017 zum Thema Batch & Shell ...

Batch & Shell
gelöst Teile eines Dateinamens ändern mit Batch Datei (4)

Frage von fffffuuuuuuuhhhh zum Thema Batch & Shell ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(5)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
Windows Server
gelöst Exchange HyperV Prozessorlast (19)

Frage von theoberlin zum Thema Windows Server ...

Windows Server
Server mit Netzwerkaussetzern (18)

Frage von SarekHL zum Thema Windows Server ...

Netzwerke
Vorschlag Hotelverkabelung (14)

Frage von FA-jka zum Thema Netzwerke ...

LAN, WAN, Wireless
gelöst Batchdatei um einen Proxy einzustellen (14)

Frage von CrystalFlake zum Thema LAN, WAN, Wireless ...