Dir que devuelva solo nombre y fecha (Batch)

12/03/2007 - 16:11 por Yoli | Informe spam
Hola, he intentado crear un batch que me devuelva un listado con el
nombre y fecha de modificación de los ficheros de un directorio, pero
no lo consigo.
Agradezco de antemano cualquier ayuda.

Muchas gracias

Preguntas similare

Leer las respuestas

#6 nqner
14/03/2007 - 02:14 | Informe spam
Hola Claudia, trataba de hacersela facil, lo tuyo esta exelente, pero si
empezamos con los % se le complicara, al mio solo le falta extraer los
crarcteres que le hacen falta, o sea marcar la posicion desde donde extraer.

nqner
Neuquen Argentina

"Sygrama Software" escribió en el mensaje
news:
Hola nqner:

Me parece que lo que necesita Yoli es un dir intermedio entre el común y el
/b: de cada archivo quiere ver el nombre y la fecha de modificación, no la
hora o el tamaño, o el path.
Tengo guardado un batch que mostraba en un dir /s el camino completo de cada
archivo y pienso que sobre él se podría trabajar para que muestre sólo los
dos campos que se desean ver, pero no sé cómo hacerlo.
El batch en cuestión era (no recuerdo si lo posteó Daniel Martín o José
Gallardo)
@echo off
setlocal
for /f "tokens=*" %%a in ('dir /s /b /a:-d %1') do call :nombre "%%a"
goto :EOF
:nombre
set nombrecompleto=%1
for /f "tokens=*" %%a in ('dir /a %nombrecompleto% ^| find "/"') do set
dato=%%a
echo %dato:~0,17% %dato:~26,9% bytes %nombrecompleto:"=%
goto :EOF
-
En la manipulación de %dato:~ etc% probablemente esté la solución.
Saludos
Claudia Podestá
Rosario - Argentina

"nqner" escribió en el mensaje
news:%23uPD%
Ahi va completo: primero ejecutas esta linea: "dir /A /N /O:G|find /I
"DIR"
/V >c:\temp\filtro.txt" luego filtras este archivo con esta otra linea:
"type c:\temp\filtro.txt|find "bytes" /V" aqui tendras una salida por
pantalla si la quieres dirigir a un archivo agregas al final >archivo.txt.
Estas lineas pruebalas primero desde la linea de comando en una pantalla
"DOS"(cmd).

suerte


nqner



"Yoli" escribió en el mensaje
news:
No, mi problema es que el listado solo debe de contener el nombre del
fichero y la fecha de modificación. Ni tamaño del fichero ni
información del directorio.
Gracias.

On 13 mar, 01:39, "nqner" wrote:
Probaste poniendo "dir /A /O:D"? no se si esa es tu dificultad.

nqner

"Yoli" escribió en el
mensajenews:
Hola, he intentado crear unbatchque me devuelva un listado con el
nombre y fecha de modificación de los ficheros de un directorio, pero
no lo consigo.
Agradezco de antemano cualquier ayuda.

Muchas gracias





Respuesta Responder a este mensaje
#7 Ramón Sola [MVP Windows - Shell/User]
14/03/2007 - 04:23 | Informe spam
Prueba esto y observa si te satisface la salida:

for %a in (*) do echo %~nA %~tA

Dentro de un archivo batch hay que doblar los signos de porcentaje que hacen
referencia a la variable del FOR:
for %%a in (*) do echo %%~nA %%~tA

Para poder distinguir una cosa de la otra (para que otro programa analice la
información, por ejemplo) puedes encerrarlas entre comillas:
Línea de comandos: for %a in (*) do echo "%~nA" "%~tA"
Archivo batch: for %%a in (*) do echo "%%~nA" "%%~tA"

Ramón Sola / / MVP Windows - Shell/User
Para obtener la dirección correcta no hacen falta los sellos.
Por favor, usar el correo sólo para cuestiones ajenas a los
grupos de noticias, gracias.

Un buen día, Yoli () tuvo la irrefrenable necesidad de
escribir:
Hola, he intentado crear un batch que me devuelva un listado con el
nombre y fecha de modificación de los ficheros de un directorio, pero
no lo consigo.
Agradezco de antemano cualquier ayuda.

Muchas gracias
Respuesta Responder a este mensaje
#8 Sygrama Software
14/03/2007 - 23:35 | Informe spam
Hola Ramón:
Con las A en mayúscula como lo escribiste, no va; con las a en minúscula, sí (¿desde cuándo es sensible al case?) ( ¿cómo se dice "case" en castellano?)
¿qué letras identifican a los otros datos del archivo? (tamaño, dueño, atributos)
Gracias!
Claudia Podestá
Rosario - Argentina

"Ramón Sola [MVP Windows - Shell/User]" escribió en el mensaje news:
Prueba esto y observa si te satisface la salida:

for %a in (*) do echo %~nA %~tA

Dentro de un archivo batch hay que doblar los signos de porcentaje que hacen
referencia a la variable del FOR:
for %%a in (*) do echo %%~nA %%~tA

Para poder distinguir una cosa de la otra (para que otro programa analice la
información, por ejemplo) puedes encerrarlas entre comillas:
Línea de comandos: for %a in (*) do echo "%~nA" "%~tA"
Archivo batch: for %%a in (*) do echo "%%~nA" "%%~tA"

Ramón Sola / / MVP Windows - Shell/User
Para obtener la dirección correcta no hacen falta los sellos.
Por favor, usar el correo sólo para cuestiones ajenas a los
grupos de noticias, gracias.

Un buen día, Yoli () tuvo la irrefrenable necesidad de
escribir:
Hola, he intentado crear un batch que me devuelva un listado con el
nombre y fecha de modificación de los ficheros de un directorio, pero
no lo consigo.
Agradezco de antemano cualquier ayuda.

Muchas gracias



Respuesta Responder a este mensaje
#9 Ramón Sola [MVP Windows - Shell/User]
15/03/2007 - 02:16 | Informe spam
Ops, es cierto, no me di cuenta de la equivocación. En el ámbito de un FOR
variables mayúsculas y minúsculas son diferentes. Por ejemplo, esto es
perfectamente válido pero confuso:
for %B in (1 2 3 4 5) do @for %b in (6 7 8 9 10) do @echo %B %b


La ayuda de la orden FOR expone otras posibilidades de expansión de nombres de
archivo (propiedaeds como dueño o permisos no están incluidas):
<pego>
Además, la sustitución de las referencias de variables FOR ha sido mejorada.
Ahora puede usar la siguiente sintaxis opcional:

%~I - expande %I quitando las comillas (") que pudiera haber
%~fI - expande %I a un nombre de ruta calificado
%~dI - expande %I sólo a una letra de unidad
%~pI - expande %I sólo a una ruta
%~nI - expande %I sólo a un nombre de archivo
%~xI - expande %I sólo a una extensión de archivo
%~sI - ruta expandida contiene sólo nombres cortos
%~aI - expande %I a atributos de archivos
%~tI - expande %I a fecha/hora del archivo
%~zI - expande %I a tamaño del archivo
%~$PATH:I - busca los directorios de la lista de la variable de entorno de
PATH y expande %I al nombre totalmente calificado del primero que se encuentre.
Si el nombre de la variable de entorno no es definido o no se encuentra el
archivo en la búsqueda, el modificador se expande a la cadena vacía.

Los modificadores se pueden combinar para conseguir resultados compuestos:

%~dpI - expande %I sólo a una letra de unidad
%~nxI - expande %I sólo a un nombre de archivo y extensión
%~fsI - expande %I sólo a un nombre de ruta con nombres cortos
%~dp$PATH:i - busca los directorios de la lista de la variable de entorno de
PATH para %I y se expande a la letra de unidad y ruta del primero que encuentre.
%~ftzaI - expande %I a DIR como línea de salida.
En los ejemplos anteriores %I y PATH pueden ser reemplazados por otros valores
válidos. La sintaxis %~ está terminada por un nombre de variable FOR válido.

El código se vuelve más legible si se usan variables en mayúscula como %I, además
esto evita confundir las variables con los modificadores, los cuales no
distinguen entre mayúsculas y minúsculas.
</pego>

Ramón Sola / / MVP Windows - Shell/User
Para obtener la dirección correcta no hacen falta los sellos.
Por favor, usar el correo sólo para cuestiones ajenas a los
grupos de noticias, gracias.

Un buen día, Sygrama Software () tuvo la irrefrenable
necesidad de escribir:
Hola Ramón:
Con las A en mayúscula como lo escribiste, no va; con las a en minúscula, sí
(¿desde cuándo es sensible al case?) ( ¿cómo se dice "case" en castellano?)
¿qué letras identifican a los otros datos del archivo? (tamaño, dueño,
atributos)
Gracias!
Claudia Podestá
Rosario - Argentina

"Ramón Sola [MVP Windows - Shell/User]"
escribió en el mensaje news:
> Prueba esto y observa si te satisface la salida:
>
> for %a in (*) do echo %~nA %~tA
>
> Dentro de un archivo batch hay que doblar los signos de porcentaje que hacen
> referencia a la variable del FOR:
> for %%a in (*) do echo %%~nA %%~tA
>
> Para poder distinguir una cosa de la otra (para que otro programa analice la
> información, por ejemplo) puedes encerrarlas entre comillas:
> Línea de comandos: for %a in (*) do echo "%~nA" "%~tA"
> Archivo batch: for %%a in (*) do echo "%%~nA" "%%~tA"
>
Respuesta Responder a este mensaje
#10 Sygrama Software
15/03/2007 - 21:35 | Informe spam
Hola Ramón:
Muchas gracias!
No pensé en la ayuda del FOR, pensé que estaría en algún lugar más general de la ayuda. Gracias de nuevo
Claudia Podestá
Rosario - Argentina
"Ramón Sola [MVP Windows - Shell/User]" escribió en el mensaje news:eP8aL%
Ops, es cierto, no me di cuenta de la equivocación. En el ámbito de un FOR
variables mayúsculas y minúsculas son diferentes. Por ejemplo, esto es
perfectamente válido pero confuso:
for %B in (1 2 3 4 5) do @for %b in (6 7 8 9 10) do @echo %B %b


La ayuda de la orden FOR expone otras posibilidades de expansión de nombres de
archivo (propiedaeds como dueño o permisos no están incluidas):
<pego>
Además, la sustitución de las referencias de variables FOR ha sido mejorada.
Ahora puede usar la siguiente sintaxis opcional:

%~I - expande %I quitando las comillas (") que pudiera haber
%~fI - expande %I a un nombre de ruta calificado
%~dI - expande %I sólo a una letra de unidad
%~pI - expande %I sólo a una ruta
%~nI - expande %I sólo a un nombre de archivo
%~xI - expande %I sólo a una extensión de archivo
%~sI - ruta expandida contiene sólo nombres cortos
%~aI - expande %I a atributos de archivos
%~tI - expande %I a fecha/hora del archivo
%~zI - expande %I a tamaño del archivo
%~$PATH:I - busca los directorios de la lista de la variable de entorno de
PATH y expande %I al nombre totalmente calificado del primero que se encuentre.
Si el nombre de la variable de entorno no es definido o no se encuentra el
archivo en la búsqueda, el modificador se expande a la cadena vacía.

Los modificadores se pueden combinar para conseguir resultados compuestos:

%~dpI - expande %I sólo a una letra de unidad
%~nxI - expande %I sólo a un nombre de archivo y extensión
%~fsI - expande %I sólo a un nombre de ruta con nombres cortos
%~dp$PATH:i - busca los directorios de la lista de la variable de entorno de
PATH para %I y se expande a la letra de unidad y ruta del primero que encuentre.
%~ftzaI - expande %I a DIR como línea de salida.
En los ejemplos anteriores %I y PATH pueden ser reemplazados por otros valores
válidos. La sintaxis %~ está terminada por un nombre de variable FOR válido.

El código se vuelve más legible si se usan variables en mayúscula como %I, además
esto evita confundir las variables con los modificadores, los cuales no
distinguen entre mayúsculas y minúsculas.
</pego>

Ramón Sola / / MVP Windows - Shell/User
Para obtener la dirección correcta no hacen falta los sellos.
Por favor, usar el correo sólo para cuestiones ajenas a los
grupos de noticias, gracias.

Un buen día, Sygrama Software () tuvo la irrefrenable
necesidad de escribir:
Hola Ramón:
Con las A en mayúscula como lo escribiste, no va; con las a en minúscula, sí
(¿desde cuándo es sensible al case?) ( ¿cómo se dice "case" en castellano?)
¿qué letras identifican a los otros datos del archivo? (tamaño, dueño,
atributos)
Gracias!
Claudia Podestá
Rosario - Argentina

"Ramón Sola [MVP Windows - Shell/User]"
escribió en el mensaje news:
> Prueba esto y observa si te satisface la salida:
>
> for %a in (*) do echo %~nA %~tA
>
> Dentro de un archivo batch hay que doblar los signos de porcentaje que hacen
> referencia a la variable del FOR:
> for %%a in (*) do echo %%~nA %%~tA
>
> Para poder distinguir una cosa de la otra (para que otro programa analice la
> información, por ejemplo) puedes encerrarlas entre comillas:
> Línea de comandos: for %a in (*) do echo "%~nA" "%~tA"
> Archivo batch: for %%a in (*) do echo "%%~nA" "%%~tA"
>



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida