| |
|
11151
|
Sistemas Operativos / Windows / Re: Crear nueva entrada en menú contextual de CREAR ARCHIVO TXT
|
en: 25 Junio 2012, 07:55 am
|
Se me olvidó comentarte que para usar variables de entorno en las demas claves, debes usar claves expandidas, así que el valor de "icon" lo tienes que dejar así: "icon"=hex(2):25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,66,00,69,00,6c,\ 00,65,00,73,00,25,00,5c,00,4e,00,6f,00,74,00,65,00,70,00,61,00,64,00,2b,00,\ 2b,00,5c,00,4e,00,6f,00,74,00,65,00,70,00,61,00,64,00,2b,00,2b,00,2e,00,65,\ 00,78,00,65,00,00,00 Eso equivale a: "icon"="%Programfiles%\Notepad++\Notepad++.exe" Por lo demás, A mi si que me funciona (Y sin reiniciar). Pero bueno yo dejé Windows XP atrás hace muchos años... Así que quizás me equivoque y si que tnegas que reiniciar en tu equipo xD. PD: Asegúrate de guardar el archivo.reg en codificación Unicode, Por si acaso. Windows Registry Editor Version 5.00
; Esta clave es para que la opción se muestre en el menú contextual del fondo del escritorio. ; [HKEY_CLASSES_ROOT\DesktopBackground\Shell\Nuevo Notepad++ Documento] "icon"=hex(2):25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,66,00,69,00,6c,\ 00,65,00,73,00,25,00,5c,00,4e,00,6f,00,74,00,65,00,70,00,61,00,64,00,2b,00,\ 2b,00,5c,00,4e,00,6f,00,74,00,65,00,70,00,61,00,64,00,2b,00,2b,00,2e,00,65,\ 00,78,00,65,00,00,00 "position"="middle" [HKEY_CLASSES_ROOT\DesktopBackground\Shell\Nuevo Notepad++ Documento\command] @="CMD /C FSUTIL file createnew \"Documento de texto.txt\" 0 & Exit\"" ; Esta clave es para que la opción se muestre en el menú contextual del fondo del directorio. ; [HKEY_CLASSES_ROOT\Directory\Background\shell\Nuevo Notepad++ Documento] "icon"=hex(2):25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,66,00,69,00,6c,\ 00,65,00,73,00,25,00,5c,00,4e,00,6f,00,74,00,65,00,70,00,61,00,64,00,2b,00,\ 2b,00,5c,00,4e,00,6f,00,74,00,65,00,70,00,61,00,64,00,2b,00,2b,00,2e,00,65,\ 00,78,00,65,00,00,00 "position"="middle" [HKEY_CLASSES_ROOT\Directory\Background\shell\Nuevo Notepad++ Documento\command] @="CMD /C FSUTIL file createnew \"Documento de texto.txt\" 0 & Exit\"" ; Estas claves son para que una vez creado el nuevo archivo, Se abra automáticamente con Notepad++. ; ;Escritorio: ;[HKEY_CLASSES_ROOT\DesktopBackground\Shell\Nuevo Notepad++ Documento\command] ;@="CMD /C FSUTIL file createnew \"Documento de texto.txt\" 0 & Start /B %%Programfiles%%\Notepad++\Notepad++.exe\" \"Documento de texto.txt\"" ; ;Directorio: ;[HKEY_CLASSES_ROOT\Directory\Background\shell\Nuevo Notepad++ Documento\command] ;@="CMD /C FSUTIL file createnew \"Documento de texto.txt\" 0 & Start /B %%Programfiles%%\Notepad++\Notepad++.exe\" \"Documento de texto.txt\""
saludos
|
|
|
|
|
11154
|
Sistemas Operativos / Windows / Re: Crear nueva entrada en menú contextual de CREAR ARCHIVO TXT
|
en: 24 Junio 2012, 01:40 am
|
Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
EDITO: es un bat o un .reg lo que tengo que crear y meter el código ?
Un .reg Es correcto este código para mi situación particular ?
"icon"="%ProgramFiles%\\Notepad++\\notepad++.exe" Eso está bien, Pero si quieres usar variables de entorno en la consola tienes que repetir el caracter "%": Y aparte, no cierras la cadena del comando "start". déjala así: @="CMD /C FSUTIL file createnew \"Documento de texto.txt\" 0 & Start /B \"%%PROGRAMFILES%%\Notepad++\Notepad++.exe\" \"Documento de texto.txt\"" PD: Sé que hay pequeñas diferencias entre el comando "Start" de WinXP y el de Win7 (Las comillas), Si no te funcionase ese comando, Intenta cambiar de lugar las comillas dobles. Por lo demás todo correcto. saludos EDITO 2:: Si en cada partición tienes WindowsXP instalado deberás ejecutar el .reg en cada partición. Y si no sabes mucho sobre archivos de registro, Te comento que las lineas que empiezan con el signo ";" son lineas de comentario, Si quieres usarlas borra el caracter ";".
|
|
|
|
|
11156
|
Sistemas Operativos / Windows / Re: Crear nueva entrada en menú contextual de CREAR ARCHIVO TXT
|
en: 23 Junio 2012, 23:49 pm
|
Es bien fácil hacerlo desde el registro, Pero como lo quieres en el menú principal no podemos echar mano de "shellnew" (O eso creo) así que crearemos el nuevo archivo desde la consola. Windows Registry Editor Version 5.00
; Recuerda: ; Position= "top", "middle", o "bottom". ; Modifica "Program files (x86)" por "Program files" si usas 32 Bit...
; Esta clave es para que la opción se muestre en el menú contextual del fondo del escritorio. ; [HKEY_CLASSES_ROOT\DesktopBackground\Shell\Nuevo Notepad++ Documento] "icon"="C:\\Program Files (x86)\\Notepad++\\notepad++.exe" "position"="middle" [HKEY_CLASSES_ROOT\DesktopBackground\Shell\Nuevo Notepad++ Documento\command] @="CMD /C FSUTIL file createnew \"Documento de texto.txt\" 0 & Exit\""
; Esta clave es para que la opción se muestre en el menú contextual del fondo del directorio. ; [HKEY_CLASSES_ROOT\Directory\Background\shell\Nuevo Notepad++ Documento] "icon"="C:\\Program Files (x86)\\Notepad++\\notepad++.exe" "position"="middle" [HKEY_CLASSES_ROOT\Directory\Background\shell\Nuevo Notepad++ Documento\command] @="CMD /C FSUTIL file createnew \"Documento de texto.txt\" 0 & Exit\""
; Estas claves son para que una vez creado el nuevo archivo, Se abra automáticamente con Notepad++. ; ;Escritorio: ;[HKEY_CLASSES_ROOT\DesktopBackground\Shell\Nuevo Notepad++ Documento\command] ;@="CMD /C FSUTIL file createnew \"Documento de texto.txt\" 0 & Start /B C:\\\"Program files (x86)\\Notepad++\\notepad++.exe\" \"Documento de texto.txt\"" ; ;Directorio: ;[HKEY_CLASSES_ROOT\Directory\Background\shell\Nuevo Notepad++ Documento\command] ;@="CMD /C FSUTIL file createnew \"Documento de texto.txt\" 0 & Start /B C:\\\"Program files (x86)\\Notepad++\\notepad++.exe\" \"Documento de texto.txt\""
 Saludos
|
|
|
|
|
11157
|
Programación / Scripting / Re: Comando para crear nombre de un txt en BATCH
|
en: 23 Junio 2012, 23:10 pm
|
También puedes hacer esto: FSUTIL file createnew "Nuevo Notepad++ document.txt" 0
FSUTIL file createnew ".\NEW\Nuevo Notepad++ document.txt" 0
FSUTIL file createnew "Nuevo Notepad++ document.txt" 0
PD: 0 = El tamaño del archivo, En Bytes. Saludos
|
|
|
|
|
11159
|
Programación / Scripting / Re: Leerse solo un archivo batch
|
en: 23 Junio 2012, 07:37 am
|
mas adelante quiero mover bloques de código de arriba Asia abajo y modificar sus líneas como lo acabamos de hacer no se si me entiendan
Veo que usas Windows XP, Quizás con EDLIN puedas editar las lineas guardando los cambios en el archivo bat original, Nunca lo he usado... Pero en versiones posteriores de Windows tienes que Escribir un nuevo archivo, Con las lineas en el orden que quieras, Pero en un archivo nuevo. Pero además... Seguramente necesitarás escapar todos los caracteres especiales para poder escribirlos en el archivo... ejemplo: For /f.... in type %0 do ( Set linea=%%a Set linea=!Linea:&=^&! Set linea=!Linea:|=^|! Set linea=!Linea:%%=%%%%! etc... echo !Linea!>>archivo.bat ) Así que no se si es esto lo que quieres, No se si entendí bien xD... Pero el siguiente código te permite mover lineas de un archivo, DESDE ARRIBA HACIA ABAJO: PD: Seguramente hay métodos mejores. @Echo OFF
:: By Elektro H@cker :: Foro.ElHacker.Net
Setlocal enabledelayedexpansion
Set "File=test.txt" Set "TEMPFile=temp.txt" Set "NewFile=%~n0_Nuevo.%~x0" Set "cuttedline=cut.txt"
::::::::::::::::::::::::::::::::::::: REM La linea que quieres "cortar" Set /A Cut=4
REM La linea donde la quieres "pegar" Set /A Paste=8 :::::::::::::::::::::::::::::::::::::
:Copy IF !CUT! GTR !PASTE! (Exit) Echo Dummy Line >> "%TEMPFile%" Type "%FILE%" >> "%TEMPFile%"
:Cut Set /A NEXT=1 For /F "Tokens=*" %%a in ('Type "%TEMPFile%" ^| more +!CUT!') Do ( echo %%a>>"%cuttedline%" Goto :Read_Start )
:Read_Start FOR /L %%# IN (!NEXT!,1,!PASTE!) DO ( For /F "Tokens=*" %%a in ('Type "%TEMPFile%" ^| more +!NEXT!') Do ( If !NEXT! GTR !PASTE! (Set /A Next=1& Goto :Read_end) If !NEXT! EQU !CUT! (Set /A NEXT+=1& Goto :Read_start) else (Set /A NEXT+=1) echo %%a>>"%NEWFILE%" Goto :Read_Start ) )
:Read_end Type "%cuttedline%">>"%NEWFILE%" Type "%FILE%" | more +!PASTE! >>"%NEWFILE%" Del /Q "%TEMPFile%", "%cuttedline%" Exit test.txt: linea 1 linea 2 linea 3 linea 4 linea 5 linea 6 linea 7 linea 8 linea 9 linea 10 saludos
|
|
|
|
|
11160
|
Programación / Scripting / Re: programacion Batch
|
en: 23 Junio 2012, 04:08 am
|
Hola. (Antes de nada, Debo decirte que hay que usar el botón "insertar código" si sigues posteando en esta sección...) Veo varios errores a simple vista: 1º Se te ha colado, Esa linea dará error ya que no es ningún comando. 2º FINDSTR /V "FastCopy * <Source> * <DestDir> * <Command> * TotalRead * TotalWrite * TransRate * FileRate " Log.txt >log2.txt
Lo mismo de antes... No se si son errores que has tenido al copiar el código aquí, Pero si en el archivo Bat lo tienes así, debes juntar las lineas... 3º Estás usando una herramienta de terceros (fastcopy) así que proporcionarte la ayuda es complicado ya que no creo que ninguno de los que leamos tú problema dispongamos de esa herramienta. Puedes copiar archivos entre PC's conectados usando el comando XCopy (Igual de efectivo): http://ss64.com/nt/xcopy.html4º No especificas nada acerca del error y eso hace aún más complicado proporcionarte ayuda. Si no sabes nada respecto al error, Ejecuta el bat directamente desde la consola, Y cuando de error te lo especificará (sin muchos detalles, pero con eso se averigua lo que te está dando error...). EDITO: 5º No es necesario habilitar la expansión ya que no la necesitas y no la usas, Borra esta linea: Saludos
|
|
|
|
|
|
| |
|