Título: Problema al crear usuarios desde el contenido de un fichero de texto (BATCH) Publicado por: juntacadaveres en 22 Abril 2019, 16:24 pm Tengo este archivo de texto plano
Citar PEPITO:PEPITO SAMSUNG:SAMSUNG JUDASPRIEST:JUDASPRIEST HOJA:HOJA CAMA:ALMOHADA USUARIO1:USUARIO2 El primer campo son los nombres de usuarios y el segundo son las contraseñas. El caracter delimitador es el símbolo ':' A partir de esto debo crear cuentas de usuario en windows mediante un script de batch yo he hecho esto Código RESULTADO Citar USUARIO: PEPITO CON: PEPITO USUARIO: SAMSUNG CON: SAMSUNG USUARIO: JUDASPRIEST CON: JUDASPRIEST USUARIO: HOJA CON: HOJA USUARIO: CAMA CON: ALMOHADA USUARIO: USUARIO1 CON: USUARIO2 Ahora bien si agrego el comando NET USER para agregar cuentas en el sistema operativo: Código ejecuto el script para tener derechos y el resultado es el siguiente: El sistema no puede encontrar el archivo USUARIOS.txt. Por qué?? Título: Re: Problema al crear usuarios desde el contenido de un fichero de texto (BATCH) Publicado por: MCKSys Argentina en 22 Abril 2019, 16:31 pm Hola!
Si ejeuctas el bat como admin, entonces el directorio actual cambia. Por eso el script no encuentra el archivo. Si el txt esta en el mismo dir que el bat, entonces podrias usar %~dp0 para obtener el path completo al bat (sin el filename). Mas info: https://stackoverflow.com/questions/4419868/what-is-the-current-directory-in-a-batch-file (https://stackoverflow.com/questions/4419868/what-is-the-current-directory-in-a-batch-file) Saludos! Título: Re: Problema al crear usuarios desde el contenido de un fichero de texto (BATCH) Publicado por: juntacadaveres en 22 Abril 2019, 16:55 pm Hola! Si ejeuctas el bat como admin, entonces el directorio actual cambia. Por eso el script no encuentra el archivo. Si el txt esta en el mismo dir que el bat, entonces podrias usar %~dp0 para obtener el path completo al bat (sin el filename). Mas info: https://stackoverflow.com/questions/4419868/what-is-the-current-directory-in-a-batch-file (https://stackoverflow.com/questions/4419868/what-is-the-current-directory-in-a-batch-file) Saludos! Hola, gracias por contestar no habría otra forma de hacer esto? es que eso que mencionas tú no lo hemos visto en clase y si le pongo cosas que no hayamos visto en clase mi profesor no lo valorará por muy asqueroso que parezca Título: Re: Problema al crear usuarios desde el contenido de un fichero de texto (BATCH) Publicado por: EdePC en 22 Abril 2019, 17:02 pm Saludos,
- Entonces pon la ruta completa del fichero USUARIOS.txt (C:\Users\Usuario\Desktop\USUARIOS:txt) o has un CD a la carpeta del fichero. Recuerda que puedes usar variables internas como %SystemDrive%, %UserProfile%, etc Título: Re: Problema al crear usuarios desde el contenido de un fichero de texto (BATCH) Publicado por: juntacadaveres en 23 Abril 2019, 12:21 pm Hola! Si ejeuctas el bat como admin, entonces el directorio actual cambia. Por eso el script no encuentra el archivo. Si el txt esta en el mismo dir que el bat, entonces podrias usar %~dp0 para obtener el path completo al bat (sin el filename). Mas info: https://stackoverflow.com/questions/4419868/what-is-the-current-directory-in-a-batch-file (https://stackoverflow.com/questions/4419868/what-is-the-current-directory-in-a-batch-file) Saludos! Hola El enunciado del script que me mandaron era así: Ejercicio 11. Crea un batch que, partiendo de un fichero, cree los usuarios especificados. El fichero se denominará USUARIOS.TXT y sus registros seguirán el siguiente patrón NOMRE:CONTRASEÑA. Se comprobará si el usuario existe. Si existe, no se crea y se informa. Si no existe, se pide confirmación, se crea y se informa. Tras la creación de cada usuario se pregunta si se desea continuar con el siguiente registro (mostrando el nombre de usuario a crear) o abandonar. Contenido del texto: Citar GILBERTO:GILBERTO PEPITO:PEPITO SAMSUNG:SAMSUNG JUDASPRIEST:JUDASPRIEST JOSEFINA:JOSEFINA GABRIEL:GABRIEL Bueno, yo hice el script siguiente: Código Funcionar, funciona perfectamente pero solo si fichero USUARIOS.txt se encuentra en el escritorio y el usuario es alumno. (C:\users\alumno....) Que pasaría si el batch me lo llevo a otra computadora. Habría que cambiarle la ruta completa en el contenido del FOR C:\Users\alumno\Desktop\USUARIOS.txt o habría otra forma ?? Lo digo porque al ejecutarlo como administrador, el directorio actual cambia. Y es obvio que si me lo llevo a otra computadora el directorio del texto lo debo cambiar Yo quiero que el mismo batch se encuentre en la misma carpeta que el fichero USUARIOS.txt Que habría que modificarle al script? %~dp0 ? Título: Re: Problema al crear usuarios desde el contenido de un fichero de texto (BATCH) Publicado por: EdePC en 23 Abril 2019, 14:32 pm - Pues si no quieres usar %~dp0, como dije puedes usar variables predeterminsdas, por ejemplo "%UserProfle%\Desktop\" apunta siempre al Escritorio del Usuario Actual.
Título: Re: Problema al crear usuarios desde el contenido de un fichero de texto (BATCH) Publicado por: MCKSys Argentina en 23 Abril 2019, 16:35 pm Usando %~dp0
Código La variable %~dp0 termina en "\". Si quieres quitarle esa barra, puedes usar %mypath:~0,-1%. Pero, en el FOR, en vez de usar %mypath%USUARIOS.txt, vas a tener que usar %mypath%\USUARIOS.txt Otra opcion seria poner todo (txt y bat) en una carpeta que sea leible por todos los usuarios, usando variables de entorno, como por ejemplo %PUBLIC%. En otras palabras: Código
Ten en cuenta que esa variable de entorno no termina con "\", por lo cual la debes agregar. Saludos! |