|
5751
|
Sistemas Operativos / Windows / Re: problema con archivos en papelera
|
en: 23 Febrero 2015, 21:34 pm
|
rutadel archivo o directorio que debo poner? porque esta en la papelera pero desconozco donde nace el problema
edito, no logro entender como usarlo, hice el script y lo guarde como cmd pero no se como proseguir.. disculpaaass Hola He actualizado el código que publiqué en el post de arriba para que pueda procesar un directorio con sus subdirectorios y archivos, asegúrate de actualizar el código que guardaste antes de utilizar, el otro código estaba algo limitado. Si tienes Windows Vista o posterior, entonces utilízalo de esta manera: TaleOwn.cmd "C:\$Recycle.Bin\" Si por lo contrario tienes Windows XP, utilízalo así: TaleOwn.cmd "C:\Recycler\" Y para eliminar los archivos del interior (despues de haber obtenido los permisos de acceso), en Win Vista/7/8: RD /Q /S "C:\$Recycle.Bin\" o Win XP: Nota: Ignora cualquier posible aviso de "la papelera está dañada" al aceptar la eliminación de los archivos cuando los recicles por primera vez, es debido a las modificaciones del propietario y los permisos en una carpeta "especial" del sistema, pero el directorio y su estructura se restaurará por si solo al aceptar el aviso.Saludos
|
|
|
5752
|
Sistemas Operativos / Windows / Re: problema con archivos en papelera
|
en: 23 Febrero 2015, 20:56 pm
|
Prueba a obtener los permisos necesarios para el acceso al directorio y sus archivos. Puedes utilizar el siguiente Script escrito en Batch. Modo de empleo: TakeOwn.cmd "Ruta del archivo o directorio" "Nombre de usuario (opcionalmente)" Ejemplo: TakeOwn.cmd "C:\$Recycle.Bin\S-1-5-21-1780771175-1208154119-2269826705-500\" "%Username%" TakeOwn.cmd "C:\Archivo.ext" "%Username%" Source: TakeOwn.cmdTitle Simple Take Ownership Batch-Script Automation, By Elektro. Echo [x] Any path pattern specified. ) REM Do Nothing, default username will be used. ) :: Determino si el elemento es un directorio. Set "takeownDirectoryParams=/R /D /S" Set "icaclsDirectoryParams=/T" Set "takeownDirectoryParams=" Set "icaclsDirectoryParams=" ) (TakeOwn.exe /F " %ItemPath%" %directoryParams%)1 >Nul 2 >&1 || ( Echo [x] Error Taking Ownership. ) (ICacls.exe " %ItemPath%" /Grant " %UserName%":"F" %icaclsDirectoryParams%)1 >Nul 2 >&1 || ( Echo [x] Error setting user permissions. ) :: Elimino el atributo de sistema, y solo lectura. (Attrib.exe -S -R " %ItemPath%" )1 >Nul 2 >&1 || ( Echo [x] Error Setting item attributes. ) Echo [i] Access granted for user " %UserName%" in element: " %ItemPath%".
Saludos
|
|
|
5754
|
Sistemas Operativos / Windows / Re: Ya se puede descargar Windows 10 Technical Preview
|
en: 23 Febrero 2015, 12:26 pm
|
¿pero se trata realmente de un cambio de ciclo? Es decir, ¿hay novedades estructurales en el sistema...? Esteticamente hablado, podemos decir que "no", ya que tendrá el aspecto de Windows 8/8.1 pero con ínfimas modificaciones de diseño. Internamente hablando, Windows 10, a diferencia de sus antecesores, será un único S.O. que estará desarrollado a partir de un código base unificado para soportar cualquier dispositivo, cómo PC, smartphone, tablet, laptop, TV, y consolas (y no se si me dejo algo por nombrar), una plataforma para todos los dispositivos, así que el cambio "estructural" es lo más amplio que te puedas imaginar. ...Aparte del resto de noveades y mejoras del SO, como por ejemplo soporte para utilizar atajos del teclado en la CMD, o el nuevo modelo de aplicaciones llamado "Windows Universal apps", que no son más que las conocidas Metro/Modern Apps, pero cómo su nombre indica, serán aplicaciones universales para todos los dispositivos que usen Windows. Y un largo etc. Saludos
|
|
|
5755
|
Programación / Scripting / Re: Programar en Batch
|
en: 22 Febrero 2015, 20:53 pm
|
Lo que hago es asignar una cadena delimitada por comas (CSV) que contiene las rutas de los directorios, podriamos decir que es una simulación de una especie de Array limitado, e itero los elementos con el For para copiar el archivo a cada directorio especificado en el ""Array"". Si tienes muchos directorios entonces esa metodología te ahorraría mucha repetición de código en una herramienta limitada cómo es Batch. Aparte de lo que te ha comentado el compañero @Engel Lex, también puedes mirar la documentación interna de la CMD. En consola: Saludos
|
|
|
5756
|
Programación / Scripting / Re: Programar en Batch
|
en: 22 Febrero 2015, 20:40 pm
|
La expresión ".\" indica el directorio de trabajo actual, por lo tanto solo tienes que reemplazar los síbolos "¿?" por ".\", es decir, esta ruta: ...O también puedes utilizar la variable dinámica "%CD%" Pero déjame decirte que la mecánica del código que has expuesto no es del todo correcta ya que puedes saltarte el paso de mover, copiando directamente a los directorios destino: Set "dirPaths= %UserProfile%\Desktop; %HomeDrive%" Copy /Y " %~f0" " %%d\ %fileName%" )
Saludos
|
|
|
5757
|
Programación / Scripting / Re: Ayuda con Bat o Vbs
|
en: 22 Febrero 2015, 20:27 pm
|
Cual seria la modificación a realizar en tu excelente código Elektro para poder sacar el valor de un Archivo1.txt que contenga: <b>Cash Out: </b> 1.97x </p> <b>Cash Out: </b> 212.34x </p> Para sacar el "1.97" usa esta expresión: rgx.Pattern = "(cash.+out.+\s+)([\d\.]+)"
Si quieres sacar el "1.97" incluyendo la "x" (que no se a que hace referencia), usa esta expresión: rgx.Pattern = "(cash.+out.+\s+)([\d\.]+[^\s])"
Como he disminuido la cantidad de grupos de la expresión (para no hacer demasiado compleja la expresión regular por las etiquetas Html), debes usar esta modificación también: rgxValue = rgxMatch.Submatches(1)
Saludos
|
|
|
5758
|
Programación / Scripting / Re: tema(batch) de un txt,crear varios txt, renombrado
|
en: 21 Febrero 2015, 20:11 pm
|
No te recomiendo utilizar una herramienta limitada como es Batch para este tipo de tareas, por no decir que además es muy lento al procesar texto. Te muestro un ejemplo que puedes adaptar a tus necesidades por ti mismo: Source
Set "inputFile=.\Archivo.txt" Echo [+] ".\ZZZ %fileCount%.txt" For /F "UseBackQ Tokens=* Delims=" %%a In (" %inputFile%" ) Do ( (Echo !line!)>>".\zzzz!fileCount!.txt" If /I " !line:~0,4!" EQU "N490" ( Echo [+] ".\ZZZ !fileCount!.txt" ) )
Output
[+] ".\ZZZ1.txt" ZZZ X0.0 Y0.0 Z30.0 M601 M2 G0 Z-100.0 N1 G1 X240.1 Y324.9 Z3.6 F2 N2 G1 X239.5 Y325.5 Z4.9 F2 N3 G1 X238.8 Y326.1 Z4.9 F2 N4 G1 X238.2 Y326.8 Z2.4 F2 N5 G1 X237.6 Y327.4 Z1.4 F2 N6 G1 X247.5 Y317.5 F2 N490 G1 X240.7 Y324.3 Z0.5 F2
[+] ".\ZZZ2.txt" N1 G1 X240.1 Y324.9 Z3.6 F2 N2 G1 X239.5 Y325.5 Z4.9 F2 N3 G1 X238.8 Y326.1 Z4.9 F2 N4 G1 X238.2 Y326.8 Z2.4 F2 N5 G1 X237.6 Y327.4 Z1.4 F2 N6 G1 X237.0 Y328.0 Z0.9 F2 N490 G1 X236.4 Y328.6 Z0.7 F2
[+] ".\ZZZ3.txt" N1 G1 X235.7 Y329.2 Z3.3 F2 N2 G1 X235.1 Y329.8 Z4.1 F2 N3 G1 X234.5 Y330.5 Z0.8 F2 N4 G1 X233.9 Y331.1 Z1.7 F2 N5 G1 X233.3 Y331.7 Z4.9 F2 N6 G1 X232.6 Y332.3 Z3.7 F2 N490 G1 X232.0 Y332.9 Z1.1 F2
[+] ".\ZZZ4.txt" N1 G1 X231.4 Y333.6 Z0.6 F2 N2 G1 X230.8 Y334.2 Z0.6 F2 N3 G1 X230.2 Y334.8 Z4.2 F2 N4 G1 X229.6 Y335.4 Z5.0 F2 N5 G1 X228.9 Y336.0 Z5.0 F2 N6 G1 X228.3 Y336.7 Z5.0 F2 N490 G1 X226.5 Y338.5 Z1.0 F2
[+] ".\ZZZ5.txt" G0 Z-100.0 G0 Y0 Presione una tecla para continuar . . .
|
|
|
5759
|
Sistemas Operativos / Windows / Re: problema de permisos en el escritorio
|
en: 21 Febrero 2015, 19:47 pm
|
Activa la cuenta oculta " Administrador", es una cuenta que tiene ese nombre, y a diferencia de las demás cuentas del grupo Adminisradores, tiene más privilegios sobre todas las acciones. En consola: Net User "Administrador" /Active:"Yes" Cierra sesión y logueate en la nueva cuenta "Administrador". Saludos
|
|
|
5760
|
Programación / Scripting / Re: Ayuda con Bat o Vbs
|
en: 20 Febrero 2015, 19:33 pm
|
Modo de empleo CScript.exe ".\Script.vbs" ".\Archivo1.txt" ".\Archivo2.txt" "etc..." Source ' Example: RegEx capture in textfile, By Elektro Option Explicit Dim args, arg, _ outPath, fullpath, fileName, fileExt, _ fso, file, fileContent, _ rgx, rgxMatches, rgxMatch, rgxValue Set args = WScript.Arguments If args.Count = 0 Then Wscript.Echo("Any filepath specified.") Wscript.Quit(1) End If outPath = ".\Output\" Set fso = WScript.CreateObject("Scripting.FileSystemObject") If Not fso.FolderExists(outPath) Then Call fso.CreateFolder(outPath) End If ' El primer grupo de esta expresión captura el string "cash out:" plus el valor decimal. ' El cuarto grupo de esta expresión captura el valor decimal. Set rgx = New RegExp rgx.Pattern = "Cash(\s+)?out(\:)?(\s+)?([\d\.]+)" rgx.IgnoreCase = True rgx.Global = True For Each arg in args fullPath = fso.GetAbsolutePathName(arg) fileName = fso.GetBaseName(fullPath) fileExt = fso.GetExtensionName(fullPath) fileContent = fso.OpenTextFile(fullPath, 1).ReadAll Set rgxMatches = rgx.Execute(fileContent) Set file = fso. CreateTextFile(outPath & "\" & fileName & "_new" & "." & fileext ) Wscript.Echo("[+] Processing file: " & fullPath) For Each rgxMatch in rgxMatches rgxValue = rgxMatch.Submatches(3) Wscript.Echo(rgxValue) Call file. WriteLine("Cash Out: " & rgxValue ) Next Next Wscript.Quit(0)
Output asdadasdasdasd asdsadas asdasdasd cash out: 1.97 asdasdas asdasda asdadasdasdasd asdsadas asdasdasd cash out: 212.34 asdasdas asdasda Cash Out: 1.97 Cash Out: 212.34 Saludos
|
|
|
|
|
|
|