Precedente :: Successivo |
Autore |
Messaggio |
sidd Comune mortale
Registrato: 26/10/07 09:50 Messaggi: 4
|
Inviato: 12 Mar 2008 17:00 Oggetto: * [ME/98/95] svuotare una cartella da dos |
|
|
Ciao a tutti.
Io ho bisogno di far svuotare una cartella in maniera automatica una volta al mese sotto windows 2000 server. Credo che l'unico modo sia di creare un file .bat con all'interno un comando dos da schedulare una volta al mese. Il punto è che i comandi dos "rd" e "del" non mi consentono di realizzare il mio obbiettivo. Per me sarebbe ideale il vecchio comando "deltree" che non è più disponibile sotto dos. Qualcuno mi puoi aiutare? Grazie. |
|
Top |
|
|
GrayWolf Dio maturo
Registrato: 03/07/05 16:24 Messaggi: 2325 Residenza: ... come frontiera i confini del mondo...
|
Inviato: 12 Mar 2008 18:37 Oggetto: |
|
|
Codice: |
' VB Script Document
option explicit
dim oFSO
dim oFolder
set oFSO = CreateObject("Scripting.FileSystemObject")
set oFolder = oFSO.getfolder("unità:\cartella_da_cancellare")
oFolder.Delete true
set oFolder = nothing
set oFSO = nothing
|
copia il codice sopra descritto
sostituisci unità:\cartella_da_cancellare con il percorso che ti serve cancellare, ad esempio: "F:\JK0"... [mi raccomando i doppi apici]
NOTE:
l'istruzione delete cancella anche le eventuali sottocartelle
l'opzione true permette di cancellare anche i file con attributo di sola lettura
salvalo con il nome che vuoi e con estensione .vbs
poni il suo richiamo nelle operazioni pianificate
ora puoi dormire tranquillo
Consiglio:
prima fai una prova su una cartella "fuffa" per essere sicuro del funzionamento
|
|
Top |
|
|
chemicalbit Dio maturo
Registrato: 01/04/05 17:59 Messaggi: 18597 Residenza: Milano
|
Inviato: 12 Mar 2008 19:53 Oggetto: Re: Svuotare una cartella da DOS sotto windows 2000 |
|
|
sidd ha scritto: | Il punto è che i comandi dos "rd" e "del" non mi consentono di realizzare il mio obbiettivo. Per me sarebbe ideale il vecchio comando "deltree" che non è più disponibile sotto dos. | Se fai vedi le opzioni , che rispetto al "rd" di DOS 5 e 6 sono aumentate, e includono le funzioni di deltree.
Codice: | rd /s "c:\esempio\nome cartella" | dovrebbe fare quello di cui hai bisogno.
/s = toglie i file e le directory dalla directory specificata.
puoi anche aggiungere
/q = non chiede conferma quando cancelli con /s (scegli tu se metterla o meno)
quindi rd /s /q |
|
Top |
|
|
sidd Comune mortale
Registrato: 26/10/07 09:50 Messaggi: 4
|
Inviato: 25 Mar 2008 15:56 Oggetto: |
|
|
Grazie per avermi risposto, ma non funziona perchè mi cancella anche la cartella di root. Quello che voglio ottenere è proprio non far cancellare la cartella di root. Sia lo script VB che i comandi dos me la cancellano.
In fratica, io voglio cancellare il contenuto di "C:\prova" ma non la cartella "prova". |
|
Top |
|
|
LoSpippolo Eroe
Registrato: 24/03/08 16:57 Messaggi: 59
|
Inviato: 25 Mar 2008 16:42 Oggetto: |
|
|
sidd ha scritto: | Grazie per avermi risposto, ma non funziona perchè mi cancella anche la cartella di root. Quello che voglio ottenere è proprio non far cancellare la cartella di root. Sia lo script VB che i comandi dos me la cancellano.
In fratica, io voglio cancellare il contenuto di "C:\prova" ma non la cartella "prova". |
Perche' non la ricrei ?
Se ti serve vuota ricreala tanto un batch lo devi far girare...
c:
cd\
rd /s /q \prova
md \prova |
|
Top |
|
|
sidd Comune mortale
Registrato: 26/10/07 09:50 Messaggi: 4
|
Inviato: 25 Mar 2008 16:58 Oggetto: |
|
|
Non posso ricrearla perchè dovrei settare anche tutta una serie di permessi in quanto è una cartella condivisa su un windows server.
Ho trovato la soluzione prendendo spunto dallo script di GrayWolf. L'ho dovuto modificare perchè così com'era mi cancellava anche la directory root.
' VB Script Document
option explicit
dim oFSO
dim oFolder
dim oSubFolders
dim oFiles
dim oSubfolder
dim objFile
dim rFiles
set oFSO = CreateObject("Scripting.FileSystemObject")
set oFolder = oFSO.getfolder("E:\prova")
set rFiles=oFolder.Files
For Each objFile in rFiles
objFile.Delete true
Next
set oSubFolders = oFolder.Subfolders
For Each oSubfolder in oSubFolders
set oFiles = oSubfolder.Files
For Each objFile in oFiles
objFile.Delete true
Next
oSubFolder.Delete true
Next
set oFolder = nothing
set oFSO = nothing
Cmq, grazie a tutti. |
|
Top |
|
|
Zbear Satiro *
Registrato: 30/03/05 18:15 Messaggi: 176
|
Inviato: 25 Mar 2008 17:28 Oggetto: Xdel |
|
|
sidd ha scritto: | Grazie per avermi risposto, ma non funziona perchè mi cancella anche la cartella di root. Quello che voglio ottenere è proprio non far cancellare la cartella di root. Sia lo script VB che i comandi dos me la cancellano.
In fratica, io voglio cancellare il contenuto di "C:\prova" ma non la cartella "prova". |
Cerca il comando "xdel" del vecchio DRDOS 7 /NovellDos 7 e copialo in Winnt\system32 .
Guardane i comandi con "Xdel /?" .
Io lo uso abitualmente e funziona benissimo da shell o da *.bat.
Ricordati che per cancellare una directory è meglio specificarne il nome in modo completo partendo dalla radice .... e MAI usare *.* !!!!
Ciao |
|
Top |
|
|
LoSpippolo Eroe
Registrato: 24/03/08 16:57 Messaggi: 59
|
Inviato: 26 Mar 2008 10:52 Oggetto: |
|
|
sidd ha scritto: | Non posso ricrearla perchè dovrei settare anche tutta una serie di permessi in quanto è una cartella condivisa su un windows server.
|
Ormai hai risolto ma e' per completezza di informazioni:
se le impostazioni della cartella sono di PROTEZIONE allora se cancelli da dos e la ricrei le perdi, se invece le impostazioni della cartella sono di CONDIVISIONE se la cancelli da dos e la ricrei NON le perdi.
Appena provato su un 2003 2003 che ho qui. |
|
Top |
|
|
chemicalbit Dio maturo
Registrato: 01/04/05 17:59 Messaggi: 18597 Residenza: Milano
|
Inviato: 28 Mar 2008 20:51 Oggetto: Re: Xdel |
|
|
Zbear ha scritto: | Cerca il comando "xdel" del vecchio DRDOS 7 /NovellDos 7 e copialo in Winnt\system32 . | E' gratuito?
LoSpippolo ha scritto: | se le impostazioni della cartella sono di PROTEZIONE (....),
se invece le impostazioni della cartella sono di CONDIVISIONE (...) | Per gl'ignoranti (io ) qual è la differenza? |
|
Top |
|
|
chemicalbit Dio maturo
Registrato: 01/04/05 17:59 Messaggi: 18597 Residenza: Milano
|
Inviato: 28 Mar 2008 20:55 Oggetto: |
|
|
sidd ha scritto: | Grazie per avermi risposto, ma non funziona perchè mi cancella anche la cartella di root. Quello che voglio ottenere è proprio non far cancellare la cartella di root. Sia lo script VB che i comandi dos me la cancellano.
In fratica, io voglio cancellare il contenuto di "C:\prova" ma non la cartella "prova". | Puoi provare con Codice: | del /f /s /q c:\prova\*.* |
Non l'ho provato però.
Temo tra l'altro che ti lasci le directory vuote.
Altrimenti da propmpt dei comandi (o file batch) si potrebbe usare un comando FOR. |
|
Top |
|
|
LoSpippolo Eroe
Registrato: 24/03/08 16:57 Messaggi: 59
|
Inviato: 29 Mar 2008 10:29 Oggetto: Re: Xdel |
|
|
chemicalbit ha scritto: | Zbear ha scritto: | Cerca il comando "xdel" del vecchio DRDOS 7 /NovellDos 7 e copialo in Winnt\system32 . | E' gratuito?
LoSpippolo ha scritto: | se le impostazioni della cartella sono di PROTEZIONE (....),
se invece le impostazioni della cartella sono di CONDIVISIONE (...) | Per gl'ignoranti (io ) qual è la differenza? |
fai click col tasto destro su una cartella, vedrai due tab, uno dove indichi il nome di condivisione in rete della cartella, e dove puoi inserire chi (via rete) puo' accedere alla cartella (questi dati restano se cancelli e ricrei la cartella) ed un'altro dove ti permette di scegliere tra gli utenti locali puo' avere accesso alla cartella (questi li perdi se cancelli la cartella) |
|
Top |
|
|
chemicalbit Dio maturo
Registrato: 01/04/05 17:59 Messaggi: 18597 Residenza: Milano
|
Inviato: 30 Mar 2008 00:15 Oggetto: Re: Xdel |
|
|
LoSpippolo ha scritto: | fai click col tasto destro su una cartella, vedrai due tab, uno dove indichi il nome di condivisione in rete della cartella, e dove puoi inserire chi (via rete) puo' accedere alla cartella (questi dati restano se cancelli e ricrei la cartella) ed un'altro dove ti permette di scegliere tra gli utenti locali puo' avere accesso alla cartella (questi li perdi se cancelli la cartella) | mi sa che allora la mia ignoranza derivi dal fatto che io ho Windows XP Home edition ... (ci sono anche per quella versione "tutte 'ste cose"?) |
|
Top |
|
|
LoSpippolo Eroe
Registrato: 24/03/08 16:57 Messaggi: 59
|
Inviato: 30 Mar 2008 16:00 Oggetto: Re: Xdel |
|
|
chemicalbit ha scritto: | LoSpippolo ha scritto: | fai click col tasto destro su una cartella, vedrai due tab, uno dove indichi il nome di condivisione in rete della cartella, e dove puoi inserire chi (via rete) puo' accedere alla cartella (questi dati restano se cancelli e ricrei la cartella) ed un'altro dove ti permette di scegliere tra gli utenti locali puo' avere accesso alla cartella (questi li perdi se cancelli la cartella) | mi sa che allora la mia ignoranza derivi dal fatto che io ho Windows XP Home edition ... (ci sono anche per quella versione "tutte 'ste cose"?) |
In effetti si, il post originale parlava di windows 2000 server. |
|
Top |
|
|
|