[Scripting]Automatisch map leegmaken

Pagina: 1
Acties:
  • 1.267 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

  • Darksaga
  • Registratie: April 2003
  • Laatst online: 02-12-2023
Beste mensen,

Ik wil graag een map die vol staat met andere mappen en bestanden automatisch leegmaken in een sceduled task.

Ik heb het geprobeerd met de commando's del en rd
mijn vraag is dus welke syntax ik moet gebruiken.

als ik doe:
C:\>rd c:\temp\*.*
zeg ie:
The filename, directory name, or volume label syntax is incorrect.

en als ik doe:

C:\>rd c:\temp\ /s
c:\temp\, Are you sure (Y/N)? y

dan gooid hij heel de dir weg. .

Ik kan dus niet heel de dir weggooien en opnieuw aanmaken want dan is de rechten structuur weg.

Kan iemand mij helpen?
Alvast bedankt

Acties:
  • 0 Henk 'm!

  • Herby
  • Registratie: Januari 2004
  • Laatst online: 17-01-2022

Herby

Stalknecht

Met Del tree dan?

[ Voor 18% gewijzigd door Herby op 21-04-2005 12:00 ]

Compromis? Hoezo heb ik het mis dan?! | Geluk = gelul met een K | з=(•̪●)=ε


Acties:
  • 0 Henk 'm!

  • Nielson
  • Registratie: Juni 2001
  • Laatst online: 14:49
Dit zou wel moeten werken dacht ik :

del /q /s c:\temp\*.*

/edit : Welk OS gaat het trouwens om ?

[ Voor 27% gewijzigd door Nielson op 21-04-2005 12:02 ]


Acties:
  • 0 Henk 'm!

  • Darksaga
  • Registratie: April 2003
  • Laatst online: 02-12-2023
Deltree zit niet in xp/2k

en die andere optie werkt ook niet want dan verwijderd hij alleen bestanden en geen mappen.

Help!

Acties:
  • 0 Henk 'm!

  • Triqster
  • Registratie: Februari 2003
  • Laatst online: 22-03-2023
Ik denk de het volgende de uplossing is die je wil hebben voor in een batch bestandje:
quote: clean_tmp.bat
@echo off
cd %temp%
del /f /s /q *.*
helaas blijven nog wel de mappen staan die leeg zijn...

Je kunt ook als alternatief doen :
quote: clean_tmp.bat
@echo off
rd /s /q %temp%
md %temp%
Dan wordt de temp dir removen en meteen weer op de juiste plaats aangemaakt

[ Voor 53% gewijzigd door Triqster op 21-04-2005 12:15 ]


Acties:
  • 0 Henk 'm!

Anoniem: 51022

Waarom zou

rd /s /q c:\temp

Niet werken? (tenminste met XP)

Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Triqster:
cd %temp%
del /f /s /q *.*

lijkt me erg gevaarlijk. Wat als %temp% niet bestaat? Dan ben je alles in je huidige directory kwijt :o
Dus liever del /q /s /f c:\temp\*.* (of de %temp% uitlezen en zeker weten dat je in de juiste dir zit).

Darksaga: als je per se de temp dir wilt blijven laten bestaan wegens de rechten: waarom niet achteraf de rechten op de dir weer goed zetten in je batch/script? Maar inderdaad, aangezien je zelf del al noemt; wat is er mis met /s ?

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


Acties:
  • 0 Henk 'm!

  • Coffeemonster
  • Registratie: Juli 2000
  • Laatst online: 17-06 15:20
Het volgende batchbestand zou moeten werken:
code:
1
2
3
4
@echo off
cd c:\temp
del /f /s /q *.*
for /d %%m in (*.*) do rd /q /s %%m

In twee stappen dus.

offtopic:
Een mooie 1000ste post

Look for something long enough and you will find it; look for something without understanding, and it will find you.
A normal day at the stock exchange


Acties:
  • 0 Henk 'm!

  • Darksaga
  • Registratie: April 2003
  • Laatst online: 02-12-2023
Ja ok dat batchbestand werkt wel maar dit werkt dus weer niet op een netwerklocatie,
je zou dus eerst een maping moeten maken.

Dit moet toch makkelijker kunnen?

In elk geval bedankt

[ Voor 7% gewijzigd door Darksaga op 21-04-2005 12:51 ]


Acties:
  • 0 Henk 'm!

  • Coffeemonster
  • Registratie: Juli 2000
  • Laatst online: 17-06 15:20
Kan je die mapping niet tijdelijk maken met het NET USE commando? Anders zou je op zoek moeten gaan naar 3-rd party tooltjes. Overigens staat hier een vbs-script waarmee je ook de inhoud van directories kan verwijderen.

Look for something long enough and you will find it; look for something without understanding, and it will find you.
A normal day at the stock exchange


Acties:
  • 0 Henk 'm!

  • Enfer
  • Registratie: Februari 2004
  • Laatst online: 27-06 16:09
ikzelf gebruik dit scriptje:

@ echo off
cd\
cd windows\temp
echo J | del *.*

Acties:
  • 0 Henk 'm!

  • Darksaga
  • Registratie: April 2003
  • Laatst online: 02-12-2023
Ok maar dan zal hij de subdirectory's toch wel laten staan?

Ik wil graag ook dat hij ook alle subdirectory's weggooid!.
Met die vbs werkt het trouwens wel maar ik vind het wel een beetje jammer dat ik die taal niet zo goed ken. ik zou zeggen dat het ook mogelijk moet zijn in een andere taal zoals kix of batch ofzo?

Acties:
  • 0 Henk 'm!

  • Nielson
  • Registratie: Juni 2001
  • Laatst online: 14:49
Wat werkt er niet aan het batch-filetje van Coffeemonster dan ?

Acties:
  • 0 Henk 'm!

Anoniem: 290240

Beste Tweakers,


Ik heb de script geprobeerd en het werkt prima alleen is mijn vraag nou kan deze script gedraaid worden op een server die dan mappen leeg maakt die aangeduid zijn als map$, en kan het ook dat je het in een User Policy plaatst dat het b.v. iedere maandag of wat voor een dag wordt gedraaid?

Vriendelijk groet Mirsad

Acties:
  • 0 Henk 'm!

  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

* alt-92 ziet Server staan, User policies - en dat in combinatie met copy/paste scripting...
*brrrrr*
Wellicht is het verstandiger zelf wat meer over scripting te leren, zodat je
1) zelf wijzigingen kan maken, en
2) weet wat die wijzigingen gaan doen.
Daar ga je seriously alleen maar voordeel uit halen later ;)

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


Acties:
  • 0 Henk 'm!

  • Coffeemonster
  • Registratie: Juli 2000
  • Laatst online: 17-06 15:20
Anoniem: 290240 schreef op zaterdag 14 februari 2009 @ 12:50:
Beste Tweakers,


Ik heb de script geprobeerd en het werkt prima alleen is mijn vraag nou kan deze script gedraaid worden op een server die dan mappen leeg maakt die aangeduid zijn als map$, en kan het ook dat je het in een User Policy plaatst dat het b.v. iedere maandag of wat voor een dag wordt gedraaid?

Vriendelijk groet Mirsad
Ik zou het gewoon proberen in een testomgeving, in eerste instantie door de naam van de map (in de vorm \\server\map$) te gebruiken in het script, en anders door in een batchfile eerst een mapping aan te maken met NET USE en dan het script te draaien. En het zou me niets verbazen als je ook een vbs-script kan aanroepen in een User Policy, dus dat zou ik ook proberen.

Look for something long enough and you will find it; look for something without understanding, and it will find you.
A normal day at the stock exchange


Acties:
  • 0 Henk 'm!

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Dit topic past daarnaast beter in WOS; aangezien dit over standaard Windows functionaliteit gaat :)

CSA > WOS

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Acties:
  • 0 Henk 'm!

  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

Coffeemonster schreef op zaterdag 14 februari 2009 @ 15:42:
En het zou me niets verbazen als je ook een vbs-script kan aanroepen in een User Policy, dus dat zou ik ook proberen.
Dat kan.
Afbeeldingslocatie: http://tweakers.net/ext/f/lChvqm8i70rIsSgGwxFv7Wdo/full.png

Visual Basic:
1
2
3
4
5
6
7
8
9
10
Dim WshNetwork
Set WshNetwork = WScript.CreateObject("WScript.Network")
strUser = WshNetwork.UserName
strComputer = WshNetwork.ComputerName
'==========================
MsgBox "Hoi!" & vbCrLf &_
"Jij bent:" & vbCrLf &_
 strUser & vbCrLf &_
 "en bent ingelogd op:" & vbCrLf &_
strComputer

[ Voor 32% gewijzigd door alt-92 op 14-02-2009 16:38 ]

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


Acties:
  • 0 Henk 'm!

Anoniem: 290240

alt-92 schreef op zaterdag 14 februari 2009 @ 13:10:
* alt-92 ziet Server staan, User policies - en dat in combinatie met copy/paste scripting...
*brrrrr*
Wellicht is het verstandiger zelf wat meer over scripting te leren, zodat je
1) zelf wijzigingen kan maken, en
2) weet wat die wijzigingen gaan doen.
Daar ga je seriously alleen maar voordeel uit halen later ;)
Nou dit is dus wat ik ook wel wil doen maar waar te beginnen ten eerste?
Coffeemonster schreef op zaterdag 14 februari 2009 @ 15:42:
[...]

Ik zou het gewoon proberen in een testomgeving, in eerste instantie door de naam van de map (in de vorm \\server\map$) te gebruiken in het script, en anders door in een batchfile eerst een mapping aan te maken met NET USE en dan het script te draaien. En het zou me niets verbazen als je ook een vbs-script kan aanroepen in een User Policy, dus dat zou ik ook proberen.
Dit ga ik ook ff zeker proberen, lijkt me ook zo op het eerste oog wel een logisch vervolg en als ik het niet verkeerd heb gezien op de server die er nu draait kan ik zeker met een bat bestand een script oproepen en denk dan dat je het zo in de User policy kan gebruiken.

Mijn dank is nu al groot heren.

Acties:
  • 0 Henk 'm!

  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

Anoniem: 290240 schreef op zaterdag 14 februari 2009 @ 22:26:
[...]


Nou dit is dus wat ik ook wel wil doen maar waar te beginnen ten eerste?
http://www.microsoft.com/technet/scriptcenter/default.mspx

is al een goed begin, http://www.microsoft.com/.../beginner/firststeps.mspx
Dit ga ik ook ff zeker proberen, lijkt me ook zo op het eerste oog wel een logisch vervolg en als ik het niet verkeerd heb gezien op de server die er nu draait kan ik zeker met een bat bestand een script oproepen en denk dan dat je het zo in de User policy kan gebruiken.
Zoals altijd: test het uit in een eigen omgeving :) Tegenwoordig zijn er genoeg trials van Windows Servers en dergelijke te vinden die je daarvoor kunt inzetten met VMware Server of Virtual PC, en die dingen zijn tegenwoordig ook gratis.

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


Acties:
  • 0 Henk 'm!

Anoniem: 290240

Goede dag,

alt-92 ik heb het geprobeerd maar ik wordt er niet echt wijzer van.. (dit zou natuurlijk aan mij kunnen liggen)
Is er geen boek over sciprting dat je zegt dat is nou echt iets voor een beginner waar die alle info vandaan kan halen?

Heb het ook nog met de applicatiebeheerder geprobeerd om een andere Script inelkaar te knutsellen:

for /r "c:\docs\" %%G in (scans)
do dir "%%G"
echo on
echo "%%G"
pause

maar dit was niet heet geweste succes. De script die er staat werkt goed alleen nog op de server niveau aanpassen.

Met vriendelijk groet Mirsad

Acties:
  • 0 Henk 'm!

  • Nielson
  • Registratie: Juni 2001
  • Laatst online: 14:49
Probeer eerst eens duidelijk te stellen wat je nu precies wilt doen, de ene keer zeg je dat de mappen moeten blijven staan, de andere keer juist niet. Verder kun je op deze site erg veel info over (batch) scripting vinden: http://www.robvanderwoude.com/

Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Ik heb ook geen idee wat hetr script in Anoniem: 290240 in "[Scripting]Automatisch map leegmaken" zou moeten doen.

Als je toch vanaf 0 begint, kan je imho beter WSH/VBScript of PowerShell gaan leren. Zoek op amazon.com oid naar 'wsh vbscript' resp. powershell i.c.m. 'for dummies' of 'for beginners' en koop een boek of twee. Maar makkelijker dan www.microsoft.com/technet.../beginner/firststeps.mspx zal het nergens worden.

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


Acties:
  • 0 Henk 'm!

Anoniem: 199042

Je hebt geluk, ik heb zelf zon scriptje moeten maken / zoeken voor mijn werk.
Het eerste deel verwijderd de files die ouder zijn dan 13 dagen :

Visual Basic:
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
'******   Delete de files die ouder zijn dan 13 dagen

Dim fso, startFolder, OlderThanDate
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile("deletefiles-log.txt")

 
Set fso = CreateObject("Scripting.FileSystemObject")
startFolder = "\\XXXXXX\tmp\"           ' Folder waar de files zich bevinden (subfolders ook)
OlderThanDate = DateAdd("d", -13, Date)  ' 13 dagen (Hier kan je het aantal dagen aangeven)
 
DeleteOldFiles startFolder, OlderThanDate
 
Function DeleteOldFiles(folderName, BeforeDate)
   Dim folder, file, fileCollection, folderCollection, subFolder
 
   Set folder = fso.GetFolder(folderName)
   Set fileCollection = folder.Files
   objFile.WriteLine(folder)
   For Each file In fileCollection
      If file.DateCreated < BeforeDate Then
          objFile.WriteLine(vbTab & file.Path & vbTab & file.DateCreated & vbTab & "deleting")
         fso.DeleteFile(file.Path)
      End If

   Next
 
    Set folderCollection = folder.SubFolders
    For Each subFolder In folderCollection
       DeleteOldFiles subFolder.Path, BeforeDate
    Next


End Function


Het 2de scriptje verwijderd de lege folders


Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
'******   Delete de lege subfolders
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile("deletefolders-log.txt")

Const strTopFolder = "\\XXXXXX\tmp\"            'Plaats van de subfolders
Dim objFSO, objFolder, objSubFolder
Set objFSO = CreateObject("Scripting.fileSystemObject")
Set objFolder = objFSO.GetFolder(strTopFolder)

For Each objSubFolder In objFolder.SubFolders
    'objFile.WriteLine(objSubFolder.Name & vbTab & objSubFolder.Size)
    If (objSubFolder.size <> 0) Then
        objFile.WriteLine(objSubFolder.Name)
    Else
        objFile.WriteLine(objSubFolder.Name & vbTab & "deleting")
        Call objSubFolder.Delete()
    End If
Next :


Je maakt een .cmd file waar je dan schrijft cscript files.vbs en daaronder cscript folders.vbs. Om het mooi te maken kan je dan nog de log files met blat.exe naar je mailbox laten sturen.

Succes.

[ Voor 5% gewijzigd door F_J_K op 16-02-2009 17:24 . Reden: Ik ben zo vrij geweest het tussen code tags te zetten ]


Acties:
  • 0 Henk 'm!

  • Turdie
  • Registratie: Maart 2006
  • Laatst online: 20-08-2024
Niet zo heel lang:

DELTREE [/Y] [drive:]path [[drive:]path[...]]

Acties:
  • 0 Henk 'm!

  • _H_G_
  • Registratie: September 2002
  • Laatst online: 26-06 11:30
shadowman12 schreef op maandag 16 februari 2009 @ 18:04:
Niet zo heel lang:
DELTREE [/Y] [drive:]path [[drive:]path[...]]
En niet zo heel functioneel :+
Het zou wel in één regel kunnen (bijv. robocopy en dan synchroniseren met een lege map als bron), maar een beetje leren scripten is nooit verkeerd.

Acties:
  • 0 Henk 'm!

Anoniem: 290240

F_J_K schreef op maandag 16 februari 2009 @ 16:19:
Ik heb ook geen idee wat hetr script in Anoniem: 290240 in "[Scripting]Automatisch map leegmaken" zou moeten doen.

Als je toch vanaf 0 begint, kan je imho beter WSH/VBScript of PowerShell gaan leren. Zoek op amazon.com oid naar 'wsh vbscript' resp. powershell i.c.m. 'for dummies' of 'for beginners' en koop een boek of twee. Maar makkelijker dan www.microsoft.com/technet.../beginner/firststeps.mspx zal het nergens worden.
Nou volgens mij heb ik het over de bestandjes in een map, maar als het niet zo over komt wil ik me er voor verontschuldigen. Het is de bedoeling dat er uit een map de bestanden worden verwijderd iedere vrijdag b.v.
F_J_K schreef op maandag 16 februari 2009 @ 16:19:
Ik heb ook geen idee wat hetr script in Anoniem: 290240 in "[Scripting]Automatisch map leegmaken" zou moeten doen.

Als je toch vanaf 0 begint, kan je imho beter WSH/VBScript of PowerShell gaan leren. Zoek op amazon.com oid naar 'wsh vbscript' resp. powershell i.c.m. 'for dummies' of 'for beginners' en koop een boek of twee. Maar makkelijker dan www.microsoft.com/technet.../beginner/firststeps.mspx zal het nergens worden.
Ik ben maar een leek die iets van computers afweet. Het programmeren op zich lijkt me leuk, om tot een besluit te komen zou ik iets willen vinden op internet dat je alles voorschotelt en dat je dan zelf kan kiezen wat je nou echt wil.

Groetjes Mirsad

Acties:
  • 0 Henk 'm!

  • Nielson
  • Registratie: Juni 2001
  • Laatst online: 14:49
Anoniem: 290240 schreef op dinsdag 17 februari 2009 @ 08:34:
[...]


Nou volgens mij heb ik het over de bestandjes in een map, maar als het niet zo over komt wil ik me er voor verontschuldigen. Het is de bedoeling dat er uit een map de bestanden worden verwijderd iedere vrijdag b.v.
Ja, maar eerst zeg je:
dan gooid hij heel de dir weg. .

Ik kan dus niet heel de dir weggooien en opnieuw aanmaken want dan is de rechten structuur weg.
en daarna
en die andere optie werkt ook niet want dan verwijderd hij alleen bestanden en geen mappen.
en vervolgens:
Ok maar dan zal hij de subdirectory's toch wel laten staan?

Ik wil graag ook dat hij ook alle subdirectory's weggooid!.
Vandaar de onduidelijheid.

Anoniem: 290240

Nielson schreef op dinsdag 17 februari 2009 @ 13:00:
[...]
Ja, maar eerst zeg je:

[...]

en daarna

[...]
en vervolgens:

[...]
Vandaar de onduidelijheid.
Volgens mij heb jij een andere iemand voor je? Ik heb toch niet veel gepost en wat ik heb gepost weet ik wel wat het is en wat jij nou typt :S of ik ben zo moe in me harses dat ik het gewoon niet meer weet, maaaar ik kan wel voor 75% zeggen dat ik dat niet heb getypt :S

  • Nielson
  • Registratie: Juni 2001
  • Laatst online: 14:49
Anoniem: 290240 schreef op donderdag 19 februari 2009 @ 08:00:
[...]


Volgens mij heb jij een andere iemand voor je? Ik heb toch niet veel gepost en wat ik heb gepost weet ik wel wat het is en wat jij nou typt :S of ik ben zo moe in me harses dat ik het gewoon niet meer weet, maaaar ik kan wel voor 75% zeggen dat ik dat niet heb getypt :S
Sorry, verwarde je inderdaad voor de TS.
Pagina: 1