Como acceder a un W2000 desde W10 y no morir en el intento


Puede parecer descabellado en los tiempos  que corren que aún quede alguna máquina corriendo con Windows 200, pero  por extraño que puede parecer,  en  efecto para determinados servicios legados es posible que necesitemos conectarnos a esa máquina   mediante alguna utilidad  de escritorio remoto ( por ejemplo   mediante el famoso servicio VNC , o el viejo escritorio remoto  mstsc de Windows ,las cual sonra la manera estándar  de trabajar en ambiente Windows)   quizás para actualizar algún desarrollo de nuevo servicio  .

Bien  , quizás  lo “fácil”   sea  acceder mediante el  VNC , o el  mstsc de Windows dado   que son servicios prácticamente integrados en el so,  pero quizas  en realidad lo complejo se haga cuando la máquina está aislada de internet y tratemos de copiar ficheros desde o hacia  esa máquina  a  una local que ejecute un so actual como puede ser w10 +

Si lo intenta  , lo  primero    ya sabemos deberia ser  comprobar la  conectividad  a  esa máquina desde nuestro w10 ,para lo  cual lo  primero es lanzar el comando Ipconfig en el W2000   para saber la dirección IP del servidor

Como vemos en el ejemplo, puede haber diferentes IP’s asociadas al mismo equipo  , pero al menos la ip  de servicio o producción debería devolvernos el ping desde nuestro equipo a la Ip obtenida con el comando ipconfig

 

Una vez sepamos que hay conectividad tcp/ip desde nuestro w10 al w2000   tendremos que comprobar que tiene los servicios de transferencia de ficheros iniciados

 

Si ambas circunstancias se dan  y no puede copiar ficheros desde el terminal server  o desde una unidad de red , probablemente le falle por diversas causas  que vamos a  ver para intentar dilucidar;  

 

SMB1

Si intenta conectar dispositivos que solo admiten SMBv1 o si estos dispositivos intentan conectarse con usted, es posible que reciba alguno de los siguientes mensajes de error:

No se puede conectar con los recursos compartidos de archivos porque no es seguro. Este recurso compartido requiere el protocolo SMB1 obsoleto, el cual no es seguro y podría exponer su sistema a ataques.
Su sistema requiere SMB2 o superior. Para obtener más información sobre cómo solucionar este problema, visite: https://go.microsoft.com/fwlink/?linkid=852747.

Desde luego este error anterior es el más típico, pero  existen otros errores parecidos  que tiene mucha relación con el error anterior:

  • El nombre de red especificado ya no está disponible.
  • Error no especificado 0x80004005
  • Error de sistema 64
  • El servidor especificado no puede realizar la operación solicitada.
  • Error 58

Precisamente  SMBv1 no está instalado de forma predeterminada en Windows 10 versión 1709 ni en Windows Server versión 1709 y posteriores. Tampoco  en Windows 10 Fall Creators Update y Windows Server versión 1709 (RS3) y posteriores, el protocolo de red Bloque de mensajes del servidor versión 1 (SMBv1) no está instalado de forma predeterminada, poruqe desde 2017, se utiliza SMBv2 y protocolos posteriores. Microsoft desaprobó públicamente el protocolo SMBv1 en 2014.

SMBv1 tiene el siguiente comportamiento en Windows 10 Fall Creators Update y en Windows Server versión 1709 (RS3):

  • SMBv1 ahora tiene subcaracterísticas, tanto para el cliente como para el servidor, que pueden desinstalarse por separado.
  • Windows 10 Enterprise y Windows 10 Education ya no contienen SMBv1 para el cliente o el servidor de forma predeterminada después de una instalación limpia.
  • Windows Server 2016 ya no contiene SMBv1 para el cliente o el servidor de forma predeterminada después de una instalación limpia.
  • Windows 10 Home y Windows 10 Pofessional ya no contienen SMBv1 para el cliente o el servidor de forma predeterminada después de una instalación limpia.
  • Windows 10 Home y Windows 10 Professional ya no contienen SMBv1 para el cliente o el servidor de forma predeterminada después de una instalación limpia. Si SMBv1 para cliente no se utiliza durante 15 días en total (excepto cuando el equipo está apagado), se desinstala automáticamente.
  • Las actualizaciones directas y los pilotos de Insider de Windows 10 Home y Windows 10 Professional no quitan SMBv1 automáticamente desde el inicio. Si SMBv1 para el cliente o el servidor no se utiliza durante un total de 15 días (sin incluir el tiempo durante el que el equipo está apagado), cada uno se desinstala automáticamente. 
  • Las actualizaciones directas y los pilotos de Insider de Windows 10 Enterprise y Windows 10 Education no quitan SMBv1 automáticamente. Un administrador debe decidir desinstalar SMBv1 en estos entornos administrados. En Windows 10 versión 1809 (RS5) y versiones posteriores, un administrador puede activar la eliminación automática de SMBv1 activando la característica “Eliminación automática de SMB 1.0/CIFS”.
  • Quitar automáticamente SMBv1 después de 15 días es una operación de un solo uso. Si un administrador reinstala SMBv1, no se harán más intentos para desinstalarlo.
  • Las características de los SMB versión 2.02, 2.1, 3.0, 3.02 y 3.1.1 aún son totalmente compatibles y se incluyen de forma predeterminada como parte de los archivos binarios de SMBv2.
  • Debido a que el servicio Explorador de equipos utiliza SMBv1, el servicio se desinstalará si SMBv1 para el cliente o el servidor también se desinstala. Esto significa que Explorer Network ya no puede mostrar a los equipos con Windows por medio del método de exploración de datagramas NetBIOS heredado.
  • SMBv1 aún puede reinstalarse en todas las ediciones de Windows 10 y Windows Server 2016.

Windows 10 versión 1803 (RS4) Profesional controla SMBv1 de la misma forma que la versión 1703 de Windows 10 (RS2) y Windows 10 versión 1607 (RS1). Este error se corrigió en Windows 10 versión 1809 (RS5). Todavía puede desinstalar SMBv1 manualmente. Sin embargo, Windows no desinstalará automáticamente SMBv1 después de 15 días en los siguientes escenarios:

  • Si realiza una instalación limpia de Windows 10 versión 1803.
  • Si actualiza Windows 10 versión 1607 o Windows 10 versión 1703 a Windows 10 versión 1803 directamente, sin actualizar primero a Windows 10 versión 1709.

 

Volver a activar SMBv1 en Windows 10

Con la nueva versión de Window 10 Fall Creators, microsoft a tomado la decisión de deshabilitar el protocolo SMB versión 1 ,después de todos los problemas sufridos por Wannacry,Petya… que aprovechaban una vulnerabilidad del protocolo.  Si no tenemos más remedio que habilitar SMB v1 en Windows 10  ,tendremos que abrir una consola de powershell como administrador y ejecutamos el  comando de activación de este protocolo, es decir seguiremos los siguientes pasos :

  1. Para activar el Power Shell debemos ejecutarlo como permisos de administrador
  2. Nos debe  salir una ventana de texto con el prompt   con el  PS
  3. Ejecutar la siguiente orden:  Enable-WindowsOptionalFeature -Online -FeatureName smb1protocol
  4. Reiniciamos el sistema para aplicar los cambios
  5. En   teoría   ya deberíamos poder  acceder a los recursos compartidos.

Podemos volver a deshabilitar SMB v1 en cualquier momento con : Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol

 

 

Windows 10 “el servicio de inicio de sesión de la red no se ha iniciado” y error 1068

Si a pesar de haber realizado el paso anterior cuando se intente conectar a una unidad de red aparece el error “el servicio de inicio de sesión de la red no se ha iniciado” lo  primero es averiguar los permisos

Si da igual con que usuario entre y  siempre sale ese error, probaremos   usando el usuario administrador.

)

 

Si entrando con el usuario administrador va buscando el problema, intentando cambiar el nombre del equipo (pero aparece en gris y sale un mensaje de que el servicio de “estación de trabajo no funciona” y no deja cambiar el nombre del equipo, nos deberíamos   ir a ver los servicios para intentar activar el servicio “estación de trabajo

Si nos aparece  el error 1068  esto  significa “No se puede iniciar el servicio o grupo de dependencia”.

El servicio Estación de trabajo tiene dos componentes que dependen de él

  • Los servicios Net Logon
  •  Configuración de Escritorio remoto.

Es posible que el servicio Net Logon tenga algún problema. Accede a la consola de servicios, desde la cuenta administrador y compruebe el servicio

Concurso Azure Sphere


En la era de IoT, nuestra vida está cada vez más integrada con la tecnología  gracias a la capacidad de los dispositivos de consumo cotidiano, las máquinas industriales, los vehículos y los electrodomésticos para interactuar entre sí mediante la conectividad de Internet integrada ha hecho la vida más fácil y eficiente.

Microsoft ha desarrollado Azure Sphere para el desarrollo de dispositivos de microcontroladores (MCU) altamente seguros compatibles con implementaciones de IoT  , intentando  asegurarse de que los dispositivos innovadores puedan continuar alterando el status quo y mejorando nuestras vidas sin sacrificar el importante aspecto de  nuestra seguridad, aspecto  de los mas  crucial para  que el IoT pueda  seguir evolucionando. 

En este senctido  Microsoft  ha hecho una llamada a todos los ingenieros y desarrolladores de todo el mundo para crear proyectos altamente seguros, impulsados ​​por MCU utilizando Azure Sphere, diseñando formas creativas para asegurar lo que más lo necesita: ¡todo! 

Asegurar sus datos es importante en una gran cantidad de industrias. Aquí hay algunas ideas para comenzar:

  • Integrar Azure Sphere en dispositivos perimetrales de IoT nuevos o existentes
  • Asegurar sus proyectos de electrónica de consumo .
  • Innovaciones en torno al comercio seguro e inteligente
  • Construccion de soluciones robustas y seguras para edificios y domótica.
  • Diseñar soluciones seguras de fábrica.
  • Crear soluciones de energías renovables

La idea  pues es crear un nuevo proyecto en torno al concepto de seguridad o simplemente mejore la seguridad de sus proyectos existentes con su nuevo kit de Azure Sphere  contandoles detalles urante la experiencia. ¿La mejor parte? ¡Avnet está regalando hasta 20,000 Kits de Esfera Azure gratis para que podamos comenzar!

shutterstock_674647300.jpg

 

¿Qué es Microsoft Azure Sphere?

Azure Sphere consta de tres capas de seguridad: en el sistema operativo, en la nube y en la MCU.

  • Seguridad en el sistema operativo:Un SO creado a propósito reepecto a aspectos como  la seguridad y agilidad para crear una plataforma confiable para nuevas experiencias de IoT. Un sistema operativo seguro construye innovaciones de seguridad pioneras en Windows en un HLOS lo suficientemente pequeño para los MCU.

  • Seguridad en la MCU:Asegurado desde y hasta  el silicio  Esta nueva clase cruzada de MCU ahora combina procesadores de aplicaciones y en tiempo real con tecnología de seguridad y conectividad de Microsoft incorporadas.

  • Seguridad en la nube: Protege los dispositivos con una nube construida para la seguridad de IoT. El servicio de seguridad de Azure Sphere renueva la seguridad del dispositivo, identifica las amenazas emergentes y la confianza de los intermediarios entre el dispositivo, la nube y otros puntos finales.

 El hardware

Especificaciones del Carrier Board

  • Dos zócalos de expansión MikroE Click board
  • Conector de expansión Grove (I2C)
  • Sensores a bordo: acelerómetro de 3 ejes, giroscopio de 3 ejes, temperatura, presión / barométrica, luz ambiental
  • Interfaz para pantalla OLED 128×64 opcional
  • Interfaz USB
  • Soporta depuración, servicio y recuperación
  • UARTs, y JTAG
  • Interruptores pulsadores de usuario y LEDs.
  • Regulación de potencia de 5V a 3.3V
  • Entrada de alimentación de CC: USB 5V desde la computadora central y huellas de terminales para suministros externos de 5V DC y VBAT

Módulo Azure Sphere MT3620

  • MediaTek MT3620AN SoC
  • 3 interfaces ISU configuradas para UART, SPI, I2C
  • ADC / GPIO: 3x entradas de ADC de 12 bits (o 3 GPIOs)
  • PWM / GPIO: 9x salidas PWM (o hasta 24 GPIOs)
  • RTC (requiere suministro VBAT)
  • Wi-Fi de banda dual 2.4 / 5GHz 802.11 a / b / g / n
  • Antena chip de doble banda 2.4 / 5GHz

 El software

Tenga en cuenta los escenarios del mundo real: su solución segura deberá tener una transmisión de comunicación diaria con la Nube de Azure para garantizar una conexión protegida continua. Use su kit de desarrollo de Azure Sphere para aprovechar los servicios en la nube de Microsoft..

 

 

Concurso

 

Puede  regístrese para obtener su kit gratuito , eso si deberemos pagar los costes de envío y los impuestos o aranceles aduaneros de su país. !Incluso aún puede participar si su país no es elegible para los kits gratuitos pues si su país no está en la lista, consulte con frecuencia a medida que amplian el  alcance!.(vea todos los países elegibles. )

main-view.jpg

La seguridad es sumamente importante, pero la consistencia en entornos seguros es lo que nos mantiene en línea  por ello buscan que se pueda mostrar el kit de Azure Sphere como puede permanecer en línea durante 30 días consecutivos y de esta modo  será elegible para ganar los  mejores premios.

Una vez que tenga su kit en la mano, conéctelo y regístrelo descargando la pequeña aplicación de Windows para la sincronización diaria con el servidor de concursos.( Por favor revise las instrucciones de registro ) .Más detalles se pueden encontrar en las reglas oficiales.

 SoftWeb Solutions han construido un increíble “mapa de calor” para ver dónde se han conectado nuestros 20,000 kits de Azure Sphere en todo el mundo. Estaremos representado cada vez que realizemos la sincronización diaria y se convierta en parte de la presencia global de Azure Sphere. Échele un vistazo en el Mapa de Calor de Azure Sphere .

Captura de pantalla 2019-07-23 a las 9.40.08 AM.png

 

Este concurso es parte de una campaña más grande de comunidades de Avnet. Vea el desafío Sensing the World de element14, seminarios web, talleres virtuales y más recursos en secureeverything.avnet.com .

e14-01_vv8GvW475C.png

Premios

¡Estan regalando miles de dólares en premios a los 510 mejores proyectos! Un premio por persona: ninguna persona puede ganar el premio total de $ 35,000. Los  jueces elegirán los mejores proyectos calificados según los criterios de evaluación descritos en la sección de reglas. Los premios de Nivel 3 se entregan únicamente en función de los requisitos de elegibilidad.

Tier 1

Para los proyectos que se separan claramente del resto y demostraron creatividad y uso ejemplar de Azure Sphere. Para ser considerado para los premios de Nivel 1, debe hacer ping a la Nube de Azure una vez al día durante 30 días consecutivos.

3 ganadores de Microsoft Hololens  valorasas en $ 3,500

El mejor proyecto de su clase y el diseño de referencia definitivo para Microsoft Azure Sphere.

El nivel 2

Para los proyectos que se separan claramente del resto y demostraron creatividad y uso ejemplar de Azure Sphere. Para ser considerado para los premios de Nivel 2, debe hacer ping a la Nube de Azure una vez al día durante 15 días consecutivos.

7 ganadores de Surface Laptop  valoradas en  $ 1,000

Nivel 3

Para ser elegible para el premio Tier 3, su proyecto debe usar el kit de desarrollo de Azure Sphere. ¡Los proyectos ganarán automáticamente una nueva Raspberry Pi 4! Eche un vistazo a nuestros requisitos de calificación en la pestaña de reglas.

500 ganadores de Raspberry Pi 4 valoradas en  $ 35

Premio Hackster Impact

Únase a Hackster mientras nos unimos a los Objetivos de Desarrollo Sostenible (ODS) delas Naciones Unidas para hacer del mundo de hoy un lugar más inteligente y saludable. El equipo de Hackster seleccionará el proyecto que mejor contribuya a cualquiera de los ODS.Consulte los criterios de evaluación específicos para esta categoría de premios .

5 ganadoresTarjeta de regalo de $ 250 + tarjeta de regalo Adafruit de $ 100 + entrevista en video + másValor de $ 530

El ganador recibirá lo siguiente: 
– una tarjeta de regalo de $ 250; 
– una tarjeta de regalo Adafruit de $ 100 (premio especial para el concurso Secure Everything); 
– una suscripción de 12 meses a Patchr Premium (valor de $ 180); 
– Por último, pero no menos importante, se presentarán en una entrevista en video con el único y único Alex Glow de Hackster.

Por favor, visite la página del Premio Hackster Impact para más información.

Recursos

 

 

Mas info en hackester.io

 

Como acceder desde Java a contenidos de celdas en Excel


Lo cierto es puede que  en  ocasiones necesitemos procesar ficheros excel u otro tipo de hojas de cálculo de   forma automatizada, por ejemplo  para extraer  información  de determinadas celdas, manipular estas , generar ficheros de metadatos que  sigan ciertas reglas , etc

En este caso nos vamos a centrar en los documentos OLE 2 de Microsoft, que manipularemos  usando la libreria  Apache POI – the Java API for Microsoft Documents, que nos proporciona acceso a los diferentes tipos de ficheros de Microsoft que utilizan esta estructura como:  Excel Word o  Powerpoint, también hay otros proyectos dentro de esta API para Visio y Publisher por ejemplo

Como se  puede   imaginar de todos estos el más desarrollado es Excel Workbooks y es precisamente el tipo de fichero elegido para este ejemplo.

Antes de empezar  usaremos  la librería POI-HSSF and POI-XSSF – Java API To Access Microsoft, donde HSSF es el proyecto POI de implementación total en Java para ficheros excel.Esta libreria usa cuatro componentes fundamentalmente:

  • HSSFWorkbook: Representación de alto nivel de un libro (Workbook) que será nuestra documento excel. Es el primer objeto que construiremos si vamos a leer o escribir una hoja excel.
  • HSSFSheet: representación de alto nivel de una hoja excel, podemos elegir la hoja de la excel usando el HSSFWorkBook.
  • HSSFRow: representación de celda de una fila de la hoja excel, solo las filas que tienen filas se pueden añadir a la hoja.
  • HSSFCell: representación de una celda en una fila de la un hoja de la excel, la utilizaremos para manejar el contenido de la celda.

Bien, sin más  dilaciones,  empezamos  a  ver como podemos procesar ficheros de Tipo Excel  

Paso 1: Descargar librería Apache Poi Java API

Antes de nada, tenemos que descargar la librería API Apache Poi Java, para añadirla a nuestro proyecto, voy a explicar cómo hacerlo en el IDE que estoy usando para este ejemplo: Netbeans, en otros IDES será similar la forma de integración de las librerías.

En nuestro proyecto buscamos la carpeta Libraries nos colocamos encima y seleccionamos Add Library, no tiene mucho que explicar así que te lo mostraré en imágenes:

La librería es  https://www.apache.org/dyn/closer.lua/poi/release/bin/poi-bin-4.1.0-20190412.zip

 

 

 

 

Paso 2-Registro de la librería en nuestro proyecto

Una vez  descargada y descomprimida, nos iremos a Properties del proyecto , después a   Java Build Path y   pincharemos en la pestaña  Libraries

Aquí  pulsaremos Add External JARs  seleccionando “poi-4.01.jar” desde al ruta donde la hayamos dejado esta librería.

 

 

Paso 3-Incluir las librerías

Ahora toca pasarse  a  programar, pero antes , no debemos olvidar importar las  cuatro librerias  que comentaabamos al principio

  • HSSFRow: representación de celda de una fila de la hoja excel, solo las filas que tienen filas se pueden añadir a la hoja.
  • HSSFWorkbook: Representación de alto nivel de un libro (Workbook) que será nuestra documento excel. Es el primer objeto que construiremos si vamos a leer o escribir una hoja excel.
  • HSSFSheet: representación de alto nivel de una hoja excel, podemos elegir la hoja de la excel usando el HSSFWorkBook.
  • HSSFCell: representación de una celda en una fila de la un hoja de la excel, la utilizaremos para manejar el contenido de la celda

Visto asi , adjuntando otras librerias utiles , la cabecera de importaciones de librerias quedaria  asi: 

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;


import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Iterator;
import java.util.ArrayList;
import java.util.List;

import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;

import java.io.FileDescriptor;

import org.apache.poi.ss.usermodel.Cell;

 

Paso 4-Convertir al menos a  formato excel97  o superior

Antes de proseguir , en caso de tener ficheros excel en formato muy antiguos( por ejemplo Excel 95) .  deberemos  convertir estos   al menos al  formato excel 97,  para ello, en caso de que el formato sea de excel 95 deberemos abrir dicho fichero e irnos  a la opción   Guardar como seleccionamos   “libro de Excel 97-2003(*.xls)”

 

 

 

5-Pasemos al código

Una vez salvada  la hoja en formato excel 97 o superior  veamos un simple ejemplo de cómo capturar  los valores contenidos en las celdas

 

                      ——

      FileInputStream file = new FileInputStream(new File("C:\\prueba.xls"));

    // Crear el objeto que tendrá el libro de Excel

      XSSFWorkbook workbook = new XSSFWorkbook(file);

      /** Obtenemos la primera pestaña a la que se quiera procesar indicando el indice.

     * Una vez obtenida la hoja excel con las filas que se quieren leer obtenemos el iterator

      * que nos permite recorrer cada una de las filas que contiene.

      */



      XSSFSheet sheet = workbook.getSheetAt(0);

      Iterator<Row> rowIterator = sheet.iterator();

      Row row;

    // Recorremos todas las filas para mostrar el contenido de cada celda

      while (rowIterator.hasNext()){

          row = rowIterator.next();

         // Obtenemos el iterator que permite recorres todas las celdas de una fila

          Iterator<Cell> cellIterator = row.cellIterator();

          Cell celda;

          while (cellIterator.hasNext()){

            celda = cellIterator.next();

            // Dependiendo del formato de la celda el valor se debe mostrar como String, Fecha, boolean, entero...

            switch(celda.getCellType()) {

            case Cell.CELL_TYPE_NUMERIC:

                if( DateUtil.isCellDateFormatted(celda) ){

                   System.out.println(celda.getDateCellValue());

                }else{

                   System.out.println(celda.getNumericCellValue());

                }

                break;

            case Cell.CELL_TYPE_STRING:

                System.out.println(celda.getStringCellValue());

                break;

            case Cell.CELL_TYPE_BOOLEAN:

                System.out.println(celda.getBooleanCellValue());

                break;

            }

          }

      }


   // cerramos el libro excel

      workbook.close();


Como vemos en el ejemplo anterior , crearemos el objeto que tendrá el libro de Excel(FileInputStream file = new FileInputStream(new File(“xxx..) y obtenemos la primera pestaña a la que se quiera procesar indicando el indice 0 (  XSSFSheet sheet = workbook.getSheetAt(0);

Una vez obtenida la hoja excel con las filas que se quieren leer ,obtenemos el iterator que nos permite recorrer cada una de las filas que contiene. (  Iterator<Row> rowIterator = sheet.iterator()😉

Y  ya bastaría ir recorriendo todas las filas con un bucle  while ( while (cellIterator.hasNext()))  ,  lo cual nos  va  a permitir  procesar  el contenido de cada celda

Obtenemos el iterator(  row = rowIterator.next(); ) que permite recorrer todas las celdas de una fila y salvar el objeto en la variable row

Ahora ya dependiendo del formato de la celda de la variable   row  ,  el valor se debe mostrar como String, Fecha, boolean, entero

El programa tras recorrer todas las filas acaba cerrando el libro excel

 

 

Como ejemplo más elaborado , vamos a ver como procesar  una hoja excel s donde cada fila representa los diferentes metadatos , por lo que con el programa  iremos capturando dicha información diferente  celda a celda para cada fila , para ir componiendo una fila de texto con los diferentes metadatos  capturados   y  que separaremos por el carácter almohadilla ( #) .

Finalmente veamos  pues el ejemplo cuya finalidad es extraer de un excel un fichero csv de un modo automático via el siguiente programa en java;

 

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;


import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Iterator;
import java.util.ArrayList;
import java.util.List;

import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;

import java.io.FileDescriptor;

import org.apache.poi.ss.usermodel.Cell;

 

 

public class Main {

//private static String nombre;

public static void main(final String[] args) throws IOException {

String lineaslog=””;
String lineaslog2=”\r\n”;

//fichero de log
File filelog = new File(“d://ficherolog.txt”);
FileOutputStream fos2log = new FileOutputStream(filelog);

 


//añadimos 4 ceros la contador y generamos nuevo nombre
nfichero= “salida.txt”;
System.out.println(“Nuevo nombre fichero salida:” + nfichero);
lineaslog=”Nuevo nombre fichero salida:” + nfichero;
fos2log.write(lineaslog.getBytes());
fos2log.write(lineaslog2.getBytes());
//Procesar el excel a txt


//Creamos nuevo fichero de metadatos del tipo texto
File file = new File(nfichero);
FileOutputStream fos1 = new FileOutputStream(file);
FileDescriptor fd = fos1.getFD();


FileOutputStream fos2 = new FileOutputStream(fd);

String rutaArchivo=files22[ i ] ; //directorio3;
System.out.println (“Leyendo archivo :” + rutaArchivo );
lineaslog=”Leyendo archivo :” + rutaArchivo ;
fos2log.write(lineaslog.getBytes());
fos2log.write(lineaslog2.getBytes());

System.out.println (“NOMBRE HOJA :”+ hoja);
lineaslog=”NOMBRE HOJA :”+ hoja;
fos2log.write(lineaslog.getBytes());
fos2log.write(lineaslog2.getBytes());



try (FileInputStream fileexcel = new FileInputStream(new File(rutaArchivo)))

{
System.out.println(“Leer archivo Excel “);
lineaslog=”Leer archivo Excel “;
fos2log.write(lineaslog.getBytes());
fos2log.write(lineaslog2.getBytes());

// leer archivo excel97
HSSFWorkbook worbook = new HSSFWorkbook(fileexcel);

System.out.println(“Leyendo la hoja del fichero excel”);
lineaslog=”Leyendo la hoja del fichero excel”;
fos2log.write(lineaslog.getBytes());
fos2log.write(lineaslog2.getBytes());

//obtener la hoja que se va leer
HSSFSheet sheet = worbook.getSheetAt(0);

System.out.println(“Obtener las hojas del fichero excel”);
lineaslog=”Obtener las hojas del fichero excel”;
fos2log.write(lineaslog.getBytes());
fos2log.write(lineaslog2.getBytes());
//obtener todas las filas de la hoja excel
Iterator<Row> rowIterator = sheet.iterator();

Row row;

System.out.println(“La ruta del fichero excel es rutaarchivo :”+rutaArchivo);
lineaslog=”La ruta del fichero excel es rutaarchiv:”+rutaArchivo;
fos2log.write(lineaslog.getBytes());
fos2log.write(lineaslog2.getBytes());


Integer nm3=0;

while (rowIterator.hasNext()) // se recorre cada fila hasta el final

{

//System.out.println(“linea1”);

row = rowIterator.next();
nm3=nm3+1;

//se obtiene las celdas por fila
Iterator<Cell> cellIterator = row.cellIterator();
Cell cell;

//se recorre cada celda
int indice=0;
while (cellIterator.hasNext()) {

// se obtiene la celda en específico y se la imprime
cell = cellIterator.next();

//System.out.print(“(i”+i +”)=”+ cell.getStringCellValue()+” | “);

switch (indice) //tomaremos diferentes columnas del fichero excel
{

case 0:
{
nombre_fichero=cell.getStringCellValue();
}
case 1:
{
boletin=cell.getStringCellValue();
}
case 2:
{
telefono=cell.getStringCellValue();
}

case 3: // cif o nif
{
ncif=cell.getStringCellValue();
}

case 4: //valor del cif
{
cif=cell.getStringCellValue();
}

case 8:
{
fecha=cell.getStringCellValue();
}
case 9:
{
hora=cell.getStringCellValue();
}
}



linea= linea + cell.getStringCellValue() +”#”;

indice=indice+1;

}


lineas=boletin +”#” +telefono +”#”+ncif+”#” + cif+”#”+tipo +”#” +fecha+” “+hora+”#” +”#” +”#” +”#”+ nombre_fichero+ “#”+ nombre_fichero+”#”;


fos2.write(lineas.getBytes());

//System.out.println();

lineas=”\r\n”;

fos2.write(lineas.getBytes());

}

worbook.close();


linearesumen= directorio+”;”+ hoja +”;”+directorio22+ “P5_”+ fechaok+String.format(“%05d”, contador) +”;”+nm3;

fos3.write(linearesumen.getBytes());

linearesumen=”\r\n”;

fos3.write(linearesumen.getBytes());

nm3=0;

}
catch (Exception e)

{

e.getMessage();
System.out.println(e.getMessage());
lineaslog=e.getMessage();
fos2log.write(lineaslog.getBytes());
fos2log.write(lineaslog2.getBytes());

}

fos1.close();
fos2.close();

System.out.println(“Fin de generacion del txt de metadatos desde excel a txt”);
lineaslog=”Fin de generacion del txt de metadatos desde excel a txt”;
fos2log.write(lineaslog.getBytes());
fos2log.write(lineaslog2.getBytes());

}

Como buscar ficheros o carpetas de forma recursiva desde linea de comandos


A  veces  desde el interfaz de comandos   de windows , accesible mediante la ejecución de la orden “cmd”  desde todas las versiones ( en w10 incluso  desde Cortana ) , puede ser necesario buscar  ficheros o nombres de directorios que respondan a un cierto  patrón  y que   además estén   partir de un determinado directorio o carpeta hacia el interior.

Ejemplos  de  estas búsquedas puede  ser   sacar un listado de todas las fotos  que tenemos en una determinada ruta o unidad , saber cuantas fotografías con  un determinado patrón  tenemos almacenadas, cuantas canciones en mp3 tenemos  de un determinado título (por  ejemplo  con la palabra love :  *love*)  , o cuantos documentos excel existen que tengan que ver con determinado asunto.

Ambas casuísticas de  buscar  ficheros o directorios que respondan a un  patrón  determinado,  y que   además estén  dentro de de un determinado directorio , usando exclusivamente por   línea de comandos las resolveremos :

  • Mediante los comodines asteriscos  “*”o interrogaciones “?”:    con esto  buscaremos  ficheros o nombres de directorios que respondan a un cierto  patrón  
  • Con el parámetro de recursividad , es decir “/s”       :buscaremos  ficheros o nombres de directorios a   partir de un determinado directorio o carpeta hacia el interior

 

Photo by panumas nikhomkhai on Pexels.com

 

En efecto se  puede encontrar cualquier archivo en su pc  usando línea de comandos  simplemente  siempre que sepa el nombre   o parte del nombre del archivo usando los comodines :

  • El signo asterisco (*) , el cual  reemplaza cadenas de caracteres de longitud indeterminada. 
  • El signo   ? , el cual remplaza pero solo un carácter. Podemos especificar mas signos de interrogación. Con lo que si ponemos dir s???*.* Esto nos listaría los directorios y archivos con un nombre que empiecen por s y otras 3 letras cualquier mas unos carácter cualquiera, a continuación él.* que hace que se listen archivos con cualquier extensión.

Si no está seguro de dónde puede estar el archivo en su pc , puede lanzar la búsqueda desde  el directorio raíz de su pc, lo que significa que deberá  estar en C: \>( o en D:\ , E:\  en caso de tener varias particiones o  discos ). Una vez en el directorio raíz o el directorio en el que cree que se encuentra el archivo, simplemente   escriba dir  seguido  de  la mascara  y terminando el comando con el indicador de recursividad (/s).

Si, por ejemplo, supiera que el archivo que busca contenía la cadena “pepe”en algún lugar del archivo, escribiría:

       dir *pepe*.*  /s 

Como  vemos en el ejemplo anterior se  utiliza comodines (los asteriscos ) y además usamos  el modificador de comando “/ s”   para indicar al comando dir que busque el directorio actual y todos sus subdirectorios  ( es decir  que haga la búsqueda recursiva) .

Por ejemplo si no puede recordar ninguno de los nombres de los archivos, pero recuerda que se crearon en Microsoft Excel , podría, por ejemplo, escribir:

   dir *.xls /s 

En el ejemplo anterior, sabiendo que los archivos de Excel a menudo terminan con la extensión de archivo .xls, usamos el carácter de comodín  le indicamos a su pc  que busque cualquier archivo que termine con la extensión .xls.

 

Extensiones más comunes de archivos

Si no sabe cuál es la extensión de su archivo, hay docenas de diferentes formatos de archivo de audio , estándares y extensiones de archivo que se utilizan en la actualidad. A continuación se muestra una lista de las extensiones de archivo de audio más comunes:

  • .aif – archivo de audio AIF
  • .cda – CD de pista de audio
  • .mid o .midi – archivo de audio MIDI .
  • .mp3 – archivo de audio MP3
  • .mpa – archivo de audio MPEG-2
  • .ogg – archivo de audio Ogg Vorbis
  • .wav – archivo WAV
  • .wma – archivo de audio WMA
  • .wpl – Playlist de Windows Media Player

Extensiones de archivos comprimidos

La mayoría de los usuarios están familiarizados con los archivos comprimidos .zip, pero hay otros tipos de archivos comprimidos . A continuación se muestra una lista de las extensiones de archivo comprimidas más comunes:

  • .7z – archivo comprimido 7-Zip
  • .arj – archivo comprimido ARJ
  • .deb – archivo de paquete de software de Debian
  • .pkg – archivo de paquete
  • .rar – archivo RAR
  • .rpm – Administrador de paquetes de Red Hat
  • .tar.gz – archivo comprimido de tarball
  • .z – archivo comprimido Z
  • .zip – archivo comprimido en zip

Extensiones de disco y archivos multimedia.

Al crear una imagen de un disco u otro medio , todos los archivos contenidos se guardan en un archivo de imagen. A continuación se muestran las extensiones de archivo de imagen de disco más comunes:

  • .bin – Imagen de disco binario
  • .dmg – imagen de disco de macOS X
  • .iso – imagen de disco ISO
  • .toast – Toast imagen de disco
  • .vcd – CD virtual

Extensiones de archivos de datos y bases de datos

Un archivo de datos puede ser cualquier archivo, pero para el propósito de esta lista, hemos enumerado los archivos de datos más comunes que se relacionan con los datos utilizados para una base de datos, errores, información, importación y exportación:

  • .csv – archivo de valores separados por comas
  • .dat – archivo de datos
  • .db o .dbf – archivo de base de datos
  • .log – Archivo de registro
  • .mdb – archivo de base de datos de Microsoft Access
  • .sav – Guardar archivo (por ejemplo, guardar archivo de juego)
  • .sql – archivo de base de datos SQL
  • .tar – Archivo de archivos tarball de Linux / Unix
  • .xml – archivo XML

Extensiones de archivo ejecutables

El archivo ejecutable más común son los archivos que terminan con la extensión de archivo .exe. Sin embargo, otros archivos también pueden ejecutarse solos o con la ayuda de un intérprete :

  • .apk – archivo de paquete de Android
  • .bat – archivo por lotes
  • .bin – archivo binario
  • .cgi o .pl – archivo de script Perl
  • .com – Archivo de comandos de MS-DOS
  • .exe – archivo ejecutable
  • .gadget – gadget de Windows
  • .jar – Archivo Java Archive
  • .py – archivo de Python
  • .wsf – Archivo de Windows Script

Extensiones de archivo de fuente

A continuación se muestran las extensiones de archivo más comunes utilizadas con las fuentes :

  • .fnt – archivo de fuente de Windows
  • .fon – archivo de fuente genérico
  • .otf – archivo de fuente de tipo abierto
  • .ttf – archivo de fuente TrueType

Formatos de archivo de imagen por extensión de archivo

Hay docenas de diferentes tipos de imágenes y extensiones de archivos de imágenes que se pueden usar al crear y guardar imágenes en la computadora. A continuación se muestra una lista de las extensiones de archivo de imagen más comunes:

  • .ai – archivo de Adobe Illustrator
  • .bmp – Imagen de mapa de bits
  • .gif – imagen GIF
  • .ico – Archivo de iconos
  • .jpeg o .jpg – imagen JPEG
  • .png – imagen PNG
  • .ps – archivo PostScript
  • .psd – Imagen PSD
  • .svg – Archivo de gráficos vectoriales escalables
  • .tif o .tiff – imagen TIFF

Extensiones de archivos relacionados con Internet

Internet es el recurso más utilizado en un ordenador y debido a que los servidores web usan otros ordenadores para servir los archivos, se utilizan muchísimas  extensiones de archivo diferentes. A continuación, encontrará una lista de las extensiones de archivo más comunes que encontrará al navegar por la web.

Las extensiones de archivo de imagen , las extensiones de archivo de video y otras extensiones enumeradas en esta página también podrían incluirse con estas extensiones de archivo que se mencionan a continuación:

  • .asp y .aspx – Archivo de página Active Server  de Microsoft
  • .cer – certificado de seguridad de internet
  • .cfm – ColdFusion Markup file
  • .cgi o .pl – archivo de script Perl
  • .css – archivo de hoja de estilo en cascada
  • .htm y .html – archivo HTML
  • .js – archivo JavaScript
  • .jsp – Archivo de la página del servidor Java
  • .part – Archivo parcialmente descargado
  • .php – archivo PHP
  • .py – archivo de Python
  • .rss – archivo RSS
  • .xhtml – archivo XHTML

Presentación de formatos de archivo por extensión de archivo.

Hoy en día, hay algunos programas que pueden crear una presentación.A continuación se muestra una lista de las extensiones de archivo más comunes asociadas con los programas de presentación:

  • .key – Presentación de Keynote
  • .odp – Archivo de presentación OpenOffice Impress
  • .pps – presentación de diapositivas de PowerPoint
  • .ppt – presentación de PowerPoint
  • .pptx – PowerPoint Open XML presentation

Programación de archivos por extensión de archivo.

Muchas extensiones de archivo se utilizan para programas antes de compilarse, así como secuencias de comandos de programación. A continuación se muestra una lista de las extensiones de archivo más comunes asociadas con la programación.

Muchas de las extensiones de archivo relacionadas con Internet también podrían incluirse con estas extensiones de archivo que se mencionan a continuación:

  • .c – archivo de código fuente C y C ++
  • .class – archivo de clase Java
  • .cpp – archivo de código fuente de C ++
  • .cs – Archivo de código fuente de Visual C #
  • .h : archivo de encabezado C, C ++ y Objective-C
  • .java – archivo de código fuente Java
  • .sh – Bash shell script
  • .swift – archivo de código fuente Swift
  • .vb – archivo de Visual Basic

Formatos de archivo de hoja de cálculo por extensión de archivo

A continuación se muestran las extensiones de archivo más comunes que se usan para guardar archivos de hojas de cálculo en un ordenador :

  • .ods – archivo de hoja de cálculo OpenOffice Calc
  • .xlr – archivo de hoja de cálculo de Microsoft Works
  • .xls – archivo de Microsoft Excel
  • .xlsx – Archivo de hoja de cálculo XML abierto de Microsoft Excel

Formatos de archivo y extensiones de archivo relacionados con el sistema

Como todos los demás programas, su sistema operativo usa archivos y tiene extensiones de archivo que son más comunes que otras. A continuación se muestra una lista de las extensiones de archivo más comunes utilizadas en los sistemas operativos.

Las extensiones de archivo ejecutables y todos los demás archivos también podrían incluirse en esta lista.

  • .bak – archivo de copia de seguridad
  • .cab – archivo de Windows Cabinet
  • .cfg – archivo de configuración
  • .cpl – archivo del panel de control de Windows
  • .cur – archivo de cursor de Windows
  • .dll – archivo de librería dinámica  de Microsoft DLL
  • .dmp – archivo de volcado
  • .drv – archivo de controlador de dispositivo
  • .icns – archivo de recursos del icono de macOS X
  • .ico – Archivo de iconos
  • .ini – archivo de inicialización
  • .lnk – archivo de acceso directo de Windows
  • .msi – paquete de instalación de Windows
  • .sys – archivo de sistema de Windows
  • .tmp – Archivo temporal

Formatos de archivo de vídeo por extensión de archivo

Hoy en día, hay docenas de tipos de archivos asociados con los archivos de video para agregar diferentes tipos de compresión , compatibilidad y DRM a los archivos de vídeo. A continuación se muestra una lista de las extensiones de archivo de vídeo más comunes:

  • .3g2 – archivo multimedia 3GPP2
  • .3gp – archivo multimedia 3GPP
  • .avi – archivo AVI
  • .flv – archivo de Adobe Flash
  • .h264 – archivo de video H.264
  • .m4v – archivo de video Apple MP4
  • .mkv – Contenedor Multimedia Matroska
  • .mov – archivo de película Apple QuickTime
  • .mp4 – archivo de video MPEG4
  • .mpg o .mpeg – archivo de video MPEG
  • .rm – archivo RealMedia
  • .swf – Shockwave flash file
  • .vob – DVD Video Object
  • .wmv – Archivo de Windows Media Video

Procesador de textos y formatos de archivo de texto por extensión de archivo.

Crear archivos de texto y usar un procesador de textos es una de las tareas más comunes en una computadora. A continuación se muestran las extensiones de archivo más comunes utilizadas con archivos de texto y documentos:

  • .doc y .docx – archivo de Microsoft Word
  • .odt – archivo de documento de OpenOffice Writer
  • .pdf – archivo PDF
  • .rtf – Formato de texto enriquecido
  • .tex – Un archivo de documento LaTeX
  • .txt – Archivo de texto plano
  • .wks y .wps – archivo de Microsoft Works
  • .wpd – documento de WordPerfect

 

 

Ejemplo  recopilatorio  final

Hemos visto que  una vez  tengamos  una pista del nombre  del fichero a buscar  y  sepamos el tipo de extensión del fichero , nos debería bastar  con usar los comodines   seguido del parámetro de recursividad /s  para  que el desde el intérprete de comandos podamos encontrar el o los archivos que lo cumplan teniendo en cuenta al mascar  así como el tipo de archivo de la  búsqueda

Además   podemos redirigir la salida estándar  por pantalla  por ejemplo a un fichero , lo cual haremos mediante el carácter de redirección  “>” seguida de la ruta del recurso en disco donde deseamos  salvar el resultado ( en el fichero  ejemplo.txt)  

A continuación se muestra un ejemplo de los resultados encontrados al buscar  de forma recursivos  de tipo log  (escribir dir  *. log  / S )   y ademas redirigiendo la salida a un fichero llamado ejemplo.txt en el disco d:

D:\temp>dir *.log /S > d:\ejemplo.txt


El volumen de la unidad D es DATOS
El número de serie del volumen es: 8256-F6F1

Directorio de D:\temp

30/04/2019 20:37 508 error.log
1 archivos 508 bytes

Directorio de D:\temp\_carga_xc_cc201903230706

23/03/2019 21:30 150 error.log
1 archivos 150 bytes

Directorio de D:\temp\_carga_ss_ccc201904112017

11/04/2019 21:34 100 error.log
1 archivos 100 bytes

Directorio de D:\temp\_carga_cce_ccde201904112017\carga_te_tde201904112017

12/04/2019 21:36 118.038 error.log
1 archivos 118.038 bytes

Directorio de D:\temp\_carga_xs_wer201904120910

26/04/2019 21:33 150 error.log
1 archivos 150 bytes

Directorio de D:\temp\_carga_qq_ddd201904231158_falta_matadatos

23/04/2019 20:33 100 error.log
1 archivos 100 bytes

Total de archivos en la lista:
6 archivos 119.046 bytes
0 dirs 262.141.583.360 bytes libres

D:\temp>

  El volumen en la unidad C no tiene etiqueta
 El número de serie del volumen es 214B-1DE8

Como se  puede ver en el ejemplo anterior, se encontraron varios archivos que contienen la extensión *log. Si recibe más de los resultados esperados, es posible si no redirige la salida a un fichero  ( es decir omita “> d:\ejemplo.txt”)  ,  que deba escribir / p después del comando pues usando / p mostrara  los resultados de una página a la vez. 

Error splicing file:file too large


En efecto en un ordenador con sistema operativo Linux  en cualquier de sus variantes como Ubuntu, Lubuntu ,Fedora, etc.  puede  que copiando archivos  grandes hacia una unidad extraible USB termine dando error con el típico mensaje   “Error splicing file:file too large“.

Afortunadamente entender el motivo  del error es sencillo ,pues generalmente el problema se debe a que el disco de destino (es decir en la unidad extraible en el que desea copiar el archivo) está formateado con el sistema de fichero FAT32 , el cual  tiene un límite de tamaño de archivo de aproximadamente 4GB, por lo que efectivamente Linux cuando intenta copiar sobre una unidad destino formateada en fat32 el so. empieza copiando hasta que llega  aproximadamente a los 4GB , momento en el cual no puede continuar, pues el sistema de ficheros no lo permite, terminando dando error y abortándose la copia.

Curiosamente según el tipo de fichero que sea ,es posible que incluso abortando la copia con el mensaje Error splicing file:file too large , en caso de copias de ficheros de vídeo ( por ejemplo en formato mkv) , a pesar de esto, incluso con el error puedan ser reproducibles parcialmente ( es decir, sin poder reproducirse hasta su totalidad).

Afortunadamente para resolver este problema, la solución es bien sencilla pues bastara en volver a  formatear su disco de destino a EXT3, EXT4 o NTFS.

Mientras que FAT, FAT32 y exFAT se utilizan en memorias USB y tarjetas SD , NTFS es   utilizado sobre todo por discos duros, lo cual no significa  que ntfs no  deba usarse también en unidades extraibles USB: todo lo contrario ,pues por las razones que vamos a ver , ntfs tambien deberia ser  la mejor opción para unidades  extraibles usb.

NTFS (New Technology File System) es el sistema de archivos que Windows utiliza por defecto,  (de hecho windows sólo puede ser instalado en una unidad con este sistema),Su adaptación no es casual pues , ntfs  conlleva  múltiples ventajas:

  • Como hemos comentado su límite de tamaño de archivos es de 16 TB,  ( los volúmenes pueden llegar a tener 264 TB cada uno)
  • Se pueden configurar los permisos de acceso a un archivo (vital para un sistema operativo).
  • Permite cifrar archivos.
  • Permite nombres de archivos largos.
  • Se recupera más fácilmente de errores si el ordenador se cuelga

Vemos pues para soslayar el problema “Error splicing file:file too large”  y la unidad destino esta formateada en otro formato ,  tendremos  que  formatear en NTFS  pues así no habrá problemas  a  la hora de copiar estos ficheros.

 

FORMATEO DESDE WINDOWS

En realidad formatear en NTFS un unidad USB con Windows 10 es muy fácil:

  • Pinche con el botón DERECHO del ratón en el menú Inicio de Windows y elige Explorador de archivos.
  • En la ventana que se abre haga clic a la izquierda en Este equipo.
  • A la derecha verá las unidades de disco duro, particiones, discos o pendrives USB o CD/DVD que tenga tu PC. Seleccione la unidad que quiere formatear pinchando en ella con el botón izquierdo. Luego haz clic encima con el botón DERECHO y elige Formatear. (!IMPORTANTE !: -Es obvio que debe elegir con mucho cuidado la unidad pues formatearla borrará por completo todo lo que haya en ella.
  • Al elegir la opción de formateo se abre su ventana de propiedades.Defina así las opciones siguientes que incluye:
      • Sistema de archivos:Pincha en la lista desplegable de abajo y elija  NTFS.
      • Tamaño de unidad de asignación. Lo normal es que deba mantener el tamaño que te indique por defecto la ventana de formateo.
      • Etiqueta del volumen :Escriba un nombre que describa lo que hay o habrá en ese disco o USB. No es una opción obligatoria pero sí recomendable.
      • Opciones de formato:Desactive la casilla de Formato rápido haciendo clic en ella. Así obligara a que Windows chequee el disco o USB e intente reparar de forma automática posibles errores que tenga por lo que puede ahorrarle problemas futuros o hasta pérdidas de datos. Por cierto mantener el formato rápido acelera el proceso pero se salta la comprobación del disco o USB.
  • Finalmente pulse Iniciar cuando acabes de configurar esas opciones. Confirme con Aceptar el aviso de que se borrará todo lo que haya en esa unidad.
  • El formateo tardara más o menos dependiendo del tamaño de la unidad seleccionada, la velocidad de su PC y si ha elegido o no la opción rápida. Acepte y cierra la ventana cuando termine.

 

FORMATEO DESDE LINUX

Ahora veremos como  soslayar el problema ” Error splicing file:file too large”  y la unidad destino esta formateada en otro formato ,   formateando  en NTFS  desde el propio Linux  para que no haya problemas  a  la hora de copiar ficheros de mas de 4GB

Lo primero que tenemos que tener claro a la hora de formatear una unidad es la ruta en la que se encuentra en el sistema.

Para ver que dispositivo es el que vamos a usar escribimos en Terminal (Abrir Terminal presionando Ctrl + Alt + T) :

Para eso, solo tendremos que escribir en el Terminal el comando:

df

Este comando nos mostrará todos las particiones y discos que tiene actualmente el ordenador conectados al sistema. Como podremos observar, los sistemas basados en Ubuntu 16.04 asignan cómo nombre de partición de la siguiente forma sdaX donde la X es un número de partición, por lo que si tenemos una unidad USB  conectado , el nombre será muy similar a sdaX ( por e ejemplo sdb3).

Una vez hayamos encontrado la memoria USB desde el terminal, tenemos que desmontarlo del sistema para que podamos formatearlo. Para realizar esta tarea tendremos que ejecutar el siguiente comando:

sudo umount /dev/sdb3

Ahora ya lo tenemos preparado para formatear. Por lo que tendremos que escribir la siguiente línea de código en el terminal.

sudo mkfs.vfat -F 32 -n "Nombre_pendrive" /dev/sdb3

Quizá no entiendas nada de lo que hemos puesto en esa parte de código, pero aquí estamos para resolver estas dudas:

  • mkfs.vfat: Es el programa de ejecución de la herramienta del terminal para formatear unidades del sistema.

  • -F 32: Esto le indica al sistema que el formato ha de realizarse con el sistema de archivos de Fat32.

  • -n “Nombre_pendrive”: Este será el nombre que aparecerá cada vez que conectemos el USB al ordenador.

  • /dev/sdb3: Esta tiene que ser la ruta completa donde se sitúa la memoria USB que queremos formatear.

 

Es posible formatear   en diferentes formatos:

  • Formatear USB con Extended File System (Ext) :Este es el sistema de archivos preferido por Linux.

<pre “>

sudo mkfs.ext4 /dev/sdb3

  • Formatear USB con FAT (File Allocation Table) 
 sudo mkfs.vfat /dev/sdb3 
  • Formato de formato USB con NTFS (Sistema de archivos de nueva tecnología)
 sudo mkfs.ntfs /dev/sdb3 

Por ultimo, salimos de Terminal con:

exit

Esta es la salida de la ejecución de estos comandos:

[email protected]:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 214372 0 214372 0% /dev
tmpfs 47028 2948 44080 7% /run
/dev/sda1 38192692 11567744 24655132 32% /
tmpfs 235132 0 235132 0% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 235132 0 235132 0% /sys/fs/cgroup
tmpfs 47024 12 47012 1% /run/user/1000
/dev/sdb1 15108880 41156 15067724 1% /media/carlos/KINGSTON16G

[email protected]:~$ sudo umount /dev/sdb1
[sudo] password for carlos:

[email protected]:~$ sudo mkfs.ntfs /dev/sdb1
Cluster size has been automatically set to 4096 bytes.
Initializing device with zeroes: 41%100% – Done.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.
[email protected]:~$

 

No esta de mas recordar que debe cambiar la identificación del dispositivo USB en los comandos anteriores o desde el interfaz grafico ,En el  ejemplo en un viejo portatil hp con Lubuntu se ha usado sdb3 , pero no necesariamente sera el mismo identificador que tengan sus unidades.

Como puedes observar, es un proceso muy sencillo pero tiene las complicaciones de saber que es lo que hace cada cosa y cual es la dirección correcta que queremos formatear, ya que si nos equivocamos puede ser fatal para nuestro sistema operativo.

 

 

 

Tres servicios gratuitos de transcripción de voz a texto


Puede parecer algo futurista, pero lo cierto es que probablemente el teclado y ratón tal como los conocemos hoy en día tenga sus días contados gracias al espectacular avance sufrido estos años en el apartado de reconocimiento de voz usando redes neuronales  y las técnicas de aprendizaje automático

En efecto ,gracias a  la tecnología del aprendizaje automático ,se aplican los algoritmos más avanzados de redes neuronales del aprendizaje profundo al audio de sus ficheros o del procedente de un micrófono  para conseguir un reconocimiento de voz de máxima precisión.

Mencionar que en todos los  sistemas de aprendizaje con redes neuronales la precisión de la API Speech mejora con el tiempo, es decir conforme perfeccionan la tecnología interna de reconocimiento de voz que usa los diferentes productos que vamos   a ver , lo cual significa que en realidad usando estos servicios estamos “entrenado”a estos sistemas para que su porcentaje  de aciertos sea cada vez mayor

Veamos algunas soluciones de reconocimiento de voz liderados por grandes proveedores como pueden ser Google ,Microsoft o IBM.

Reconocimiento de voz de bing

En efecto,   mediante la  nube  de Microsoft ( Azure)   y el servicio Bing Search  se puede convertir audio con voz en texto mediante streaming en tiempo real mediante la cual, al mismo tiempo que se envía el audio al servidor, se devuelven resultados parciales de reconocimiento.

De igual modo podría reconocer el texto a partir del audio almacenado en un archivo pero desde la pagina de demostración no es posible,pero como  “truco” casero para  probar   la funcionalidad  se  puede inyectar  el audio  ya grabado desde un dispositivo externo  por  medio de un cable de audio que lo  introduciría en el pc  pero no olvide seleccionar como dispositivo grabador la entrada de audio donde conecte la señal de audo externa .De este modo regulando adecuadamente el nivel de esta señal  debería funcionar exactamente igual que si habláramos por un micrófono

Para probar el servicio vaya a la url   https://azure.microsoft.com/es-es/services/cognitive-services/speech/

No olvide  seleccionar el idioma de destino en Language, haga clic en el micrófono en Iniciar grabación y empiece a hablar.

bibg

También tiene la opción de hacer clic en las dos frases de voz de ejemplo para ver cómo funciona el reconocimiento de voz.

Como en todos estos tipos de servicios ,si usa esta demostración, significa que consiente ofrecer datos de entrada de voz a Microsoft para fines de mejora del servicio.De  hecho al cargar datos para esta demostración, acepta que Microsoft puede guardarlos y usarlos para mejorar los servicios Microsoft, entre los que se encuentra el  API. A fin de facilitar la protección de la privacidad, se adoptan medidas para desperzonalizar los datos y protegerlos. Los datos no se publicarán ni se permitirá que terceros los usen.

IBM

También esta disponible para efectos de pruebas  la version de IBM por Watson  que permite  igualmente el dictado de voz a texto

El servicio IBM Watson Speech to Text utiliza capacidades de reconocimiento de voz para convertir el árabe, el inglés, el español, el francés, el portugués de Brasil, el japonés y el mandarín en texto.

Lo mas destacable de  Watson es asimismo la capacidad de transcribir audio done se puede usa su micrófono para grabar audio o cargar audio pregrabado (.mp3, .mpeg, .wav, .flac o .opus solamente).

Incluso puede subir  archivos de audio o probar ficheros de muestra para probar el servicio , ( los archivos de audio de muestra  son en inglés de EE. UU y están cubiertos por la licencia de Creative Commons.)

El resultado devuelto incluye el texto reconocido, las alternativas de palabras y las palabras clave moteadas. Algunos modelos pueden detectar múltiples altavoces; lo cual  puede ralentizar el rendimiento.

A continuación esta es la url para probar el servicio en modo  demo: https://speech-to-text-demo.ng.bluemix.net/

No olvide  seleccionar el idioma de destino(Voice Model ) , haga clic en el micrófono(record Audio)   y empiece a hablar.

En unos instantes en tiempo real debería ir viendo las transcripciones  directamente desde esta pagina

Este sistema por el momento se usa  para fines de demostración y no está destinado a procesar datos personales ,así  que no se deben ingresar datos personales en este sistema, ya que puede no tener los controles necesarios para cumplir con los requisitos del Reglamento general de protección de datos (UE) 2016/679.

En teoría los primeros 1000 minutos al mes son gratis en el servicio estándar,   así que el limite es muy superior de uso gratuito al de Google o al  de Microsft .

Reconocmiento  de voz de Google

Tambien  Google dispone de su propio servicio de reconocimiento de voz  , el cual por cierto es el usado por  ejemplo desde los terminales Android.

En el caso de que este validado contra Google  y  tenga cuenta en Google Cloud , incluso se pueden subir directamente los ficheros que deseamos transcribir mediante la opción File Upload  teniendo en cuenta la limitación de 60 minutos en caso de no querer pasar por caja.

Si quiere probar esta funcionalidad esta es la url : https://cloud.google.com/speech-to-text/

No olvide  seleccionar el idioma de destino(Languaje ) ,seleccione el micrófono(Microphone)    y empiece a hablar.

En unos instantes ,en tiempo real debería ir viendo las transcripciones  directamente desde esta pagina:

Como no podía ser de otra manera, también  es posible reconocer el audio subido en la solicitud e integrarlo en su almacenamiento de audio de Google Cloud Storage

¿Pero cual elegimos?

Como hemos podido  ver todos estos servicios de reconocimiento de voz  están en fase de pruebas para demostrar por  ahora incluso en el estado inicial  lo que pueden llegar  a poder hacer.

De todas las opciones ,en caso de tener necesidad de usarlo por mucho tiempo,  el servicio de IBM tiene una oferta mas que generosa de 1000 minutos frente a los 100 de Google  , pero no olvidemos que si queremos integrar este servicio con una aplicación albergada en Azure o en la infraestructura de Google  entonces necesitaremos usar sus propios servicios  .

 

Como transcribir voz a texto


Express Scribe es un software profesional de reproductor de audio para PC o Mac diseñado para ayudar a transcribir grabaciones de audio.

Un mecanógrafo puede instalarlo en su ordenador y controlar la reproducción de audio usando un pedal  usb especial  de transcripción o un teclado (con teclas “calientes”). Este software de transcripción también ofrece funciones valiosas para los mecanógrafos, que incluyen reproducción de velocidad variable, control multicanal, reproducción de video, administración de archivos y más.

La versión gratuita es compatible con formatos de audio comunes, incluidos wav, mp3, wma y dct (  aunque siempre puede actualizar a la versión profesional para soporte de formato propietario).

Algunas características del software de transcripción:

  • Reproducción de velocidad variable (no constante)
  • Admite reproducción de audio y video
  • Reproduce la mayoría de los formatos, incluidos los archivos de dictado encriptados. Ver formatos de archivo admitidos
  • Admite pedales USB profesionales para controlar la reproducción. Ver controladores de pedal de pie profesionales compatibles
  • Utiliza ‘teclas rápidas‘ para controlar la reproducción cuando se transcribe a otro software (por ejemplo, Word)
  • Acople grabadores de voz portátiles analógicos y digitales para cargar grabaciones
    Funciona con Microsoft Word y todos los principales procesadores de texto
  • Recibe y carga automáticamente archivos por Internet (FTP), correo electrónico o en una red informática local
  • Automáticamente envía tipeo a quienes dictaron el trabajo
  • Funciona con software de reconocimiento de voz como Dragon Naturally Speaking para convertir automáticamente la voz en texto
  • Permite cargar audio de CD directamente y comenzar a trabajar a medida que se carga el audio
  • Funciona con el expansor de texto FastFox para ingresar frases médicas y legales y frases comunes con atajos de teclado

 

Pasos a seguir  para   probar este software

instalador.PNG

  • Express Scribe puede usar cualquier procesador para el reconocimiento de voz compatible con SAPI (4,0 o 5,0) para ayudarle en la transcripción de grabaciones. Por ejemplo: Dragon Systems NaturallySpeaking, Microsoft Voice o IBM Via Voice (y muchos más)

 

 

.enter image description here

 

  • En caso  de no poder seleccionar el perfil de audio , existe un paquete de audio en español  que puede descargar e  instalar siguiendo el link a continuación RealSpeak TTS engine Spanish (21.7 MB) . Despues de inslarlo  tenemos que configurar el  perfil de audio

reconocimiento de voz.PNG

 

 

  • Una vez se haya configurado Express Scribe para la conversión de voz a texto y cuando cargue un archivo éste será procesado en segundo plano y luego incluirá el texto completo en el cuadro de notas. Aunque el equipo sea rápido, esto proceso puede tomar algún tiempo (incluso más tiempo que la propia grabación), por lo que esta función es ideal cuando tiene una lista de trabajos de transcripción pendientes. Sin embargo, debido a que el reconocimiento de voz se ejecuta en segundo plano, puede empezar la transcripción de inmediato.

 

 

No debe entusiasmarse demasiado con la conversión de voz a texto. Probablemente  pasarán a  tiempos antes que las máquinas sean capaces de transcribir con precisión. Por el momento, un procesador muy bien entrenado le ofrecerá alrededor de un 90% de precisión. Creemos que utilizará esta función como una herramienta que le proporcionará un borrador del texto que puede utilizar a una velocidad más rápida y corregir o volver a formatearlo.

El entrenamiento es esencial para obtener una conversión de voz a texto razonable. Debe “entrenar” el procesador para reconocer las voces que van a ser usadas. La función de entrenamiento es administrada por el software para el reconocimiento de voz y no por Express Scribe. Consulte el manual del reconocedor de voz para más información.

Express Scribe coincide automáticamente cada archivo del dictado con un reconocedor de voz entrenado que usa el ID del remitente en Express Dictate (o DialDictate). Este ID se obtiene cuando se registra el software (todos los usuarios no registrados, archivos WAV y grabaciones acopladas se consideran un ID 0). Después que el reconocedor de voz está entrenado para reconocer la voz del usuario, Express Scribe puede configurar que éste se ejecute cada vez que este usuario envíe un archivo. Hágalo desde el menú Opciones -> pestaña ‘conversión de voz’ a texto, en la sección “perfiles específicos de usuario”.

Configuración para conversión de voz en texto

  • Abra el cuadro de diálogo de las Opciones y seleccione la pestaña ‘convertir voz en texto’.
  • Oprimir “habilitar reconocimiento de voz”.
  • .Seleccione el procesador para el reconocimiento de voz desde la lista desplegable. Si no ve ningún procesador en la lista desplegable, entonces no ha instalado el software para el reconocimiento de voz o no es compatible con SAPI.
  • Seleccione un perfil de voz desde la lista desplegable de perfiles predeterminados. Este es el perfil que será usado para cualquier dictado que se reciba de usuarios que no están en la lista de “perfiles específicos de usuario”.
  • Haga que cada usuario entrene el procesador para que puedan ser reconocidos. Lo pueden hacer usando el software para el reconocimiento de voz. Consulte el manual proporcionado con el software de reconocimiento de voz. Con la mayoría de procesadores, los usuarios pueden entrenar el reconocimiento de voz usando otra PC y luego exportar el archivo de entrenamiento al sistema.
  • Por cada usuario que haya completado el entrenamiento, añada el ID de usuario y el perfil de voz a la lista de “perfiles específicos de usuario”. Si son usuarios registrados con Express Dictate o DialDictate, entonces use el ID que obtuvieron al registrar el software. ID 0 de usuario para todos aquellos usuarios no registrados, archivos WAV y grabaciones acopladas.

Nota: Al abrir la pestaña ‘convertir voz en texto’ en las Opciones, o al cambiar el procesador seleccionado, el cuadro de diálogo “recuperando perfiles” puede ser visualizado por algún tiempo.

Cuando se cargue el próximo dictado, Express Scribe ejecutará el procesador de voz en segundo plano. Al finalizar, “pegará” el texto en el cuadro de notas.

Tenga paciencia. El proceso puede tardar algún tiempo (aun más que la propia grabación). Por lo tanto, la función es ideal cuando se tiene una lista de trabajos pendientes. Pero recuerde que puede empezar a transcribir inmediatamente.

Tenga en cuenta que el proceso de conversión de voz a texto sólo se produce cuando se carga primero un dictado. Si ejecuta Express Scribe con un dictado ya cargado el proceso de reconocimiento no se ejecutará.