Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

File bat per eliminare un file vuoto...

1 view
Skip to first unread message

Ypoons

unread,
Aug 25, 2008, 10:57:07 AM8/25/08
to
Domandina semplice (per voi ma non pe me). Come faccio a creare un
file bat che mi verifichi se un file di testo è vuoto (o di
dimensione = 0) e nel caso lo cancelli?
Grazie a tutti,
Gio.

Franz aRTiglio

unread,
Aug 25, 2008, 5:30:30 PM8/25/08
to

In batch "liscio" mi pare che non si possa, ma la tua domanda e'
comunque mal posta.

Presumo che tu voglia "frullare" una o piu' cartelle alla ricerca dei file
vuoti ed eliminarli, giusto ? In che sistema operativo ? per forza un batch
o andrebbe bene anche un vbscript ? lo usi per filtrare un backup ?

Ypoons

unread,
Aug 26, 2008, 6:26:52 AM8/26/08
to
> In batch "liscio" mi pare che non si possa, ma la tua domanda e'
> comunque mal posta.
>
> Presumo che tu voglia "frullare" una o piu' cartelle alla ricerca dei file
> vuoti ed eliminarli, giusto ? In che sistema operativo ? per forza un batch
> o andrebbe bene anche un vbscript ? lo usi per filtrare un backup ?

Ciao Franz!!!
Anzitutto grazie per la risposta.
L'idea è di controllare un file di testo presente in una cartella e
nel caso in cui sia vuoto anzichè procedere con l'elaborazione
eliminarlo...
Il tutto lo farei girare su un server con S.O. Windows 2003
Speravo si potesse fare con un batch perchè non conosco vbscript o
altro linguaggio per farlo...
Gio.

Savux

unread,
Aug 26, 2008, 9:11:19 AM8/26/08
to
Franz aRTiglio ha scritto:

> Ypoons wrote:
>> Domandina semplice (per voi ma non pe me). Come faccio a creare un
>> file bat che mi verifichi se un file di testo è vuoto (o di
>> dimensione = 0) e nel caso lo cancelli?
>> Grazie a tutti,
>> Gio.
>
> In batch "liscio" mi pare che non si possa, ma la tua domanda e'
> comunque mal posta.

La butto lì, anche se non sono un esperto di dos.
1) si crea un file vuoto di nome "zzzzzzz.stop"
2) si salva in un file l'output del comando "dir /b /o:SN"
3) si legge una riga alla volta il file di cui al punto 2),
interpretando il testo letto come parametro per un comando di
eliminazione, e fermandosi quando si incontra il file di cui al punto 1)

E' possibile?

Franz aRTiglio

unread,
Aug 26, 2008, 10:07:33 AM8/26/08
to
Ypoons wrote:

> L'idea č di controllare un file di testo presente in una cartella e
> nel caso in cui sia vuoto anzichč procedere con l'elaborazione


> eliminarlo...
> Il tutto lo farei girare su un server con S.O. Windows 2003

> Speravo si potesse fare con un batch perchč non conosco vbscript o
> altro linguaggio per farlo...

No problem: copiaincolla nel blocco note:

'prepara l'oggetto filesystem
Set objFS = CreateObject("Scripting.FileSystemObject")

'prepara il file da controllare
Set objFile = objFS.GetFile("FileDaControllare.txt")

' Se la dimensione del file e' zero allora cancellalo
If objFile.Size = 0 then objfile.delete

'Fine dello script
wsh.quit

Al posto di "FileDaControllare.txt" mettici il nome del tuo
file, eventualmente con percorso assoluto (es. "c:\miaroba\miofile.txt"
oppure "\\server remoto\$condivisione$\file.txt"

salva con nome (tutti i file) e dagli l'estensione vbs
(es. mioscript.vbs)

ATTENZIONE:
Il file NON finisce nel cestino ma viene eliminato definitivamente.

Se vuoi "chiamare" lo script da un batch, eventualmente
passandogli il nome del file, DEVI modificare la scritta

Set objFile = objFS.GetFile("FileDaControllare.txt")

in

Set objFile = objFS.GetFile(Wscript.Arguments(0))

E dal file batch chiamare lo script con

cscript mioscript.vbs nomefile

(ovviamente nomefile DEVE essere un percorso assoluto, es
d:\nomecartella\nomefile.est , ovviamente se nomefile
viene "prodotto" dal batch puo' essere anche una variabile).


Franz aRTiglio

unread,
Aug 26, 2008, 10:09:32 AM8/26/08
to
Savux wrote:
> Franz aRTiglio ha scritto:
>> Ypoons wrote:
>>> Domandina semplice (per voi ma non pe me). Come faccio a creare un
>>> file bat che mi verifichi se un file di testo č vuoto (o di

>>> dimensione = 0) e nel caso lo cancelli?
>>> Grazie a tutti,
>>> Gio.
>>
>> In batch "liscio" mi pare che non si possa, ma la tua domanda e'
>> comunque mal posta.
>
> La butto lě, anche se non sono un esperto di dos.

> 1) si crea un file vuoto di nome "zzzzzzz.stop"
> 2) si salva in un file l'output del comando "dir /b /o:SN"
> 3) si legge una riga alla volta il file di cui al punto 2),
> interpretando il testo letto come parametro per un comando di
> eliminazione, e fermandosi quando si incontra il file di cui al punto
> 1)
> E' possibile?

Si, ma e' assay macchinoso... visto che ora di dos "puri" ce ne sono
in giro pochissimi e' meglio orientarsi sugli script vbs....


Ypoons

unread,
Aug 26, 2008, 11:45:48 AM8/26/08
to
Ciao Franz,
come ho un attimo provo il tutto!!!
Intanto grazie mille,
Gio.

Ypoons

unread,
Aug 26, 2008, 12:07:07 PM8/26/08
to
On 26 Ago, 17:45, Ypoons <gioach...@libero.it> wrote:
> Ciao Franz,
> come ho un attimo provo il tutto!!!
> Intanto grazie mille,
> Gio.
>

Tutto perfetto!!!
Sei stato gentilissimo e quindi ne aprofitterei ancora... mi sai dare
qualche dritta su dove posso trovare un pò di documentazione on-line
per imparare a fare script vbs?
Grazie ancora,
Gio.

Franz aRTiglio

unread,
Aug 26, 2008, 12:14:35 PM8/26/08
to

Io arrivo dal visual basic di cui vsh e' praticamente il fratello
"povero"....
quindi non saprei dove indirizzarti.....


0 new messages