Newsgroup: it.comp.os.win.xp
Titolo: Proprietà file e prompt

Vorrei sapere se esiste il modo per almeno vedere le proprietà di un
file (quelle del tasto destro da explorer, per capirci) da riga di
comando, giusto per poi crearmi un file di testo con il listato di una
directory e le varie proprietà.
Ciao e grazie.

c:\a.txt"
Ti crea il file a.txt in c: e dentro il file ci sono le proprietą di tutti
i file nella cartella, tra cui il file che ti interessa. Esempio
 Il volume nell'unit&#8230; C non ha etichetta.
 Numero di serie del volume: xxxx
 Directory di C:\Documents and Settings\xxxx
02/04/2006  15.06    <DIR>          .
02/04/2006  15.06    <DIR>          ..
18/03/2006  19.17                 0 xxxxx.exe
16/02/2006  14.40    <DIR>          xxxxx
18/03/2006  19.11               960 xxxx.txt
esce circa una cosa simile. Perņ non si vedono le varie poprietą, esempio
lettura, scrittura.
Per fare ciņ usi il comando "attrib nome_file" e poi reindirizzi l'output
su un file txt
attrib log.txt >c:\output.txt
e vedrai le proprietą del file: 
 r : sola lettura
 a : se di tipo archivio
 s : se file di sistema
 h : se file nascosto
 
con attrib puoi anche cambiare le varie proprietą, ma non mi ricordo bene
come, per cui se ne hai bisogno su google troverai sicurmante la sintassi
corretta per cambiare le proprietą.
Ciao
Sniper Wolf
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

directory e le varie proprietą.
di UN solo file solo o tutta una folder ?
'1
filename = "c:\test.log"
' sostituendo la riga sopra con queste 2 sotto si puo' trascinarci o
' mettendolo inSendTo ed  >>> invia a... QUALSIASI file
'''''''''''''''''Set oArgs = WScript.Arguments
'''''''''''''''''''filename = oArgs(0)
Set objFSO = CreateObject("Scripting.FileSystemObject")
set oShell = CreateObject("WScript.Shell")
Set newf = objfso.createtextfile(filename)
newf.WriteLine "Hello, world"
newf.Close
Set objfso = CreateObject("Scripting.FileSystemObject")
While Not objFSO.FileExists("c:\test.log")
WScript.Sleep 100
wend
Set objFile = objFSO.GetFile("c:\test.log")
Set newf = objFSO.createtextfile("File.log")
newf.WriteLine objFile.Drive &"\" &objFile.Name
newf.WriteLine""
newf.WriteLine "Date created: " & objFile.DateCreated
newf.WriteLine "Date last accessed: " & objFile.DateLastAccessed
newf.WriteLine objFile.DateLastModified
newf.WriteLine "Date last modified: " & objFile.DateLastModified
newf.WriteLine "Drive: " & objFile.Drive
newf.WriteLine "Name: " & objFile.Name
newf.WriteLine "Parent folder: " & objFile.ParentFolder
newf.WriteLine "Path: " & objFile.Path
newf.WriteLine "Short name: " & objFile.ShortName
newf.WriteLine "Size: " & objFile.Size
newf.WriteLine "Type: " & objFile.Type
newf.Close
oShell.run"File.log"
'Copia incolla su notepad e salva con estensione .vbs
'tutti i file (*.*)  poi ci clicchi sopra. (per esempio TestFile.vbs)
'se ti da' errore disattiva l'antivirus
'2
'Al posto di DOC mettici la folder che vuoi
sStartPath = "c:\doc"
Set oFSO = CreateObject("Scripting.FileSystemObject")
sReportName = "log.txt"
'Set oFSo = CreateObject("Scripting.FileSystemObject")
Set fReport = oFSo.CreateTextFile(sReportName, True)
ListFolders(sStartPath)
Sub ListFolders(sPath)
  Set oFolder = oFSO.GetFolder(sPath)
  fReport.Writeline oFolder
  fReport.Writeline "Base name: " & oFolder.Name
  fReport.Writeline "File count: " & oFolder.Files.Count
 t =oFolder.Size/1024000
     S = formatnumber(t,,,,0) & " MB "
 fReport.Writeline "Folder size: " & S
  fReport.Writeline
  For Each oFldr In oFolder.SubFolders
    ListFolders oFldr.Path
  Next
End Sub
set oShell = CreateObject("WScript.Shell")
while not oFSO.FileExists("log.txt")
WScript.Sleep 100
Wend
oShell.run"log.txt"
--
Fosco

ecco! era questo che mi serviva! grazie.

Scusa, ho provato il secondo script, ma mi resituisce le properties
della folder, non dei files nella folder!...

 della folder, non dei files nella folder!...
 prego non c'e' di che :
on error resume next
set shell = CreateObject("WScript.Shell")
Set oFS = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFS.GetFolder("C:\windows\")
'msgbox oFolder.files.count
Set newf = oFS.createtextfile("File.log")
newf.WriteLine "Numero di Files  " & oFolder.files.count
newf.WriteLine ""
newf.WriteLine "/////////////////////////////////////////////"
For Each oFile In oFolder.Files
newf.WriteLine ""
newf.WriteLine "/////////////////////////////////////////////"
newf.WriteLine "Name: " & oFile.Name
newf.WriteLine "Date created: " & oFile.DateCreated
newf.WriteLine "Date last accessed: " & oFile.DateLastAccessed
newf.WriteLine oFile.DateLastModified
newf.WriteLine "Date last modified: " & oFile.DateLastModified
newf.WriteLine "Drive: " & oFile.Drive
newf.WriteLine "Parent folder: " & oFile.ParentFolder
newf.WriteLine "Path: " & oFile.Path
newf.WriteLine "Short name: " & oFile.ShortName
newf.WriteLine "Size: " & oFile.Size
newf.WriteLine "Type: " & oFile.Type
newf.WriteLine ""
newf.WriteLine "///////////////////////////////////////////////"
Next
newf.Close
Shell.run"File.log"
'Copia incolla su notepad e salva con estensione .vbs
'tutti i file (*.*)  poi ci clicchi sopra. (per esempio Test.vbs)
'se ti da' errore disattiva l'antivirus
--
Fosco


qui ci sono anche gli attributi >> spiegazione '[1]
on error resume next
set shell = CreateObject("WScript.Shell")
Set oFS = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFS.GetFolder("C:\windows\")
'msgbox oFolder.files.count
Set newf = oFS.createtextfile("File.log")
newf.WriteLine "Numero di Files  " & oFolder.files.count
newf.WriteLine ""
newf.WriteLine "/////////////////////////////////////////////"
For Each oFile In oFolder.Files
newf.WriteLine ""
newf.WriteLine "/////////////////////////////////////////////"
newf.WriteLine "Name: " & oFile.Name
newf.WriteLine "Date created: " & oFile.DateCreated
newf.WriteLine "Date last accessed: " & oFile.DateLastAccessed
newf.WriteLine "Date last modified: " & oFile.DateLastModified
newf.WriteLine "Drive: " & oFile.Drive
newf.WriteLine "Parent folder: " & oFile.ParentFolder
newf.WriteLine "Path: " & oFile.Path
newf.WriteLine "Short name: " & oFile.ShortName
newf.WriteLine "Size: " & oFile.Size
newf.WriteLine "Type: " & oFile.Type
newf.WriteLine "Attributi: " & oFile.attributes
newf.WriteLine ""
newf.WriteLine "/////////////////////////////////////////////"
Next
newf.Close
Shell.run"File.log"
'[1]
'The attributes argument can have any of the following values or any
logical combination of the following values:
'Constant Value Description
'Normal 0 Normal file. No attributes are set.
'ReadOnly 1 Read-only file. Attribute is read/write.
'Hidden 2 Hidden file. Attribute is read/write.
'System 4 System file. Attribute is read/write.
'Volume 8 Disk drive volume label. Attribute is read-only.
'Directory 16 Folder or directory. Attribute is read-only.
'Archive 32 File has changed since last backup. Attribute is read/write.
'Alias 64 Link or shortcut. Attribute is read-only.
'Compressed 128 Compressed file. Attribute is read-only.
' ecco un esempio delle varie opzioni >>>>  (logical combination ) :
' per esempio 2+4 = >>>>>   Hidden e System =  6
'----------getAttribs.vbs---------
startFolder="C:\WINDOWS\"
dataFile="Risultato.log"
Set fso = CreateObject("Scripting.FileSystemObject")
set root=fso.getFolder(startFolder)
set oFile=fso.CreateTextFile(dataFile)
call folderlist(root)
oFile.close
sub folderlist(grp)
 for each file in grp.files
 if file.attributes and -33 or file.attributes and -34  _
            or file.attributes and -35   then
  oFile.writeLine file.path & "=" & file.attributes
end if
 next
 for each fldr in grp.subFolders
  on error resume next
  set nf=fso.GetFolder(fldr.path)
  if err.number then
   err.clear
  else
   call folderlist(nf)
  end if
  set nf=nothing
 next
end sub
set oShell = CreateObject("WScript.Shell")
while not FSO.FileExists("log.txt")
WScript.Sleep 100
Wend
oShell.run"Risultato.log"
--
Fosco

GRAZIE!