Rename bestandsnaam.

Status
Niet open voor verdere reacties.

Crizke

Gebruiker
Lid geworden
11 feb 2013
Berichten
51
Hallo...
Ik heb een bestandje (C:\Thuis\Verschillende\Voetbal.txt) op mijn pc staan. Ik zou graag een programma in Dos willen ontwikkelen die de bestandsnaam veranderd.
Er zit wel een addertje onder het gras. Het txt bestandje is gekoppeld aan een access database. Het verschijnt dus enkel als de database geopend wordt (er staat dan de datum en tijd in van openen), en het is weg als de database gesloten wordt.
De bestandsnaam zou dezelfde moeten blijven, enkel en alleen op het moment dat ik de database open, zou de huidige tijd en datum eraan moeten gekoppeld worden.
In dit geval zou het dus van "Voetbal.txt" naar "Voetbal(20130226-08:39:35).txt moeten worden...

Iemand een idee hoe ik hier het best mee start???

Tnx ;-)
C

Momenteel zit ik op dit punt...

Code:
cls
Set WorkPath=C:\Thuis\Verschillende
Set Site=
Set Port= 21

SET SCHIJF=C:\Thuis\Verschillende

cls
CD\
cd %WorkPath%

pause

SETLOCAL enabledelayedexpansion

  set hr=%time:~0,2%
  if "%hr:~0,1%" equ " " set hr=0%hr:~1,1%

RENAME Voetbal.txt Voetbal(%date:~-4,4%%date:~-10,2%%date:~-7,2%-%hr%:%time:~3,2%:%time:~6,2%).txt

Bij het ingeven van dit, krijg ik de foutmelding "Toegang geweigerd" ... Hoe komt dit???

Tnx
 
Laatst bewerkt door een moderator:
omdat het bestand in "bezit" is van je database. je kunt wel het bestand copieren en dan renamen maar je hebt geen toegang tot dit bestand
 
@ Wampier

Ik heb dit in een bat gestoken.
Code:
cls
Set WorkPath=C:\Thuis\Verschillende
Set Site=
Set Port= 21

SET SCHIJF=C:

CD\
cd %WorkPath%

SETLOCAL enabledelayedexpansion

  set hr=%time:~0,2%
  if "%hr:~0,1%" equ " " set hr=0%hr:~1,1%

RENAME Voetbal.txt Voetbal(%date:~-4,4%%date:~-10,2%%date:~-7,2%_%hr%h-%time:~3,2%m-%time:~6,2%).txt

Pause

De "pause" op het einde is enkel en alleen ter controle om te zien of er geen foutmeldingen waren....

Ik heb dit nu "uitgevoerd als administrator" en dan lukt dit. :thumb: Ik open de Db, ik start het bat. en de naam verandert met datum erachter.
Kan ik dit ook automatiseren? Bv elke keer Db geopend wordt dat hij automatisch het txt bestandje van naam veranderd via de bat? :eek:
 
Is dat niet makkelijker vanuit access zelf? technisch gezien kan het wel met een service, maar dat is echt zware overkill voor wat jij wil.

Je moet dus een soort van trigger hebben. welke actie opent de database? en kun je hier eventueel de bat aan koppelen? de batchtaal is niet echt gemaakt voor dit soort taken.
 
Zou ik dan om het "simpel" te houden bv in mijn access een functie ofzo kunnen maken die zegt dat als ik de db open hij die batch-file moet uitvoeren???
 
waarschijnlijk kan dat. hoe wordt de textfile uberhaubt gemaakt? kan die functie niet aangepast worden?
 
Code:
Private Sub Form_Close()

    On Error Resume Next
    
    Y0CtrD = "C:\Thuis\Verschillende\Voetbal.txt"
    Kill Y0CtrD

End Sub

Om te sluiten.

Het openen gebeurd bij mij in een functie Autostart...

Code:
 Y0CtrD = "C:\Thuis\Verschillende\Voetbal.txt"
    
    If CrtDubGbr = True And Dir(Y0CtrD) <> "" Then
        If Interactief = True Then
            Call Boodschappen("00018", Boodschap, Titel)
            MsgBox Boodschap, vbCritical, Titel
        End If
        DoCmd.Quit acQuitSaveAll
    End If
    
    Open Y0CtrD For Output As #1
        Write #1, Now(), Rst.PaNamb
    Close #1

Zoiets gebeurt er op het einde vd functie
 
Laatst bewerkt:
hier wordt het bestandje gewist. je zou deze actie ook kunnen gebruiken om de rename uit te voeren natuurlijk.
 
Ik had men vorige post aangepast... :) Maar idd, het is wsl veel simpeler van dan de functie even aan te passen... :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan