Ho un file batch che funzionava abbastanza felicemente, fino all'ultimo paio di corse, e ora non lo è. Il codice incriminato è il seguente:"For" con "usebackq" che non utilizza le virgolette posteriori
set uncommittedchanges=1
for /f "tokens=* usebackq" %%a in (`"C:\Program Files\Git\cmd\git" -C "\my\git\repository" status`) do (
if "%%a" == "nothing to commit, working directory clean" (
set uncommittedchanges=0
)
)
E l'errore che sto ottenendo è
'C: \ Program' non è riconosciuto come comando interno o esterno, un programma eseguibile o un file batch.
Sono sicuro di non aver apportato alcuna modifica a queste righe dal momento dell'ultimo funzionamento e non riesco a vedere nulla di sbagliato nel codice così com'è.
Qualcuno può individuare ciò che è sbagliato o suggerire un'impostazione che potrebbe essere stata inavvertitamente modificata che influenza usebackq?
Il nuovo cmd è in modalità di amministratore? – Mekap
Sì, ho eseguito cmd.exe come amministratore. – BeanFrog
Non riesco a rispondere al motivo per cui hai misteriosamente perso il lavoro, ma potresti aggirare il problema usando l'alias breve 8.3: "C: \ PROGRA ~ 1 \ Git \ cmd \ git" -C "\ mio \ git \ repository "status' –