Ik wil in turbo pascal een DOS-programma maken om temporary internet files van je PC te verwijderen. Hiervoor moet ik echter de submappen van "c:\documents and settings" kunnen uitlezen. Ik heb echter geen flauw idee hoe dit moet. Ik vind enkel Pascal commando's om bestanden te zoeken, niet voor mappen.
een map is ook een bestand. (Zei het met een speciaal attribuut)
[ Voor 41% gewijzigd door whoami op 02-09-2003 14:29 ]
https://fgheysels.github.io/
Waarom in Pascal en niet gewoon een Win32 console appje schrijven?
AMD Phenom II X4 // 8 GB DDR2 // SAMSUNG 830 SSD // 840 EVO SSD // Daar is Sinterklaas alweer!!
Wat je wil kan niet, botweg omdat de temporary internet files folder geen vaste gegarandeerde locatie is.
Correct methode is om via de Win32 API-call SHGetFolderPath de locatie van CSIDL_INTERNET_CACHE op te vragen.
Correct methode is om via de Win32 API-call SHGetFolderPath de locatie van CSIDL_INTERNET_CACHE op te vragen.
Ik ga het programma runnen van een DOS opstart-CD, dus daarom niet de methode van limoentje en curry684. Ik ga controleren of de bestanden op de standaard-locatie staan en zoja verwijderen. Zonee, dan worden ze niet verwijderd.
Dan kan het toch ook via een .BAT bestandje?
Idd.
Gewoon een deltree /y doen van die folder die normaal op die plaats moet staan die jij wilt verwijderen.
Gewoon een deltree /y doen van die folder die normaal op die plaats moet staan die jij wilt verwijderen.
https://fgheysels.github.io/
Dat heb ik geprobeerd: [rml][ DOS BATCH] alle mappen overlopen[/rml]Master__R schreef op 02 September 2003 @ 14:36:
Dan kan het toch ook via een .BAT bestandje?
Niemand die de DOS-commando's wist om door de mappen te lopen. Dus zal er een DOS-programma geschreven moeten worden. Probleem is dat ik enkel ervaring heb met proggen in Windows, dus dat is nog niet zo eenvoudig.
Er is geen standaardlocatie, dat varieert per Windows-versie en useraccount. Het kan dus nogmaals alleen betrouwbaar via de daarvoor geeigende Shell-functies.Ik ga controleren of de bestanden op de standaard-locatie staan en zoja verwijderen. Zonee, dan worden ze niet verwijderd.
Ik maak gewoon volgende map leeg:curry684 schreef op 02 september 2003 @ 14:40:
[...]
Er is geen standaardlocatie, dat varieert per Windows-versie en useraccount. Het kan dus nogmaals alleen betrouwbaar via de daarvoor geeigende Shell-functies.
c:\documents and settings\<username>\local settings\temporary internet files
Daar kan ik niets verkeerd mee doen. Niemand gaat in die map belangrijke bestanden plaatsen, en zoja, dan hebben ze pech
Ik moet dus enkel een script hebben om die <username> te bepalen, met andere woorden alle submappen van c:\documents and settings
Ik wil een bootable-DOS-CD maken die ik maar gewoon in een PC moet duwen en die dan alle virussen verwijderd. Soms werkt een PC met een virus zo slecht dat je hem amper nog kan opstarten.curry684 schreef op 02 September 2003 @ 14:43:
Kun je me nog eens langzaam uitleggen waarom je dit perse via de hopeloze omweg wil doen van een DOS-startup-CD met NTFS patching ipv simpelweg een programmaatje dat native onder Windows draait?
Nu is het mij gelukt om zo'n CD te maken en hij werkt. Het enige probleem is dat het scannen nogal lang duurt omdat hij veelt tijd steekt in het scannen van temporary internet files. Bij mensen met een grotere harde schijf neemt dit nogal veel plaats in beslag. En daarom wil ik die bestanden verwijderen net voordat de virusscanner zijn werk doet.
Met het FOR commando zou je toch gewoon alle userdirs door kunnen lopen (onder \Documents & Settings\), en dan in alle usermappen proberen de Temp. Inet Files te verwijderen?
AMD Phenom II X4 // 8 GB DDR2 // SAMSUNG 830 SSD // 840 EVO SSD // Daar is Sinterklaas alweer!!
FOR werkt enkel in Windows-console, niet onder DOS
Als je dan slim bent verwijder je je die bestanden even in safe modus voordat je boot met die CD. Of je gebruikt gewoon een handmatig commando, en start de scanner daarna met de hand opWimB schreef op 02 September 2003 @ 14:48:
[...]
Ik wil een bootable-DOS-CD maken die ik maar gewoon in een PC moet duwen en die dan alle virussen verwijderd. Soms werkt een PC met een virus zo slecht dat je hem amper nog kan opstarten.
Nu is het mij gelukt om zo'n CD te maken en hij werkt. Het enige probleem is dat het scannen nogal lang duurt omdat hij veelt tijd steekt in het scannen van temporary internet files. Bij mensen met een grotere harde schijf neemt dit nogal veel plaats in beslag. En daarom wil ik die bestanden verwijderen net voordat de virusscanner zijn werk doet.
Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)
Zo doe ik het tot hiertoe. Maar ik wil sneller kunnenThe_Eagle schreef op 02 september 2003 @ 15:12:
[...]
Als je dan slim bent verwijder je je die bestanden even in safe modus voordat je boot met die CD. Of je gebruikt gewoon een handmatig commando, en start de scanner daarna met de hand op
Bij mijn weten zit er al sinds DOS 2 of 3 een FOR commando in
Misschien niet zo uitgebreid als de Windows NT/9x versie, but hey, it's a start.
AMD Phenom II X4 // 8 GB DDR2 // SAMSUNG 830 SSD // 840 EVO SSD // Daar is Sinterklaas alweer!!
Sorry hoor, maar als je windows zo erg verbaggert is door een (of meerdere) virus(es), dan is het misschien toch wel veel nuttiger om eens te formatteren. Persoonlijk zou ik eerder backups maken, clean win install, en dan decent scannetje over al die backups heen...
Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info
Dat kan wel degelijk verkeerd gaan.WimB schreef op 02 September 2003 @ 14:44:
[...]
Ik maak gewoon volgende map leeg:
c:\documents and settings\<username>\local settings\temporary internet files
Daar kan ik niets verkeerd mee doen. Niemand gaat in die map belangrijke bestanden plaatsen, en zoja, dan hebben ze pech
Ik moet dus enkel een script hebben om die <username> te bepalen, met andere woorden alle submappen van c:\documents and settings
- Ten eerste heet de map 'Documents and Settings' per Windowsversie anders.
- Ten tweede mag je de harddrive C: niet hard encoden. WinXP staat bij mij op D:.
- Ten derde wordt de map 'Documents and Settings' bij onder meer Duitstalige XP-versies vertaald (ik geloof dat hij daar 'Dokumenten und Anlagen' heet).
- Ten vierde kan het zijn dat de bestanden die je wilt wissen als read-only gemarkeerd zijn of misschiens verbiedt NTFS je zelfs om de bestanden te benaderen.
Een goede grap mag vrienden kosten.
Nog even een tip. Misschien heb je nog ergens de good old Norton Commander op een floppy. Dan kun je heel comfortabel onder DOS kijken hoe de mappenstructuur in elkaar zit en alleen die bestanden wissen die je ook echt kwijt wilt. Bedenk wel dat de fysieke mappenstructuur onder Windows verborgen blijft. Onder DOS zul je een of meer mappen tegenkomen met namen zoals
C:\Documents and Settings\<username>\Local Settings\Temporary Internet Files\OLK1F
C:\Documents and Settings\<username>\Local Settings\Temporary Internet Files\OLK1F
Een goede grap mag vrienden kosten.
Verwijderd
Zoiets:
code:
1
2
3
4
5
6
7
8
9
10
11
12
| uses Dos;
var
DirInfo: SearchRec;
begin
FindFirst('C:\Docume~1\*.*', Directory, DirInfo);
while DosError = 0 do
begin
Writeln(DirInfo.Name);
FindNext(DirInfo);
end;
end. |
[ Voor 6% gewijzigd door Verwijderd op 02-09-2003 19:42 ]
Staat gewoon in je set-variabelen hoor:
HOMEDRIVE=C:
HOMEPATH=\Documents and Settings\inlognaam
En pascal is wel héél erg lang geleden, maar ik kon dit nog vinden:
HOMEDRIVE=C:
HOMEPATH=\Documents and Settings\inlognaam
En pascal is wel héél erg lang geleden, maar ik kon dit nog vinden:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| function GetDirs(const Path: PathStr):pathstr;
var S,c: PathStr;
function GetChildren(const Path: PathStr):pathstr;
var S: SearchRec;
begin
FindFirst(Path + '\*.*', anyfile, S);
while DosError = 0 do
begin
if (S.Attr and Directory <> 0) and (S.Name[1] <> '.') then
begin
findfiles(path+'\'+s.name);c:=GetChildren(Path + '\' + S.Name);
end;
FindNext(S);
end;
end;
begin
S := Path;
findfiles(thisdir[1]+':');
if S[Length(S)] = '\' then Dec(S[0]);
getchildren(s);
end; |
To study and not think is a waste. To think and not study is dangerous.
Maar die zijn onder DOS weer niet beschikbaar.slm schreef op 02 September 2003 @ 19:37:
Staat gewoon in je set-variabelen hoor:
HOMEDRIVE=C:
HOMEPATH=\Documents and Settings\inlognaam
....
[/code]
daar heb je helemaal gelijk in...
zul je helaas toch een filesearch moeten doen.
zul je helaas toch een filesearch moeten doen.
To study and not think is a waste. To think and not study is dangerous.
ik vond dit http://www.ericphelps.com/batch/registry/ReadingRegistry.zip
gaat over win98 en ik denk niet dat je voor winnt een regedit kunt vinden die onder dos draait.
gaat over win98 en ik denk niet dat je voor winnt een regedit kunt vinden die onder dos draait.
code:
dit is maar een voorbeeldje
1
2
3
4
5
6
7
8
9
| @echo off start /w regedit /e userdata.reg HKEY_LOCAL_MACHINE\System\CurrentControlSet\control\ComputerName\ComputerName type userdata.reg | find """ComputerName""" > userdata.bat del userdata.reg > nul echo set ComputerName=%%1>ComputerName.bat call userdata.bat del userdata.bat > nul del ComputerName.bat > nul echo Local ComputerName is %ComputerName% |
[ Voor 9% gewijzigd door PipoDeClown op 03-09-2003 20:20 ]
God weet alles, want hij is lid van de Mosad. To protect your freedom i will take that away from you. Mijn drankgebruik heeft ernstig te lijden onder mijn gezondheid.
Pagina: 1