PDA

View Full Version : windows 7 non esegue file batch


live_killers
02-03-2013, 21:31
Ciao a tutti.

Ho creato un file batch (con estensione .bat) avente il seguente codice:

rd /S /Q L:\backup

Mi serve per eliminare tutto il contenuto della cartella backup. Sul mio portatile con win8 funziona mentre invece sul pc fisso (con win 7) mi restituisce il seguente errore:

impossibile trovare il file c:\user\desktop\prova.bat. Verificare che il nome del file sia corretto quindi riprovare.

Ovviamente il nome del file è corretto e la directory è corretta. Secondo voi come mai mi da questo messaggio?

live_killers
03-03-2013, 08:32
Altro dettaglio... se lo stesso codice del file batch lo digito nel prompt dei comandi (cmd) funziona tutto correttamente.

Sempre più strano... nessuno ha qualche idea?:muro: :muro:

Eress
03-03-2013, 08:32
Ho provato sul mio W7 e in questa forma funziona

@echo off
@rd /s /q [percorso cartella]

live_killers
03-03-2013, 09:00
Ho provato sul mio W7 e in questa forma funziona

@echo off
@rd /s /q [percorso cartella]


Ti ringrazio Eress.. purtroppo nel mio caso si ripete lo stesso messaggio!!

Non penso proprio dipenda dal codice sbagliato... su cmd e su win 8 lo stesso codice funziona perfettamente.

Dev'esserci una qualche impostazione che magari ho attivato senza volere che esclude l'esecuzione di file .bat... oppure (ancora peggio) un virus??? Il pc non presenta altri apparenti problemi.. sembra solo abbia un'avversione particolare per i file batch.

Curiosità.. quando scrivete il codice sul file notepad, prima di salvarlo come .bat, cosa c'è scritto in basso nella codifica? Da me è impostato su ANSI.

x_Master_x
03-03-2013, 09:50
Eress, cos'è quella @ davanti a RD? :D
Se metti @echo off come prima linea vale per tutti i comandi successivi, non c'è bisogno di ripetere la @ per ogni stringa

live_killers, Il problema è che i tuoi file .bat hanno perso l'associazione, controlla queste chiavi di registro se corrispondono:


HKEY_CLASSES_ROOT\.bat
Predefinito --> batfile

HKEY_CLASSES_ROOT\.bat\PersistentHandler
Predefinito --> {5e941d80-bf96-11cd-b579-08002b30bfeb}

HKEY_CLASSES_ROOT\batfile\shell\open\command
Predefinito --> "%1" %*


e se hai questa chiave, eliminala:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat

Eress
03-03-2013, 13:00
In effetti scrivendo m'è scappata una @ di troppo :D però ai fini pratici non cambia nulla, provato e funziona nello stesso modo :asd:
PS: la @ mi pare servisse per nascondere le operazioni a finestra o qualcosa del genere

live_killers
03-03-2013, 21:17
live_killers, Il problema è che i tuoi file .bat hanno perso l'associazione, controlla queste chiavi di registro se corrispondono:


HKEY_CLASSES_ROOT\.bat
Predefinito --> batfile

HKEY_CLASSES_ROOT\.bat\PersistentHandler
Predefinito --> {5e941d80-bf96-11cd-b579-08002b30bfeb}

HKEY_CLASSES_ROOT\batfile\shell\open\command
Predefinito --> "%1" %*


e se hai questa chiave, eliminala:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat

Grazie per la risposta x_Master_x.
Le due HKEY_CLASSES_ROOT ce le ho già corrette. Avevo anche la HKEY_CURRENT_USER che poi ho eliminato come mi hai detto.. però il problema rimane!!!!:cry: :cry:

UtenteSospeso
03-03-2013, 22:06
Ciao a tutti.

Ho creato un file batch (con estensione .bat) avente il seguente codice:

rd /S /Q L:\backup

Mi serve per eliminare tutto il contenuto della cartella backup. Sul mio portatile con win8 funziona mentre invece sul pc fisso (con win 7) mi restituisce il seguente errore:

impossibile trovare il file c:\user\desktop\prova.bat. Verificare che il nome del file sia corretto quindi riprovare.

Ovviamente il nome del file è corretto e la directory è corretta. Secondo voi come mai mi da questo messaggio?

Il percorso citato nell'errore è impossibile che esista, l'hai copiato pari pari ?

Dovrebbe essere c:\users\utente_in_uso\desktop\prova.bat

Come fai a lanciare il batch ? doppio clik ? un collegamento al batch ?

Dall'errore sembra che il file .bat da eseguire venga cercato nel posto sbagliato .

.

x_Master_x
04-03-2013, 16:43
Grazie per la risposta x_Master_x.
Le due HKEY_CLASSES_ROOT ce le ho già corrette. Avevo anche la HKEY_CURRENT_USER che poi ho eliminato come mi hai detto.. però il problema rimane!!!!:cry: :cry:

Questo mi conferma che sei andato ad associare il .bat ad un altro programma ( cosa che non puoi fare nemmeno con Apri con ) incasinando il sistema, quella chiave non deve esistere quindi ha fatto bene a cancellarla.

Apri Blocco Note, salva questo testo come file.reg ( l'icona è diversa )

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.bat]
@="batfile"

[HKEY_CLASSES_ROOT\.bat\PersistentHandler]
@="{5e941d80-bf96-11cd-b579-08002b30bfeb}"

[HKEY_CLASSES_ROOT\batfile]
@="Windows Batch File"
"EditFlags"=hex:30,04,00,00
"FriendlyTypeName"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,\
00,6f,00,6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,\
32,00,5c,00,61,00,63,00,70,00,70,00,61,00,67,00,65,00,2e,00,64,00,6c,00,6c,\
00,2c,00,2d,00,36,00,30,00,30,00,32,00,00,00

[HKEY_CLASSES_ROOT\batfile\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,6d,00,\
61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,36,\
00,38,00,00,00

[HKEY_CLASSES_ROOT\batfile\shell]

[HKEY_CLASSES_ROOT\batfile\shell\edit]

[HKEY_CLASSES_ROOT\batfile\shell\edit\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,25,00,31,00,00,\
00

[HKEY_CLASSES_ROOT\batfile\shell\open]
"EditFlags"=hex:00,00,00,00

[HKEY_CLASSES_ROOT\batfile\shell\open\command]
@="\"%1\" %*"

[HKEY_CLASSES_ROOT\batfile\shell\print]

[HKEY_CLASSES_ROOT\batfile\shell\print\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,2f,00,70,00,20,\
00,25,00,31,00,00,00

[HKEY_CLASSES_ROOT\batfile\shell\runas]
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\batfile\shell\runas\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,63,00,6d,00,\
64,00,2e,00,65,00,78,00,65,00,20,00,2f,00,43,00,20,00,22,00,25,00,31,00,22,\
00,20,00,25,00,2a,00,00,00

[HKEY_CLASSES_ROOT\batfile\shell\runasuser]
@="@shell32.dll,-50944"
"Extended"=""
"SuppressionPolicyEx"="{F211AA05-D4DF-4370-A2A0-9F19C09756A7}"

[HKEY_CLASSES_ROOT\batfile\shell\runasuser\command]
"DelegateExecute"="{ea72d00e-4960-42fa-ba92-7792a7944c1d}"

[HKEY_CLASSES_ROOT\batfile\ShellEx]

[HKEY_CLASSES_ROOT\batfile\ShellEx\ContextMenuHandlers]
@="Compatibility"

[HKEY_CLASSES_ROOT\batfile\ShellEx\ContextMenuHandlers\Compatibility]
@="{1d27f844-3a1f-4410-85ac-14651078412d}"

[HKEY_CLASSES_ROOT\batfile\ShellEx\DropHandler]
@="{86C86720-42A0-1069-A2E8-08002B30309D}"

[HKEY_CLASSES_ROOT\batfile\ShellEx\PropertySheetHandlers]

[HKEY_CLASSES_ROOT\batfile\ShellEx\PropertySheetHandlers\ShimLayer Property Page]
@="{513D916F-2A8E-4F51-AEAB-0CBC76FB1AF8}"

[HKEY_CLASSES_ROOT\batfile\ShellEx\{8895b1c6-b41f-4c1c-a562-0d564250836f}]
@="{1531d583-8375-4d3f-b5fb-d23bbd169f22}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.bat]
@="batfile"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.bat\PersistentHandler]
@="{5e941d80-bf96-11cd-b579-08002b30bfeb}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile]
@="Windows Batch File"
"EditFlags"=hex:30,04,00,00
"FriendlyTypeName"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,\
00,6f,00,6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,\
32,00,5c,00,61,00,63,00,70,00,70,00,61,00,67,00,65,00,2e,00,64,00,6c,00,6c,\
00,2c,00,2d,00,36,00,30,00,30,00,32,00,00,00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,6d,00,\
61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,36,\
00,38,00,00,00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\edit]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\edit\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,25,00,31,00,00,\
00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\open]
"EditFlags"=hex:00,00,00,00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\open\command]
@="\"%1\" %*"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\print]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\print\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,2f,00,70,00,20,\
00,25,00,31,00,00,00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\runas]
"HasLUAShield"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\runas\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,63,00,6d,00,\
64,00,2e,00,65,00,78,00,65,00,20,00,2f,00,43,00,20,00,22,00,25,00,31,00,22,\
00,20,00,25,00,2a,00,00,00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\runasuser]
@="@shell32.dll,-50944"
"Extended"=""
"SuppressionPolicyEx"="{F211AA05-D4DF-4370-A2A0-9F19C09756A7}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\runasuser\command]
"DelegateExecute"="{ea72d00e-4960-42fa-ba92-7792a7944c1d}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\ShellEx]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\ShellEx\ContextMenuHandlers]
@="Compatibility"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\ShellEx\ContextMenuHandlers\Compatibility]
@="{1d27f844-3a1f-4410-85ac-14651078412d}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\ShellEx\DropHandler]
@="{86C86720-42A0-1069-A2E8-08002B30309D}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\ShellEx\PropertySheetHandlers]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\ShellEx\PropertySheetHandlers\ShimLayer Property Page]
@="{513D916F-2A8E-4F51-AEAB-0CBC76FB1AF8}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\ShellEx\{8895b1c6-b41f-4c1c-a562-0d564250836f}]
@="{1531d583-8375-4d3f-b5fb-d23bbd169f22}"

Avvia il file.reg e dai conferma per l'aggiunta nel registro, riavvia il computer.

Fai uno bat con questo script:

@echo off
echo Il bat funziona
pause


Ed avvialo cliccandoci due volte sopra.
Se non funziona e ti restituisce l'errore tipo "impossibile trovare il file etc. ", vuol dire che hai altri riferimenti strani riferimenti a "bat" nel registro, controlla con una ricerca ( escludi ovviamente la chiavi qui sopra, sono prese da una VM funzionante e pulita, sono tutte necessarie )
Prima di eliminarle fai un backup di sicurezza delle chiavi.