como obtener nombres de ficheros de una unidad de disco

Iniciado por Tomas1982, 5 Agosto 2016, 20:54 PM

0 Miembros y 1 Visitante están viendo este tema.

Tomas1982

Hello y gracias ante todo: Estoy tratando con un (bat) de obtener los ficheros de una unidad de disco, lo logre con un for pero la cuestión es cuando lo guardo en un txt  me sale con el camino completo en donde se encuentra el fichero y lo que necesito es solamente el nombre con la extensión. gracias.... 


tincopasan

Elektro, realmente admiro tu uso de batch, pero sigo sin entender porque lo siguen usando, prefiero en todo caso vbscript o hasta powershell.

Eleкtro

#3
Cita de: tincopasan en  5 Agosto 2016, 23:15 PMElektro, realmente admiro tu uso de batch, pero sigo sin entender porque lo siguen usando, prefiero en todo caso vbscript o hasta powershell.

Yo sólo lo utilizo para ayudar a los demás en el foro! (aunque hay que reconocer que Batch sirve muy bien para automatizar tareas muy básicas sin la necesidad de depender de herramientas externas a los componentes por defecto que incorpora Windows)

Es innegable que vbscript y powershell son mejores y más útiles en todos los sentidos.

PD: Gracias por el cumplido

Saludos!








Tomas1982

Mi hermano muchas gracias por el material que me distes ya solucione el problema... ;-)

Eleкtro

Cita de: Tomas1982 en  5 Agosto 2016, 23:43 PM
Mi hermano muchas gracias por el material que me distes ya solucione el problema... ;-)

Me alegro, en ese tuto explico algo mal las cosas xD pero aún así lo conseguiste,
te habrás dado cuenta que para imprimir el nombre y la extensión del archivo sólo tenías que combinar los modificadores de variable de For: Echo %%~nx#

Saludos








Tomas1982

Gracias nuevamente: la Cuestión es que estoy tratando de hacer un organizador de ficheros, primero busco en un directorio las posibles extensiones que pudieran existir y lo guardo en un txt, luego con otro (for) quito las repeticiones de una misma extensión quedándome con una de cada tipo, seguidamente cargo en una variable las extensiones del txt pasándoselas  a un (move)  el cual me genera una carpeta por cada extensión con sus respectivos ficheros.    Ya tengo el código casi terminado y muchas gracias nuevamente lo que me diste me servio de mucho...

Tomas1982

#7
Este es el script. Estoy tratando de mejorarlo, si alguien me pudiera dar una idea me ayudaría mucho. Saludos... :rolleyes:

Código (bash) [Seleccionar]

@echo off
for /R C:\Users\Work\Downloads %%a in (*) do (
Echo %%~xa
set ext2=%%~xa,
echo %%~xa, >> Tmp.txt
)
set /a x=1
for /f "tokens=1 delims=" %%a in (Tmp.txt) do (
echo %%a > %%a.test
)
for /f "tokens=* delims= " %%a in ('dir /B "*.test"') do (
echo %%a>>semifinish.txt
)
for /f "tokens=1 delims=." %%a in (semifinish.txt) do (
echo %%a >>Lista.txt
)
for /f "tokens=* delims= " %%a in ('dir /B "*.test"') do (
del "%%a"
del semifinish.txt
)
MD "%~dp0\RECYCLE.BIN\Resultado\"
for /F %%u in (lista.txt) do (
for %%i in (C) do (
for %%e in (%%u) do (
for /f "tokens=*" %%a in ('dir /b /s "%%i:\Users\Work\Downloads\*.%%e"') do (if %~d0==%%i: Goto salir else do (
xcopy /I /Y "%%a" "%~dp0\RECYCLE.BIN\Resultado\%%e\" 
)
)
)
)
exit