Intento hacer un archivo bat en Windows 7 que abra una carpeta y recién cuando esté abierta, abra un archivo en una ventana maximizada.
GPT me dijo que haga un archivo vbs así:
Set objShell = CreateObject("Shell.Application")
For Each wnd In objShell.Windows
If InStr(wnd.LocationURL, "http://file:///CARPETA") > 0 Then
WScript.Quit(0)
End If
Next
WScript.Quit(1)Luego un bat así:
@echo off
start "" "%windir%\explorer.exe" "CARPETA"
:LOOP
cscript //nologo CheckFolder.vbs
if %errorlevel% equ 0 (
timeout /t 1 /nobreak >nul
goto :LOOP
)
start "" /max "notepad.exe" "ARCHIVO"Eso no funciona, el archivo se abre antes. ¿Qué hace exactamente ese bat? Por lo que yo interpreto, empieza a abrir la carpeta, y luego inicia una repetición: Ejecuta el código vbs (si la carpeta está abierta el mensaje es 0, sino 1), si el mensaje es 0 (carpeta abierta) lo repite, sino abre el archivo. Por lo que entiendo, si llegara a detectar que la carpeta está abierta, el código no se detendría, está mal ¿no?
Del bat cambié ese 0 por un 1. Ahora no abre el archivo. Mi interpretación es: Empieza a abrir la carpeta, y luego inicia una repetición: Ejecuta el código vbs (si la carpeta está abierta el mensaje es 0, sino 1), si el mensaje es 0 (carpeta abierta) el programa termina la repetición y abre el archivo, sino ejecuta de nuevo el código, hasta que detecte la carpeta abierta. Pero no lo hace, ahora el bat no se cierra ni abre el archivo, como si el loop no tuviera fin ¿qué está pasando?