elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Almacenar nombre de un archivo en una variable [BATCH]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Almacenar nombre de un archivo en una variable [BATCH]  (Leído 7,100 veces)
cat26

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Almacenar nombre de un archivo en una variable [BATCH]
« en: 3 Octubre 2018, 09:47 am »

Hola a todos! Necesito ayuda con un batch.
Necesito que lea el nombre de un archivo y lo almacene en una variable para posteriormente tarabajar con ese nombre. hay alguna manera???
El archivo no importa el nombre *.txt lo que me importa es nadamas el nombre eh estado intentando con varios codigos que encontré y nada. Se los agradeceria
GRACIAS
Código
  1. @echo off
  2. FOR %%F IN (*.java) DO SET NOMBRE=%%F
  3. ECHO %NOMBRE%
Asi solo logro hacer que me muestre nombre y extension :/


En línea

OmarHack


Desconectado Desconectado

Mensajes: 1.268


Ver Perfil
Re: Almacenar nombre de un archivo en una variable [BATCH]
« Respuesta #1 en: 3 Octubre 2018, 10:09 am »

Con %f pillas todo el path, usa %n en su lugar para sacar solo el nombre del archivo.
https://stackoverflow.com/questions/15567809/batch-extract-path-and-filename-from-a-variable#15568171



En línea

I like to test things.
**Aincrad**


Desconectado Desconectado

Mensajes: 682



Ver Perfil WWW
Re: Almacenar nombre de un archivo en una variable [BATCH]
« Respuesta #2 en: 3 Octubre 2018, 15:43 pm »

Metodo 1.

Código
  1. @echo off & title Contador de Archivos & set a=0 & color a & :by **Aincrad**
  2.      echo/ & dir /b *.java | findstr /n ".java$" & echo/
  3.                                        (for %%x in (*.java) do set /a a+=1)
  4.      echo/ & echo/ & echo      Archivos txt encontrados %a% & echo/
  5. pause  
  6.  


Metodo 2.

Código
  1. @echo off  
  2. ::::::::::::::::::::::::
  3. :se crea el directorio.
  4. ::::::::::::::::::::::::
  5.      (if exist lista.dll del lista.dll          
  6.               dir /b *.java >> lista.dll
  7.                    cls     )                    
  8. ::::::::::::::::::::::::::::::::
  9. :se crea un backup
  10. ::::::::::::::::::::::::::::::::
  11.    (    echo/
  12.              echo/
  13.                  copy "lista.dll" "%temp%\lista.txt"
  14.              cls
  15.           echo/  )
  16. ::::::::::::::::::::::::::::::::::::::
  17. :se muestra el directorio en la cmd
  18. ::::::::::::::::::::::::::::::::::::::
  19.  (      color a
  20.           type "%temp%\lista.txt"    
  21.     echo/
  22.     echo ================================
  23.     echo =   candad de archivos  .java  =
  24.     echo ================================
  25.     echo/
  26.                 dir /b *.txt | find /c  ".txt"
  27.      del /f /q "%temp%\lista.txt"
  28.      ECHO CREATE BY **Aincrad**
  29. pause >nul)


Metodo 3

Código
  1. @echo off
  2. del %temp%\a.txt
  3. cls
  4. :Crearlista
  5.  
  6.  for %%x in (*.java) do (echo %%x >> %temp%\a.txt)
  7.      echo lista Creada.
  8. ping localhost -n 2 >nul
  9.  
  10. :leerlista
  11. cls
  12. color b
  13. type "%temp%\a.txt"
  14. pause>nul
  15. exit

SALUDOS
En línea



cat26

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Almacenar nombre de un archivo en una variable [BATCH]
« Respuesta #3 en: 4 Octubre 2018, 05:33 am »

gracias con su ayuda pude resolver lo que buscaba
Código
  1. FOR %%o IN (*.java) DO (
  2. SET nombresinextension=%%~no
  3. )
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines