Buenas ando mirando codigos en VBS para editararchivos 
En este caso especifico quisiera editar el archivo HOsts del windows
c:\windows\system32\drivers\etc\hosts
estuve leyendo y es con Set.FileSystemObject  ,
pero quisiera saber un codigo donde tenga el manifest , osea para que edite en Windows 7 alguna ayuda ?
			
			
			
				Cita de: softer2 en 16 Julio 2014, 04:50 AMestuve leyendo y es con Set.FileSystemObject
FileSystemObject es un objeto: 
http://msdn.microsoft.com/en-us/library/aa242706%28v=vs.60%29.aspx
El cual proporciona métodos para crear un archivo, escribir, etc... basicamente son métodos para llevar a cado tareas relacionadas con el 
FileSystem de Windows: 
http://msdn.microsoft.com/en-us/library/6tkce7xa%28v=vs.84%29.aspx
Por lo tanto si, te sirve para la tarea, usando los métodos de escritura, ya que el archivo HOSTS no es más que un archivo de texto plano.
PD: Creo que deberías estudiar los conceptos básicos, la sintaxis del lenguaje, y demás, si realmente estás interesado en desarrollar códigos propios:
http://msdn.microsoft.com/en-us/library/0ad0dkea%28v=vs.84%29.aspx
Cita de: softer2 en 16 Julio 2014, 04:50 AMquisiera saber un codigo donde tenga el manifest, osea para que edite en Windows 7 alguna ayuda ?
No he entendido tu pregunta, no debes interactuar con ningún ".manifest" para editar un archivo de texto.
Respecto a proporcionarte un código, la verdad es que no se si buscas un set completo de edición que te permita eliminar, modificar, y añadir entradas, o que es lo que buscas exactamente, así que te haré dos ejemplos básicos:
Sub AddEntry(ByVal Ip, Byval Alias)
    Const HostsFile  = "C:\Windows\System32\Drivers\etc\Hosts"
    Set   objHosts   = CreateObject("Scripting.FileSystemObject"). _
                       OpenTextFile(HostsFile, 8, True)
    objHosts.Writeline(vbNewLine & Ip & vbtab & Alias)
    objHosts.Close
End SubFunction GetAliases(ByVal Ip)
    Dim Aliases
    Const HostsFile  = "C:\Windows\System32\Drivers\etc\Hosts"
    Set   objHosts   = CreateObject("Scripting.FileSystemObject"). _
                       OpenTextFile(HostsFile, 1)
    Do Until objHosts.AtEndOfStream
        HostEntry = Split(Replace(objHosts.Readline, vbTab, " "), " ")
        HostIP    = Trim(HostEntry(0))
        HostAlias = Trim(HostEntry(1))
        On Error Resume Next
        
        If HostIP = Ip Then
            Aliases = Aliases & HostAlias & vbNewLine
        End If
    Loop
    objHosts.Close
    GetAliases = Split(Aliases, vbNewLine)
End FunctionEjemplos de uso:
AddEntry("LOCALHOST", "www.test.com")
MsgBox(GetAliases("LOCALHOST")(0))Saludos.
EDITO: Una Helper Class gigantesca con todos los métodos que puedas llegar a necesitar:
www.codeproject.com/Articles/11354/VBScript-for-reading-and-writing-to-the-Windows-ho
			
 
			
			
				Wauo muxas gracias por el codigo
NOse si me dejo explicar con eso del manifest , OSEA con archivos que estan en Windows se necesita elevar privilegios para poder modificar algun archivo ( en vb6 lo hacia con manifest) 
y lo que si andaba queriendo exatamente era , que
1: Abrir el archivo hosts y borrar su contenido y poner mi contenido
o 
2: Eliminar el archivo hosts y crear uno nuevo con el contenido especifico que quiera
EDITADO : osea a esto me refiero
Set objShell = CreateObject("Shell.Application")
    objShell.ShellExecute "wscript.exe", Chr(34) & WScript.ScriptFullName & Chr(34) & " RunAsAdministrator", "", "runas", 1
EL codigo ya esta en si .sube prvilegios , abre y añade 1 linea al archivo
Pero lo que quiero es borrar todo el contenido del archivo hosts y añadir recien mis lineas
espero se entienda
			
			
			
				Cita de: softer2 en 16 Julio 2014, 19:50 PM
lo que quiero es borrar todo el contenido del archivo hosts y añadir recien mis lineas
Cuando instancies el objeto, asigna el valor correcto para el parámetro 
IOmode (ForWriting).
http://msdn.microsoft.com/en-us/library/314cz14s%28v=vs.84%29.aspx
Ejemplo:
CreateObject("Scripting.FileSystemObject").OpenTextFile(HostsFile, 2, True)Entonces, cuando uses el método 
Write/WriteLine, se reemplazará el contenido existente del archivo, y podrás seguír utilizando dicho método para continuar escribiendo, hasta que liberes el objeto con el método 
Close.
Ejemplo:
Const HostsFile  = "C:\Windows\System32\Drivers\etc\Hosts"
Set objHosts     = CreateObject("Scripting.FileSystemObject"). _
                   OpenTextFile(HostsFile, 2, True)
With objHosts
    .Writeline(vbNewLine)
    .Writeline("127.0.0.1" & vbtab & "www.1.com")
    .Writeline("127.0.0.2" & vbtab & "www.2.com")
    .Writeline("127.0.0.3" & vbtab & "www.3.com")
    .Close
End WithSaludos.
			
 
			
			
				Execelente era lo que buscaba 
gracias por tu ayuda
Adjuntando el codigo de elevar privilegios en W7 al script queda muybien
si funciona en W7 y W8 el problema es el sigiente
que tambien en Windows XP , al ejecutar el script tbm pide ejecutar como administrador
QUuisiera saber como hacer para que primero el script decte el S.O
Si es XP ejecutar el scrip sin elevarle privilegios
y si es Wvista o W7 o W8 ejecutar el script donde le subo privilegios ..
espero su ayuda , recien ando aprendiendo esto del VBS 
			
			
			
				Cita de: softer2 en 17 Julio 2014, 16:58 PMespero su ayuda , recien ando aprendiendo esto del VBS 
Puedes hacer una query a WMI para obtener la versión NT del Windows operativo actual.
San-Google está lleno de ejemplos como 
este (http://bit.ly/1qLaxej), y como este otro:
Set dtmConvertedDate = CreateObject("WbemScripting.SWbemDateTime")
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set oss = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
For Each os in oss
    Wscript.Echo "Caption: " & os.Caption
    Wscript.Echo "Version: " & os.Version
Next+ 
List of Microsoft Windows versions (http://en.wikipedia.org/wiki/List_of_Microsoft_Windows_versions)
Así pues, si la versión NT empieza por "5.1" o "5.2", será XP, si empieza por "6.1" será Win7, y si empieza por "6.2" o "6.3" será Windows 8/8.1.
+ 
VBScript Left Function (http://www.w3schools.com/vbscript/func_left.asp)
If Left(os.Version, 2) = "5.1" Then ... PD: El nombre a mostrar del OS puede variar, pero la versión NT no, por eso te sugiero evitar parsear el 
Caption.
Saludos 
			
 
			
			
				Impresionante
MUxas gracias yo estaba buscando condicionales basado en la caption ya me estaba echando un mundo con if else if else por cada caption pero con la version ya seria mucho mas rapido y mucho mas seguro ya que cada pc tiene nombre distintos
gracias por la ayuda sos un capo