Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: cat26 en 3 Octubre 2018, 09:47 AM

Título: Almacenar nombre de un archivo en una variable [BATCH]
Publicado por: cat26 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 (dos) [Seleccionar]
@echo off
FOR %%F IN (*.java) DO SET NOMBRE=%%F
ECHO %NOMBRE%
pause

Asi solo logro hacer que me muestre nombre y extension :/
Título: Re: Almacenar nombre de un archivo en una variable [BATCH]
Publicado por: OmarHack 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

Título: Re: Almacenar nombre de un archivo en una variable [BATCH]
Publicado por: **Aincrad** en 3 Octubre 2018, 15:43 PM
Metodo 1.

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



Metodo 2.

Código (bash) [Seleccionar]
@echo off 
::::::::::::::::::::::::
:se crea el directorio.
::::::::::::::::::::::::
      (if exist lista.dll del lista.dll         
               dir /b *.java >> lista.dll
                    cls     )                     
::::::::::::::::::::::::::::::::
:se crea un backup
::::::::::::::::::::::::::::::::
    (    echo/
              echo/
                  copy "lista.dll" "%temp%\lista.txt"
              cls
           echo/  )
::::::::::::::::::::::::::::::::::::::
:se muestra el directorio en la cmd
::::::::::::::::::::::::::::::::::::::
  (      color a
           type "%temp%\lista.txt"   
     echo/
     echo ================================
     echo =   candad de archivos  .java  =
     echo ================================
     echo/
                 dir /b *.txt | find /c  ".txt"
      del /f /q "%temp%\lista.txt"
      ECHO CREATE BY **Aincrad**
pause >nul)



Metodo 3

Código (bash) [Seleccionar]
@echo off
del %temp%\a.txt
cls
:Crearlista

  for %%x in (*.java) do (echo %%x >> %temp%\a.txt)
      echo lista Creada.
ping localhost -n 2 >nul

:leerlista
cls
color b
type "%temp%\a.txt"
pause>nul
exit


SALUDOS
Título: Re: Almacenar nombre de un archivo en una variable [BATCH]
Publicado por: cat26 en 4 Octubre 2018, 05:33 AM
gracias con su ayuda pude resolver lo que buscaba
Código (dos) [Seleccionar]
FOR %%o IN (*.java) DO (
SET nombresinextension=%%~no
)