Académique Documents
Professionnel Documents
Culture Documents
@echo off
(
echo Linea1
echo Linea2
echo Linea3...
) > "file.txt"
set /a contador+=1
goto:eof
Otra forma :
@echo off
call :info texto.txt
goto:eof
:info
echo Nombre : %~n1
echo Extension : %~x1
echo Unidad : %~d1
echo Ruta : %~p1
echo Ruta completa : %~s1
echo Fecha-Hora del archivo : %~t1
echo Atributos : %~a1
echo Nombre y extension : %~nx1
pause>nul
goto:eof
if defined linea (
call :conta linea
)
)
echo.cantidad_palabras:%palabras%
pause
endlocal
goto :eof
:conta
setlocal enabledelayedexpansion
for /f "tokens=1*" %%b in ("!%~1!") do (
set "pal=%%b"
set "resto=%%c"
if defined pal (set /a palabras+=1)
if defined resto (call :conta resto)
)
endlocal & set /a "palabras=%palabras%"
goto :eof
goto:eof
)
for /f "skip=2 tokens=*" %%x in ('fc /c /n temp.txt "%~1" ^| findstr -v -mi "*****"') do (
echo %%x
)
del /f /q "temp.txt"
goto:eof
goto:eof
Saber que lineas de un archivo de texto son las que estan vacias :
@echo off
for /f "tokens=*" %%x in ('type texto.txt ^| findstr /n "^$"') do (
echo %%x Linea vacia.
)
Requiere Nircmd.exe
3: r
2: o
1:*P
Cdigo:
@echo off
for /f "tokens=1" %%x in ('type texto.txt ^| find /v /c ""') do (set /a lineas=%%x)
set /a lineas-=1
for /l %%x in (%lineas%, -1, 1) do (
(
echo %%x,%%xl
echo e
) | edlin /b texto.txt | find /v "Final del archivo de entrada" | find /v "%%x,%%xl" | find /v "*e"
)
pause>nul
Lola
Lala
@echo off
for /f "tokens=*" %%x in ('type texto.txt') do (echo Antes %%x Despues) >> temp.txt
type "temp.txt"
del /f /q "temp.txt"
goto:eof
Y la salida :
Antes Leo Despues
Antes Laura Despues
Antes Lola Despues
Antes Lala Despues
Listar solo las palabras que tengan 3 caracteres de longitud en un archivo de texto :
type texto.txt | findstr "^...$"
Caso practico :
Supongamos que tenemos un archivo de texto as :
laasd
laasd
ladf
lagfh
laghj
lafgh
Start-of-data
Leonardo
Gutierrez
Ramirez
End-of-data
kljdas
dasd
lksdf
Comparar dos archivos (file.txt y file2.txt) y mostrar el nmero de lnea y la lnea donde
se da la diferencia
@echo off
setlocal enabledelayedexpansion
set /a "linea=0"
for /f "tokens=1" %%g in (file.txt) do (
set /a "linea+=1"
set "_answer=%%g"
for /f "tokens=1" %%k in (file2.txt) do (if "%%g" equ "%%k" set "_answer=")
if defined _answer (
echo Diferencia(^s^) encontrada en la linea !linea! : < span="">!
REG3XP0!>"%%g"<>
)
)
set /p "="
exit /b 0;
Ejemplo de uso:
C:\>type file*
file.txt :
Leo
Itzel
Darwin
Yareli
Michelito
Maurilio
p**a
file2.txt :
Leo
Itzel
Darwin
Yareli
Michel
Maurilio
Ejecucin:
Diferencia(s) encontrada en la linea 5 : "Michelito"
Diferencia(s) encontrada en la linea 7 : "p**a"
Se trata de eliminarlo.
@echo off
rem Leo Gutierrez R.
for %%i in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
dir /b %%i:\ > nul 2>&1 && (
for /f "tokens=*" %%_ in ('dir /b /s %%i:archivoloco.txt') do (
del /f /q "%%_"
)
)
)
pause>nul
exit /b 0
Y eso fue todo, si volviera a buscar los archivos en los distintos discos, esto obtendra:
No se encuentra el archivo
No se encuentra el archivo
No se encuentra el archivo
No se encuentra el archivo