Gezocht programma met zekere functionaliteit.
-
- Berichten: 2.589
Gezocht programma met zekere functionaliteit.
Ik ben op zoek naar een programma met volgende functionaliteit:
Controleren of een file bestaat, nog in gebruik is en zo neen deze file copyeren en saven op een andere schijf naderhand deze file verwijderen.
Ik heb al wat proberen te zoeken maar ik heb totaal geen idee naar wat ik moet zoeken, iemand enig idee?
Groeten.
Controleren of een file bestaat, nog in gebruik is en zo neen deze file copyeren en saven op een andere schijf naderhand deze file verwijderen.
Ik heb al wat proberen te zoeken maar ik heb totaal geen idee naar wat ik moet zoeken, iemand enig idee?
Groeten.
- Berichten: 7.390
Re: Gezocht programma met zekere functionaliteit.
Dat lijkt me wel doenbaar om te schrijven in VBA. Enig vraagje om de haalbaarheid te testen: hoe wil je deze files bepalen? Enumeratie? Manueel ingeven? Alles systematisch laten controleren in een dir?
"C++ : Where friends have access to your private members." Gavin Russell Baker.
- Berichten: 5.609
Re: Gezocht programma met zekere functionaliteit.
En waarvoor wil je dat programma gebruiken? Het lijkt me dat je eigenlijk iets anders zoekt. Het is namelijk niet eenvoudig om te detecteren of een file nog in gebruik is. Niet alle programma's plaatsen "locks" op files die ze gebruiken.Bert F schreef:Ik ben op zoek naar een programma met volgende functionaliteit:
Controleren of een file bestaat, nog in gebruik is en zo neen deze file copyeren en saven op een andere schijf naderhand deze file verwijderen.
Ik heb al wat proberen te zoeken maar ik heb totaal geen idee naar wat ik moet zoeken, iemand enig idee?
Groeten.
What it all comes down to, is that I haven't got it all figured out just yet
And I've got one hand in my pocket and the other one is giving the peace sign
-Alanis Morisette-
And I've got one hand in my pocket and the other one is giving the peace sign
-Alanis Morisette-
-
- Berichten: 2.589
Re: Gezocht programma met zekere functionaliteit.
Manueel ingeven of files uit bepaalde dir.Dat lijkt me wel doenbaar om te schrijven in VBA. Enig vraagje om de haalbaarheid te testen: hoe wil je deze files bepalen? Enumeratie? Manueel ingeven? Alles systematisch laten controleren in een dir?
Dit verklaard mss in eens alles, ik doe simulaties waarvan de bestanden erg groot worden. dit programma schrijft zijn resultaat enkel op een welbepaalde schijf, echter deze is maar zo'n 1gb groot.En waarvoor wil je dat programma gebruiken? Het lijkt me dat je eigenlijk iets anders zoekt. Het is namelijk niet eenvoudig om te detecteren of een file nog in gebruik is. Niet alle programma's plaatsen "locks" op files die ze gebruiken.
De output van een simulatie is zo'n 250mb dus na vier is de schijf vol.
Het simuleren duurt ook nog eens tergend lang reken ongeveer op zo'n 5 a 6h voor eentje, waarbij er maar één van de vier procesoren gebruikt wordt als ik nu meerdere simulaties parallel run, ik heb toch vier procesoren dan is het mij al dikwils voorgekomen dat als ik 's morgens opsta (ja want die simulaties laat ik liefst 's nachts bollen) de schijf toch weer niet vol is waardoor mijn simulator gestopt is.
Daarom dat ik dacht de files te controleren en na te kijken of ze door de sim gelockt zijn of dat een andere (ook zelf in te geven) file bestaat want dan weet ik dat de vorige file afgewerkt is deze dan te copyeren en te verwijderen van de eerste schijf.
Iemand enig idee?
Groeten.
- Berichten: 6.905
Re: Gezocht programma met zekere functionaliteit.
Op linux zou je met het terminal commando lsof periodiek kunnen kijken. Een python programma om dit te doen lijkt mij niet echt moeilijk te zijn.
Het vel van de beer kunnen verkopen vraagt moeite tenzij deze dood voor je neervalt. Die kans is echter klein dus moeten we zelf moeite doen.
-
- Berichten: 2.589
Re: Gezocht programma met zekere functionaliteit.
Ik was net ook al aan denken dat ik mss gemakelijker zelf iets in een kan steken dat dit kan dan achter zon program te zoeken.
Bvb in matlab zou ik dan nodig hebben:
1)om de zoveel tijd even aandacht (zodaning dat ik niet in een stomme oneindige while loop moet zitten)
2)indien een file bestaat (namelijk de volgende )dan weet ik dat de vorige niet meer in gebruik is lees deze vorige dan==>>
fid = fopen(filname,'r');
A=fscanf(fid,'%c',inf); %
fprintf(fidnew,A,%c);
3)maak nu de oorspronkelijk file gelijk aan niks:
fid = fopen(filname,'w');
fprintf(fid,0);
zoiets? Hoe regel ik dat om de zoveel kijken nog(1)?
Groeten.
Bvb in matlab zou ik dan nodig hebben:
1)om de zoveel tijd even aandacht (zodaning dat ik niet in een stomme oneindige while loop moet zitten)
2)indien een file bestaat (namelijk de volgende )dan weet ik dat de vorige niet meer in gebruik is lees deze vorige dan==>>
fid = fopen(filname,'r');
A=fscanf(fid,'%c',inf); %
fprintf(fidnew,A,%c);
3)maak nu de oorspronkelijk file gelijk aan niks:
fid = fopen(filname,'w');
fprintf(fid,0);
zoiets? Hoe regel ik dat om de zoveel kijken nog(1)?
Groeten.
- Berichten: 5.609
Re: Gezocht programma met zekere functionaliteit.
Ik ben bang dat matlab zoiets niet kan... ](*,)Bvb in matlab zou ik dan nodig hebben:
Ik denk niet dat matlab locks kan controleren. Grote files kopieren op de manier die je aangeeft lijkt me ook moeilijk, ik denk dat matlab dan eerst de files gaat willen volledig laden, en dat je dus met 500Mb aan overtollige ruimte op je RAM zit.
Misschien beter eens kijken naar Java, python, VB, ...
What it all comes down to, is that I haven't got it all figured out just yet
And I've got one hand in my pocket and the other one is giving the peace sign
-Alanis Morisette-
And I've got one hand in my pocket and the other one is giving the peace sign
-Alanis Morisette-
- Berichten: 5.679
Re: Gezocht programma met zekere functionaliteit.
Kan ook met een simpel .bat scriptje lijkt me:
Code: Selecteer alles
:verplaats
move c:\voorbeeld.doc d:\
if not exist d:\voorbeeld.doc goto verplaats
In theory, there's no difference between theory and practice. In practice, there is.
-
- Berichten: 2.589
Re: Gezocht programma met zekere functionaliteit.
bij dit bat scriptje hoe zie ik dat de computer het niet nodeloos veel gaat doen? maw hoe is ingebouwd dat het niet alles van mijn procesor vraagt?
Groeten.
Groeten.
-
- Berichten: 473
Re: Gezocht programma met zekere functionaliteit.
In VBA is dat zeker een makkie op voorwaarde dat je "Microsoft Scripting Runtime" gebruikt.
Via Extra\Verwijzingen "Microsoft Scripting Runtime" in de lijst zoeken en aanvinken.
Dan in code
BuildPath
CopyFile
CopyFolder
FileExists
MoveFile
enz
enz
enz... ...
](*,) eens FileSystemObject
Via Extra\Verwijzingen "Microsoft Scripting Runtime" in de lijst zoeken en aanvinken.
Dan in code
Het object "fso" heeft een hele boel methoden zoalsDim fso As FileSystemObject
Set fso = New FileSystemObject
"hier komt jouw code voorbeeld:"
If fso.FolderExists(txtP1Folder.Text) = False Then
End If
set fso = Nothing
BuildPath
CopyFile
CopyFolder
FileExists
MoveFile
enz
enz
enz... ...
](*,) eens FileSystemObject
-
- Berichten: 2.589
Re: Gezocht programma met zekere functionaliteit.
oké bedankt volgend bat filtje werkt al perfect:
:verplaats
move c:\test\test.txt c:\test\test2.txt
CHOICE /C:x /T:x,300 > NUL
if not exist c:\test\test2.txt goto verplaats
nu controleert die om de 5min.
Groeten.
:verplaats
move c:\test\test.txt c:\test\test2.txt
CHOICE /C:x /T:x,300 > NUL
if not exist c:\test\test2.txt goto verplaats
nu controleert die om de 5min.
Groeten.
- Berichten: 7.390
Re: Gezocht programma met zekere functionaliteit.
Enkele functies verzameld in VB:
Puzzel ze zelf maar in elkaar en je kan ermee maken wat je wil denk ik.
Code: Selecteer alles
Function FileAlreadyOpen(FullFileName As String) As Boolean
' returns True if FullFileName is currently in use by another process
' example: If FileAlreadyOpen("C:\FolderName\FileName.xls") Then...
Dim f As Integer
f = FreeFile
On Error Resume Next
Open FullFileName For Binary Access Read Write Lock Read Write As #f
Close #f
' If an error occurs, the document is currently open.
If Err.Number <> 0 Then
FileAlreadyOpen = True
Err.Clear
'MsgBox "Error #" & Str(Err.Number) & " - " & Err.Description
Else
FileAlreadyOpen = False
End If
On Error GoTo 0
End Function
Sub FileExists()
Dim FSO
Dim file As String
file = "C:\Test.xls" ' change to match the file w/Path
Set FSO = CreateObject("Scripting.FileSystemObject")
If Not FSO.FileExists(file) Then
MsgBox file & " was not located.", vbInformation, "File Not Found"
Else
MsgBox file & " has been located.", vbInformation, "File Found"
End If
End Sub
Sub CopyFile()
Dim FSO
Dim file As String, sfol As String, dfol As String
file = "test.xls" ' change to match the file name
sfol = "C:\" ' change to match the source folder path
dfol = "E:\" ' change to match the destination folder path
Set FSO = CreateObject("Scripting.FileSystemObject")
If Not FSO.FileExists(sfol & file) Then
MsgBox sfol & file & " does not exist!", vbExclamation, "Source File Missing"
ElseIf Not FSO.FileExists(dfol & file) Then
FSO.CopyFile (sfol & file), dfol, True
Else
MsgBox dfol & file & " already exists!", vbExclamation, "Destination File Exists"
End If
End Sub
Sub MoveFile()
Dim FSO
Dim file As String, sfol As String, dfol As String
file = "test.xls" ' change to match the file name
sfol = "C:\" ' change to match the source folder path
dfol = "E:\" ' change to match the destination folder path
Set FSO = CreateObject("Scripting.FileSystemObject")
If Not FSO.FileExists(sfol & file) Then
MsgBox sfol & file & " does not exist!", vbExclamation, "Source File Missing"
ElseIf Not FSO.FileExists(dfol & file) Then
FSO.MoveFile (sfol & file), dfol
Else
MsgBox dfol & file & " already exists!", vbExclamation, "Destination File Exists"
End If
End Sub
Sub DeleteFile()
Dim FSO
Dim file As String
file = "C:\test.xls" ' change to match the file w/Path
Set FSO = CreateObject("Scripting.FileSystemObject")
If FSO.FileExists(file) Then
FSO.DeleteFile file, True
Else
MsgBox file & " does not exist or has already been deleted!" _
, vbExclamation, "File not Found"
End If
End Sub
Sub MoveSomeFiles()
Dim FSO As Object
Dim FromPath As String
Dim ToPath As String
Dim Fdate As Date
Dim FileInFromFolder As Object
For Each FileInFromFolder In FSO.getfolder(FromPath).Files
Fdate = Int(FileInFromFolder.DateLastModified)
'Copy files from 1-Oct-2006 to 1-Nov-2006
If Fdate >= DateSerial(2006, 10, 1) And Fdate <= DateSerial(2006, 11, 1) Then
FileInFromFolder.Copy ToPath
End If
Next FileInFromFolder
End Sub
Puzzel ze zelf maar in elkaar en je kan ermee maken wat je wil denk ik.
"C++ : Where friends have access to your private members." Gavin Russell Baker.
-
- Berichten: 473
Re: Gezocht programma met zekere functionaliteit.
@In fysics I trust :
Ik mis maar één iets in jouw code en dat is het verwijderen van de referentie naar de objecten "FSO" met de instructie "set FSO = nothing"
Door dat niet te doen krijg je memory leaks omdat het geheugen gebruikt door FSO niet vrijgegevn wordt op het einde van elke routine.
Ik mis maar één iets in jouw code en dat is het verwijderen van de referentie naar de objecten "FSO" met de instructie "set FSO = nothing"
Door dat niet te doen krijg je memory leaks omdat het geheugen gebruikt door FSO niet vrijgegevn wordt op het einde van elke routine.
- Berichten: 7.390
Re: Gezocht programma met zekere functionaliteit.
Inderdaad, had ik over het hoofd gezien. Je hebt gelijk!
"C++ : Where friends have access to your private members." Gavin Russell Baker.
-
- Berichten: 2.589
Re: Gezocht programma met zekere functionaliteit.
je Visual Basic zal zeker wel werken hoor. maar ik heb daar nog nooit mee geprogrammeerd en heb daar ook niet direct een compiler voor.
En het bat programma werkt nu onmiddellijk dus voorlopig kan ik daar mee door.
Groeten.
En het bat programma werkt nu onmiddellijk dus voorlopig kan ik daar mee door.
Groeten.