Newsgroup: it.comp.aiuto
Titolo: Aiuto file Batch...

Ciao a tutti !
Ho il seguente problema : devo spostare una trentina di file da una
cartella ( Windows) in una temporanea  per poi cancellarli, avendo
gia' la lista dei file in questione su file txt, volevo creare un
Batch che velocizzasse l'operazione ; qualcuno sa come posso applicare
il comando move ad un gruppo di file  considerando che questi sono
messi in colonna e non in riga, e senza poter usare i caratteri jolly
( * ?) ? Per chiarire meglio, la lista dei files e' cosi' sistemata :
c:\windows\xxxx
c:\windows\yyyyyyy
c:\windows\zzzzzzzz
ecc...
Grazie in anticipo


Di cercare una soluzione usando il "solo sistema operativo" non ne ho
voglia ;)
Magari te la propone qualcun'altro .....
****
Nella sezione Download di questo sito:
 
http://www.GeoCities.com/SiliconValley/Bay/2165
trovi 2 programmi che possono, entrambi, risolvere il tuo problema:
- Il primo si chiama USFM e serve per generare dei Files Script (batch,
ad esempio).
- Il secondo si chiama Udaplot e necessita di apposita configurazione
(che dovrai creare .... e' molto facile comunque) per dirgli cosa vuoi
fare con i file contenuti nella lista.
Se hai bisogno mi puoi contattare tranquillamente.
Ciao, U D A.
-- 
<><><><><><><><><><><><><><><><><><><><><><><><
UDA'Software
mailto:
u...@freemail.it
mailto:
uda.so...@iol.it
http://www.GeoCities.com/SiliconValley/Bay/2165

 ecc...
Puoi provare con questo LISTMOVE.BAT (i numeri di riga sono stati messi per
questioni di ritorni a capo indesiderati e vanno eliminati):
[01] @echo off
[02] echo.
[03] echo                           LISTMOVE   © A.C. 31/7/99
[04] echo             Sposta nella directory passata come secondo argomento
[05] echo     file e directory elencati nel file-lista passato come primo
argomento
[06] echo.
[07] echo                       N.B.: NON sposta file eseguibili
[08] echo.
[09] if "%2"=="" goto sintassi
[10] for %%p in (%1 %2\nul) do if not exist %%p goto sintassi
[11] set dest=%2
[12] echo if "%%1"=="" goto end > mov.bat
[13] echo move %%1 %%dest%% >> mov.bat
[14] echo :end >> mov.bat
[15] type %1 | find /i /v ".COM" | find /i /v ".EXE" | find /i /v ".BAT" >
list.bat
[16] set prmptsav=%prompt%
[17] REM Nella riga seguente, c'è uno spazio dopo "mov"!!!
[18] prompt call mov 
[19] ctty nul
[20] command /c list.bat > ~tmp.bat
[21] ctty con
[22] del list.bat
[23] call ~tmp
[24] del mov.bat
[25] del ~tmp.bat
[26] prompt %prmptsav%
[27] set prmptsav=
[28] set dest=
[29] type %1 | find /i ".COM" > xlist
[30] type %1 | find /i ".EXE" >> xlist
[31] type %1 | find /i ".BAT" >> xlist
[32] fc xlist nul | find /i "differen" > nul
[33] if not errorlevel 1 goto no_xlist
[34] echo.
[35] echo NON sono stati spostati i seguenti file (eseguibili):
[36] type xlist
[37] :no_xlist
[38] del xlist
[39] goto end
[40] :sintassi
[41] echo.
[42] echo Sintassi: "LISTMOVE <[unità:][percorso]nome_lista>
<destinazione>"
[43] :end
[44] echo.

 > [cut]
Direi che è una ottima soluzione.
Mi è piaciuto il "prompt call mov"
Ci sono però alcuni limiti fastidiosi
Se il problema è rappresentato dal fatto che uno dei file eseguibili
della lista può trovarsi nella directory corrente,
puoi benissimo aggirare l'ostacolo
dando come parametro al "Command" ,anzichè i nomi dei file,
la specificazioe di una unità non valida
A questo scopo ho inserito qualche piccola variazione al tuo file: 
@echo off
echo.
echo                           LISTMOVE   © A.C. 31/7/99
echo             Sposta nella directory passata come secondo argomento
echo  file e directory elencati nel file-lista passato come primo argomento
echo.
if "%2"=="" goto sintassi
for %%p in (%1 %2\nul) do if not exist %%p goto sintassi
set dest=%2
echo if "%%2"=="" goto end > mov.bat
echo move %%2 %%dest%% >> mov.bat
echo :end >> mov.bat
fc/n %1 nul|find ":  " > list.bat
set prmptsav=%prompt%
REM Nella riga seguente, c'è uno spazio dopo "mov"!!!
prompt call mov 
ctty nul
command /c list.bat> ~tmp.bat
ctty con
del list.bat
call ~tmp
del mov.bat
del ~tmp.bat
prompt %prmptsav%
set prmptsav=
set dest=
goto end
:sintassi
echo.
echo Sintassi: "LISTMOVE <[unità:][percorso]nome_lista> <destinazione>"
:end
echo.
Ci risentiamo
Giovanni

 della lista può trovarsi nella directory corrente,
Basta anche nel path...

Perfetto!!!
P.S. = Sono certo, comunque, che avrai capito che la mia era una *precisa
scelta* volta a dare al batch lo spirito dell'Explorer di Windows 95, che,
per tutelare noi bimbi scemi, non sposta gli eseguibili.  ;-))