Top-Themen

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

Suche eine Batch,Tool oder Programm zum umbenennen von Dateien

Mitglied: Delobo

Delobo (Level 1) - Jetzt verbinden

01.12.2013 um 12:41 Uhr, 4945 Aufrufe, 5 Kommentare

Hallo Gemeinde

Ich habe folgendes Problem

Von meinem Brother Drucker Scanner Kommen die Daten in einen Ordner ( C:\Users\xxxxx\Desktop\Scanner )da liegen sie mit dem namen 01.12.2013.0001.pdf nun binde ich die Datei in ein Programm ein das Programm löscht die Datei dann im Scanner Ordner und legt die Datei in einer Datenbank ab das soll es auch das ist alles auch gut so nun das Problem.
Die nächste PDF die ich ein scanne heißt leider auch wieder 01.12.2013.001.pdf und damit erkennt mein Programm die Datei nicht an und legt sie nicht in der Datenbank ab weil der Name schon vorhanden ist.
Nun meine frage gibt es eine Batch,Tool oder Programm was meinen Ordner ( C:\Users\xxxxx\Desktop\Scanner ) überwacht und wenn die PDF 01.12.2013.001.pdf rein kommt sie automatisch umbenennt in 01.12.2013.12.32.44.pdf ( Datum.Uhrzeit mit sec.pdf) ?

MFG

Delobo
Mitglied: MrNetman
01.12.2013 um 13:25 Uhr
mit batch geht das.
Du kannst aber auch ein einfaches Tools nehmen: Ant renamer http://www.chip.de/downloads/Ant-Renamer_18204061.html
Viele Dinge gehen damit einfacher

Gruß
Netman
Bitte warten ..
Mitglied: loonydeluxe
01.12.2013, aktualisiert um 13:32 Uhr
Hi,

falls du etwas Programmierkenntnisse hast, kannst du mit VB.NET Express oder C# Express die FilesystemWatcher-Komponente benutzen und mit den Funktionen aus System.File die Datei umbenennen.

Alternativ kannst du dir einen Task anlegen, der alle 1 Minute wiederholt wird. Dieser sollte dann eine Batch-Datei aufrufen, welche mit ForFiles für jede Datei einen Befehl ausführt. Dann bei ForFiles als Befehl "ren @ path "@fname.%uhrzeit%.@ext".
Für %uhrzeit% musst du vorher "nur noch" den aktuelle Zeitstempel - bereinigt um Sonderzeichen wie z. B. ":" - einsetzen. Das kannst du am Anfang der Batch-Datei per set-Befehl setzen.

Informationen zur Verwendung von ForFiles gibts hier: http://ss64.com/nt/forfiles.html

Grüße, loonydeluxe
Bitte warten ..
Mitglied: Endoro
01.12.2013 um 13:58 Uhr
Hey, Vorschlag für ein System mit deutschen Formaten:
01.
@ECHO OFF &SETLOCAL
02.
cd /d "%userprofile%\Desktop\Scanner"
03.
:loop
04.
rem 10 Sekunden warten
05.
ping -n 10 localhost >nul
06.
rem wenn  01.12.2013.0001.pdf nicht vorhanden, zurück
07.
if not exist "%date%.0001.pdf" goto:loop
08.
rem ansonsten umbenennen, sec100 entfernen
09.
set "MyTime=%time:~0,8%"
10.
rem vorm umbenennen ":" in "." umwandeln
11.
ren "%date%.0001.pdf" "%date%.%MyTime::=.%.pdf"
12.
rem und von vorn
13.
goto:loop
lg.
Bitte warten ..
Mitglied: colinardo
01.12.2013, aktualisiert 17.03.2014
Hallo Delobo,
hierzu kannst du folgendes VB-Script nutzen, welches einmal gestartet, im Hintergrund den entsprechenden Ordner dauerhaft überwacht und in einem bestimmten Intervall das du in Zeile 4 angibst die entsprechende Datei umbenennt. Den zu überwachenden lokalen Pfad gibst du in Zeile 2 an (ohne Backslash am Ende)
01.
'Pfad der zu überwachen ist
02.
Const strPath = "C:\temp\source"
03.
'Überwachungs-Interval in Sekunden
04.
Const intInterval = "5"
05.
'------------------------------
06.
strDrive = Split(strPath,"\")(0)
07.
strFolder = Replace(Split(strPath,":")(1),"\","\\") & "\\"
08.

09.
Set fso = WScript.CreateObject("Scripting.Filesystemobject")
10.
Set objShell = CreateObject("Wscript.Shell")
11.
Set objWMIService = GetObject( "winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2" )
12.

13.
strQuery = "Select * From __InstanceOperationEvent" _
14.
    & " Within " & intInterval _
15.
    & " Where Targetinstance Isa 'CIM_DataFile'" _
16.
    & " And TargetInstance.Drive='" & strDrive & "'"_
17.
    & " And TargetInstance.Path='" & strFolder & "'"
18.

19.
Set colEvents = objWMIService.ExecNotificationQuery (strQuery) 
20.

21.
Do 
22.
    Set objEvent = colEvents.NextEvent()
23.
    Set objTargetInst = objEvent.TargetInstance
24.
    
25.
    Select Case objEvent.Path_.Class 
26.
        Case "__InstanceCreationEvent" 
27.
            filename = objTargetInst.Name 
28.
            If LCase(Right(filename,7)) = "001.pdf" Then
29.
				datum = Replace(Replace(Now(),":",".")," ",".")
30.
				newFileName = datum & ".pdf"
31.
				Set f = fso.GetFile(filename)
32.
				f.Name = newFileName
33.
			End If 
34.
    End Select 
35.

36.
Loop
Zur Info: Das Script gibt keinerlei Ausgaben aus, wenn es gestartet wird, d.h. es läuft direkt im Hintergrund und Überwacht den Ordner kontinuierlich. Du erkennst das Script im Taskmanger als Task mit dem Prozessnamen wscript.exe, oder wenn es via cscript aufgerufen wurde mit cscript.exe.
Zu Beachten: Das Script benennt nur neu hinzukommende Dateien um, die seit dem Start des Scriptes hinzugekommen sind.

Grüße Uwe
Äquivalentes Script in Powershell
01.
<#
02.
    Monitors folder for new files and renames specific files
03.
#>
04.
# Variables -------------------------
05.
# local folder path to monitor
06.
    $localFolderPath = "C:\Temp\source" 
07.
# interval to check for changes
08.
    $intMonitorInterval = 2
09.
# file pattern in folder to monitor
10.
    $strFilePattern = "%001.pdf"
11.
# -----------------------------------
12.

13.
# get seperate drive and path for wql query specific formatting
14.
$strDrive = $localFolderPath.Split("\")[0]
15.
$localFolderPath.TrimEnd("\")
16.
$strPath = $localFolderPath.Split(":")[1].Replace("\","\\")+"\\"
17.

18.
# action fired when event occurs
19.
$eventaction = {
20.
    #object which fired the event
21.
    $obj = $Event.SourceEventArgs.NewEvent.TargetInstance
22.
    
23.
    #create reference to a wmi-Object to get access to a function which converts wmi-datetime-strings to .net DateTime-Object
24.
    $objWMI = (gwmi -Class "Win32_Process")[0]
25.
    $fileModifiedDate = $objWMI.ConvertToDateTime($obj.LastModified)
26.
    #new filename
27.
    $newName = "$(get-date $fileModifiedDate -Format 'dd.MM.yyyy HH.mm.ss').pdf"
28.
    #rename the file
29.
    Rename-Item -Path $obj.Name -NewName $newName
30.
    #write some info to the console
31.
    write-host "Neue Datei im Ordner: '"$obj.Name"' wurde umbenannt in '"$newname"'"
32.
}
33.

34.
# WQL Query which monitors a folder every x seconds for a new file appearing with a specific filename
35.
$query = "Select * From __InstanceCreationEvent WITHIN $intMonitorInterval`
36.
          where TargetInstance ISA 'CIM_DataFile'`
37.
          and TargetInstance.Drive = '$strDrive'`
38.
          and TargetInstance.Path = '$strPath'`
39.
          and TargetInstance.Name like '$strFilePattern'"
40.

41.
#actually register Event-Subscriber
42.
Register-WmiEvent -query $query -SourceIdentifier "Monitor Folder Watcher" -action $eventaction
43.

44.
# to end monitoring the event, call
45.
# Unregister-Event -SourceIdentifier "Monitor Folder Watcher"
Bitte warten ..
Mitglied: rubberman
01.12.2013, aktualisiert um 14:27 Uhr
Hallo colinardo,

fast genauso hatte ich es eben auch zusammen geschrotet. Du warst schneller

01.
Option Explicit
02.

03.
Const Path = "%userprofile%\Desktop\Scanner"
04.
Const FindLike = "%.001.pdf"
05.
Const Interval = 1
06.

07.
Dim objWSH, objFSO, objWMI, objEvent, colEvents
08.
Dim strPath, strDrive, strFolder, strFoundFullName, strFoundCreationDate, _
09.
  strYear, strMonth, strDay, strHour, strMinute, strSecond, strNewFullName
10.

11.
Set objWSH = CreateObject("WScript.Shell")
12.
Set objFSO = CreateObject("Scripting.FileSystemObject")
13.
objWSH.CurrentDirectory = objFSO.GetParentFolderName(WScript.ScriptFullName)
14.
strPath = objWSH.ExpandEnvironmentStrings(Path)
15.
strPath = objFSO.GetAbsolutePathName(strPath)
16.
If Not objFSO.FolderExists(strPath) Then
17.
  MsgBox "Verzeichnis existiert nicht."
18.
  WScript.Quit
19.
End If
20.
strDrive = objFSO.GetDriveName(strPath)
21.
strFolder = Replace(Mid(strPath, 3) & "\", "\", "\\", 1, -1, vbTextCompare)
22.

23.
Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
24.
Set colEvents = objWMI.ExecNotificationQuery( _
25.
  "SELECT * FROM __InstanceCreationEvent" _
26.
  & " WITHIN " & CStr(Interval) _
27.
  & " WHERE Targetinstance ISA 'CIM_DataFile'" _
28.
  & " AND TargetInstance.Drive='" & strDrive & "'" _
29.
  & " AND TargetInstance.Path='" & strFolder & "'" _
30.
  & " AND TargetInstance.Name LIKE '" & FindLike & "'")
31.

32.
Do
33.
  Set objEvent = colEvents.NextEvent()
34.
  strFoundFullName = objEvent.TargetInstance.Name
35.
  strFoundCreationDate = objEvent.TargetInstance.CreationDate
36.
  strYear = Mid(strFoundCreationDate, 1, 4)
37.
  strMonth = Mid(strFoundCreationDate, 5, 2)
38.
  strDay = Mid(strFoundCreationDate, 7, 2)
39.
  strHour = Mid(strFoundCreationDate, 9, 2)
40.
  strMinute = Mid(strFoundCreationDate, 11, 2)
41.
  strSecond = Mid(strFoundCreationDate, 13, 2)
42.
  strNewFullName = objFSO.BuildPath(objFSO.GetParentFolderName(strFoundFullName), _
43.
    strDay & "." & strMonth & "." & strYear & "." & strHour & "." & strMinute & "." & strSecond & ".pdf")
44.
  objFSO.MoveFile strFoundFullName, strNewFullName
45.
Loop
Grüße
rubberman
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Wlan-adapter such algorithmus in batch
gelöst Frage von TicoWriteBatch & Shell7 Kommentare

Hallo zusammen, Ich möchte einen Wlan-adpater such algorithmus in batch erstellen, dazu fehlt mir aber der befehl in Dos. ...

Batch & Shell
Batch Programm (Ping funktion)
gelöst Frage von MedicalAdBatch & Shell1 Kommentar

Servus Leute, ich versuche ein Batch Pprogramm zu schreiben das die Eingabe des Users Pingt. Ich habe es auch ...

Batch & Shell
Batch für das Tool CSVSplitter
Frage von rohu2007Batch & Shell4 Kommentare

Hallo Zusammen, ich benötige eure Hilfe, ist für jemanden vielleicht ein Klaks, aber ich habe keinen Plan davon. Ich ...

Microsoft Office
Excel Such- und Vergleichsfunktion
gelöst Frage von oesi1989Microsoft Office15 Kommentare

Hallo zusammen, ich habe 2 Tabellen mit Name, Vorname und Arbeitgeber. 1. Tabelle Name Vorname Geb-Datum Arbeitgeber Straße Ort ...

Neue Wissensbeiträge
Humor (lol)
Preisvertipper
Information von Dilbert-MD vor 4 TagenHumor (lol)8 Kommentare

Moin! weil heute Freitag ist, zeige ich Euch den Preisvertipper der Woche: vergesst den Acer Predator 21x, der ist ...

Windows Update
Sicherheitsupdate für SQL Server 2014 SP3
Information von sabines vor 5 TagenWindows Update2 Kommentare

Für den SQL Server 2014 existiert ein Sicherheitsupdate. Laut KB Artikel wird es als CU3 angezeigt: Server 2014 SP3 ...

Backup

Veeam Agent für MS Windows - neue Version verfügbar (bedingt jedoch offenbar .NET Framework 4.6)

Information von VGem-e vor 6 TagenBackup1 Kommentar

Moin Kollegen, einer unserer Server zeigte grad an, dass für o.g. Software ein Update verfügbar ist. Ob ein evtl. ...

Python

Sie meinen es ja nur gut - Microsoft hilft python-Entwicklern auf unnachahmliche Weise

Information von DerWoWusste vor 8 TagenPython2 Kommentare

Stellt Euch vor, Ihr nutzt python unter Windows 10 und skriptet damit regelmäßig Dinge. Nach dem Update auf Windows ...

Heiß diskutierte Inhalte
Windows Server
Lange Wartezeiten beim speichern und öffnen auf Win Server 2019
Frage von installerWindows Server46 Kommentare

Hallo, habe ein Problem mit langen Wartezeiten beim öffnen / speichern von Office Dokumenten etc. auf Netzlaufwerken auf einem ...

LAN, WAN, Wireless
Durchblick im Ubiquiti Dschungel
Frage von installerLAN, WAN, Wireless26 Kommentare

Hallo, ich möchte gerne ein Wohnhaus mit Ubiquiti WLAn Access Points (inkl. Mesh Funktion) austatten und auch eine grafische ...

Utilities
TeamViewer - Software installieren mit Admin Account
Frage von gwitzigUtilities26 Kommentare

Hallo, ich bin bei einem Großkunden und muss einen Hotfix (Windows 7 Notebook) installieren. Habe es mit TeamViewer Version ...

Grafikkarten & Monitore
Server mit extra Graphikkarte
gelöst Frage von EuroPCGrafikkarten & Monitore18 Kommentare

Moin, ich habe hier ein Angebot unseres IT- Dinstleisters über einen Server mit Xeon E2176G Prozessor. Laut Intel hat ...