[NT cmdline] Commando's voor deleten bepaalde Dirs

Pagina: 1
Acties:

  • n00bs
  • Registratie: Augustus 2002
  • Laatst online: 18:55

n00bs

Het is weer Zomer!

Topicstarter
Ik wil in een batch bestand de mogelijkheid krijgen om folders te verwijderen die beginnen (of als mogelijk eindigend) op een bepaalde string.

Ook zocht ik naar de mogelijkheid om bepaalde files te verwijderen als de create date van die files ongelijk is aan "today"

De commando's om simpelweg bepaalde filenames of dirs te verwijderen met 1 specifieke naam of met een bepaalde extensie is het probleem niet, maar ik heb hier bv Dir's die elke keer weer worden aangemaakt door bepaalde services die daarna weer verwijdert moeten worden deze eindigen altijd met .tmp (gaat om folders!)

Als iemand mij alleen op weg kan helpen met de flags dan kom ik er wel
PS het moet werken in Windows NT

[ Voor 5% gewijzigd door n00bs op 05-08-2003 12:09 ]


  • unfor
  • Registratie: Juli 2001
  • Laatst online: 09-05 09:04
deltree *.tmp ? ik snap je hele verhaal niet helemaal, met /? achter commando's kan je alle info krijgen, maar ik neem aan dat je dat weet ;P

  • n00bs
  • Registratie: Augustus 2002
  • Laatst online: 18:55

n00bs

Het is weer Zomer!

Topicstarter
Uhm sorry moet wel in Windows NT werken ;)
En het probleem met files die ongelijk zijn aan today is daar een mogelijkheid voor?

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

n00bs schreef op 05 augustus 2003 @ 12:08:
Uhm sorry moet wel in Windows NT werken ;)
Zet dan ook geen [DOS] in de topictitel als het om [NT4] gaat :o
*fixed* :P
En het probleem met files die ongelijk zijn aan today is daar een mogelijkheid voor?
Je kan dit misschien makkelijker / beter in iets als VBScript doen, maar klik levert bijvoorbeeld DOS rekenen met tijd en let dan ook op het script van c70070540. Een paar uurtjes spelen en je komt er wellicht wel :)

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • n00bs
  • Registratie: Augustus 2002
  • Laatst online: 18:55

n00bs

Het is weer Zomer!

Topicstarter
Dank u ;)
ff uitvogelen

  • LordMorgoth
  • Registratie: April 2003
  • Niet online

LordMorgoth

Valar Morghulis!

Is anders KIXstart misschien een optie?

Valar Morghulis! All men must die -- Jaqen H'ghar


Verwijderd

de volgende batch is niet precies wat je zoekt, maar door hier het een en ander aan te veranderen kan je het wel allemaal voor elkaar krijgen...

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
echo off

:: ***************************************************************************
:: batchfile for deleting files with a name consisting of a fixed number of 
:: charactres? and a specific extension
:: note: this doesnt look for content so be careful.
:: syntax: delshortfiles.cmd [directory aka "full path"] [number of charactres]
:: ***************************************************************************

:: ***************************************************************************
:: start of batch
:: setting variables
:: ***************************************************************************

set indexdir=c:\test
set tempdir=c:\test
set resultdir=c:\test\temp
set extens=.log

:: ***************************************************************************
:: indexing directory; finding files on extension
:: ***************************************************************************

dir %indexdir% /on | find /i "%extens%" >%tempdir%\index.txt
:: dir /ad /on geeft alleen dirs in index.txt

:: ***************************************************************************
:: selecting filename from index.txt 
:: filelist is a file made in the testlength batch
:: output testlength = commando.cmd (per file: copy %tempdir%\{files].extension %resultdir%
:: where files are files with extension %extens% and a filename of a specified length
:: ***************************************************************************

if exist %tempdir%\commando.cmd del %tempdir%\commando.cmd
if not exist %tempdir%\temp md %tempdir%\temp

for /F "tokens=4" %%a in (%tempdir%\index.txt) do call testlength2 %%a
:: door tokens niet te definieren en %%b %%c ed te gebruiken kan je zowel filenaam en datum meenemen naar testlength2.cmd

call %tempdir%\commando.cmd

dir %resultdir%
pause


and batch testlength2.cmd:

code:
1
2
3
4
5
6
set filenaam=%1
set test=%filenaam:~8,4%
:: aangezien de lengte niet belangrijk is kan je de laatste 4 chars testen met set test=%filenaam:~-4%
:: overigens helemaal overbodige test geworden :) ... dit kan je vervangen door een datum test.
if "%test%"=="%extens%" echo copy %tempdir%\%filenaam% %resultdir% >>%tempdir%\commando.cmd
:: dit genereert de uituidelijk cmd file die de aktie uitvoert...

[ Voor 24% gewijzigd door Verwijderd op 05-08-2003 13:31 ]

Pagina: 1