Sto tentando di eseguire il comando seguente in Windows Server 2003 ma sed crea una pila di file che non riesco a eliminare dalla riga di comando all'interno della directory corrente.Sed crea file non cancellabili in Windows
for /R %f in (*.*) do "C:\Program Files\gnuwin32\bin\sed.exe" -i "s/bad/good/g" "%f"
Qualcuno ha qualche suggerimento? Misteriosamente, sono in grado di cancellare i file usando Windows Explorer.
Come richiesto, ecco alcuni esempi di nomi di file:
- sed0E3WZJ
- sed5miXwt
- sed6fzFKh
E, informazioni sulla risoluzione dei problemi più ...
- Essa si verifica da entrambi il prompt dei comandi & file batch
- Se ho solo bisogno di eseguire sed su una singola directory, quindi io uso
sed "s/bad/good/g" *.*
e tutto è OK. Ahimè, ne ho bisogno anche per affrontare tutte le sottodirectory. - Ho installato solo Sed.
- Sed sta creando i file
Sarebbe utile se hai mostrato un esempio il nome del file. Ho provato il tuo comando con "c: \ cygwin \ bin \ sed.exe" e ha funzionato bene a parte un avvertimento sui backslash e le barre. –
sed -i in realtà funziona abbastanza bene per me se il file non è di sola lettura per cominciare. Nessun residuo temporaneo di file non cancellabili e nessun errore. Dovrei menzionare che lo sto usando in combinazione con find invece che in un ciclo for. – mjohnsonengr