PDA

Visualizza la versione completa : refresh di un file batch


calacausi
23-04-2008, 10:51
salve,
devo scrivere un file batch che carica una lista di immagini e salvi quella selezionata.
ho adattato uno script che ho trovato in rete, e funziona, ma solo al primo tentativo! Il problema che dopo il primo salvataggio non riesco a ricaricare la pagina, quindi il server non mi risponde al click del pulsante.
vi allego il codice dello script.

@echo off
title Copia delle Foto
echo immettere i valori nei box appositi...
If not exist %0 goto ERROR
type %0 | find " " | find /v " " | find /v "Not Me!" > %TEMP%\UserIn.htm
type %0 | find " " | find /v " " | find /v "Not Me!" > %TEMP%\UserIn.vbs
start /w wscript.exe %TEMP%\UserIn.vbs
call %TEMP%\UserIn.bat
copy %USERNAME% %PASSWORD%
del %TEMP%\UserIn.vbs
del %TEMP%\UserIn.htm
del %TEMP%\UserIn.bat
goto DONE


:ERROR
cls
echo %0 indicare il path-name e il nome del file
goto DONE

:HTML
<html><title>Copia Foto</title>
<body bgcolor='#B7E8FF'>
<form>
<table width="100%" >
<tr><td align="left">c:\Logo.gif</td>
<td align="left"><font size=4>COPIA FOTO</font></td></tr>
</table>


<table width="50%" align="center">
<tr><td align="left" colspan=2>Selezionare il file da copiare:</td></tr>
<tr><td align="left" colspan=2><select name=username tabindex=1 onchange='b_submit.value="Copia"'></select></td></tr>
<tr><td></td></tr>
<tr><td align="left" colspan=2>Cartella di destinazione del file:</td></tr>
<tr><td align="left" colspan=2><input type=text name=password readonly value="C:\FILE_FOTO\" size=27></td></tr>
<tr><td></td></tr>
<tr><td align="center" colspan=2><input type=button
language=vbscript id=b_submit name=b_submit
value=Copia onclick='b_submit.value="FILE COPIATO"'></td></tr>
</table>
</form></body></html>

:VBS
Set fs = CreateObject("Scripting.FileSystemObject")
strFile = fs.GetAbsolutePathName(fs.BuildPath(fs.GetSpecialF older(2), "UserIn.htm"))

Set web = CreateObject("InternetExplorer.Application")
web.Offline = True
web.AddressBar = False
web.Left=200
web.Top=100
web.Height = 350
web.Width = 500
web.Resizable=False
web.MenuBar = False
web.StatusBar = False
web.Silent = True
web.ToolBar = False
web.Navigate strFile
Do While web.Busy
Loop
On Error Resume Next
Set doc = Nothing
Do Until Not doc Is Nothing
Set doc = web.Document
Loop

Cartella="c:\foto"

set folder = fs.GetFolder(Cartella)
k=0
For Each file in folder.Files
strFileProva = file.name
doc.Forms(0).elements("username").options.length=k+1
doc.Forms(0).elements("username").options(k).text=unescape(strFileProva)
doc.Forms(0).elements("username").options(k).value=unescape(strFileProva)
k=k+1
Next
web.Visible = True
Err.Clear

Do Until doc.Forms(0).elements("b_submit").Value <> "Copia"
Wscript.Sleep 100
If Err.Number <> 0 Then Exit Do
Loop
strFile = fs.GetAbsolutePathName(fs.BuildPath(fs.GetSpecialF older(2), "UserIn.bat"))
Set ts = fs.OpenTextFile(strFile, 2, True)
ts.WriteLine "SET USERNAME=" & Cartella & "\" & doc.Forms(0).elements("username").Value
ts.WriteLine "SET PASSWORD=" & doc.Forms(0).elements("password").Value
ts.Close
'web.Quit


:DONE

al primo tentativo funziona tutto, anche l'evento onchange della lista. il problema come ricaricare il frammento :VBS dopo il primo salvataggio

Loading