Vraag & Antwoord

Programmeren

Archive Attribute in een variabele

11 antwoorden
  • Ik zal wel een van de zeldzame gebruikers van Clipper/xHarbour Builder zijn in Nederland. Met de mij ter beschikking staande versie van xHB is er geen Functie beschikbaar om de Archive attribute op te vragen. In de nieuwere versies wel ( fa = FileAttr(<name>) ), maar dan moet ik weer 150 dollar dokken. Hoe krijg ik dit bit (in weze byte, letter (A)) in een variabele? perloc
  • Geen enkele reactie gekomen op mijn vraag. Dan wat konkreter. Kan iemand een programmaatje maken in de vorm van: Attrib_prog(<name>.ext) waarbij attrib_prog het te maken programma voorstelt en <name>.ext de te onderzoeken file voorstelt? Dus attrib_prog genereert van <name>.ext de attributes. Bij gebruik zou ik dan het volgende commando kunnen geven: A_but = attrib_prog(<name>.ext) A_but bevat dan de attributes van <name>.ext MVG perloc
  • Zou dat niet gewoon met het dir commando kunnen? DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N] [/O[[:]sortorder]] [/P] [/Q] [/R] [/S] [/T[[:]timefield]] [/W] [/X] [/4] [drive:][path][filename] Specifies drive, directory, and/or files to list. [b:344aef4139] /A Displays files with specified attributes. attributes D Directories R Read-only files H Hidden files A Files ready for archiving S System files I Not content indexed files L Reparse Points - Prefix meaning not [/b:344aef4139] /B Uses bare format (no heading information or summary). /C Display the thousand separator in file sizes. This is the default. Use /-C to disable display of separator. /D Same as wide but files are list sorted by column. /L Uses lowercase. /N New long list format where filenames are on the far right. /O List by files in sorted order. sortorder N By name (alphabetic) S By size (smallest first) E By extension (alphabetic) D By date/time (oldest first) G Group directories first - Prefix to reverse order /P Pauses after each screenful of information. /Q Display the owner of the file. /R Display alternate data streams of the file. /S Displays files in specified directory and all subdirectories. /T Controls which time field displayed or used for sorting timefield C Creation A Last Access W Last Written /W Uses wide list format. /X This displays the short names generated for non-8dot3 file names. The format is that of /N with the short name inserted before the long name. If no short name is present, blanks are displayed in its place. /4 Displays four-digit years Switches may be preset in the DIRCMD environment variable. Override preset switches by prefixing any switch with - (hyphen)--for example, /-W.
  • De bedoeling is dat "A_but = attrib_prog(<name>.ext)" in een programma wordt gebruikt. Ik wil weten of het archieve bit "A" van een bepaalde file is gezet. Als het is gezet dat moet van de file een backup worden gemaakt. Dat moet gebeuren voor een hele rits files, allen met "A" gezet moeten worden gecopiëerd. Ik kan ze natuurlijk ook allen copiëren maar dat duurt een tijd omdat de files groot kunnen zijn en een flink aantal. Alleen een paar hebben het archieve bit gezet, zodat de backup tijd maar kort duurt. Ik schiet niets op met een DIR commando, noch met een ATTRIB commando. De laatste zet de attributes op het scherm, maar ik moet ze in een variabele hebben om er iets mee te kunnen. MVG perloc
  • Met dir kun je een lijst produceren van alleen bestanden met de archive attribute gezet. Die lijst kun je qua details nog behoorlijk aanpassen met dir opties. Daar moet vast wel een werkbare bestandslijst van te maken zijn. Maar je kunt het probleem wellicht op een andere manier benaderen. Je kunt de bestandsdatum van originele files vergelijken met die van de gebackupte. Nieuwere files zijn hoogstwaarschijnlijk gewijzigd. Dus kun je de files selecteren op het datumverschil, en aan de hand daarvan files al dan niet backuppen.
  • gerben, je snapt nog niet helemaal mijn probleem. IKZELF hoef niet te weten of een archieve is gezet, maar mijn programma! Met een DIR wordt de lijst op het scherm gezet. Daar heeft mijn programma niets aan. Die wil het zien in een variabele, en dan stuk voor stuk testen. M.a.w. mijn programma heeft in een van de vele menupunten er een om een backup te maken. Als daar ("Make backups") op wordt geselecteerd en met een CR geactiveerd, dan zoekt mijn programma uit van welke files de archieve bit is gezet en maakt daarvan een backup. Datum vergelijking is een mogelijkheid. Ik zal zien of er een routine beschikbaar is die de datum van een file kan lezen. Het heeft namelijk gewerkt. Er was een commando "Attrib(filename.dbf)" die het attribut van de file test, dus zo: If attrib(filename.dbf) = .t. doe dan de backup. Maar dat is van een nieuwere versie van de compiler. Om een of andere duistere reden ben ik de key van dat programma kwijtgeraakt en kan dat dus niet installeren. De oudere versie die wel werkt mist dit commando. Dus vandaar. Ik zal terugmelden of het is gelukt. Zelf nog niet aan gedacht. perloc
  • Ondertussen ben ik erachter dat de datum vergelijken ook niet gaat omdat ik geen commando beschikbaar heb om de datum van een file te lezen. perloc
  • Dir kan een lijst produceren. Deze kun je pipen naar en text file. Die text file moet je weer kunnen inlezen. Of het moet al een heel beroerde programmeertaal zijn, die je gebruikt.
  • Als je me kunt vertellen hoe ik een lijst kan "pipen" naar een tekst file dan ben ik eruit! Want een tekstfile kan ik zonder meer inlezen en bewerken. De programmeertaal die ik gebruik is de Clipper taal, maar dan zeer uitgebreid met vele andere commando's. Kijk maar eens op xHarbour.com of xHarbour.org Ik wil dat programma (mét de Attrib() functie) niet opnieuw aanschaffen want kost 150 dollar, zoiets. MVG perloc
  • dir>lijst.txt
  • Wat kan het leven eenvoudig zijn! Das krek wak wou! Daar kan ik mee werken. Hartelijk dank! MVG perloc

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.