2009-06-19 15 views
11

Possiedo un file che si tenta di spostare tramite un file batch in una pianificazione a tempo.File batch di Windows - Sposta il file non funziona solo nell'Utilità di pianificazione

move sourceFile destinationFile.

file di destinazione è su una Z. un'unità di rete mappata

Così, per esempio, il comando sarà:

mossa C: \ myfile.txt Z: \ myfile.txt

Quando ho eseguire il file batch in Windows facendo doppio clic su di esso, funziona correttamente. Ma quando lo pianifico tramite l'Utilità di pianificazione, non funziona.

ho aggiunto:

net use Z: \ myIpAddress

per vedere se il problema è stato un problema di risoluzione, ma questo funziona anche solo con il file batch direttamente, non in Utilità di pianificazione.

L'attività è in esecuzione con i privilegi più elevati come amministratore.

OS = Windows 2008 server.

Qualche idea?

Grazie.

+0

Stai eseguendo lo script come lo stesso utente –

+0

yup, in esecuzione come amministratore –

+0

Come sei riuscito a risolvere questo? – Mukus

risposta

1

Sembra un problema di autenticazione: sei sicuro che l'utente che esegue l'attività abbia diritti di amministratore (o gli stessi diritti dell'utente che ha effettuato l'accesso quando "funziona")?

+0

potresti aver ragione. L'unità di rete è un'unità di archiviazione cloud con host. Quindi ci stanno guardando. Ma il fatto è che posso eseguire lo script batch come Amministratore tramite desktop remoto, e sto eseguendo lo stesso script in Utilità di pianificazione come quell'utente (Admin), quindi se fosse un problema di autenticazione, penseresti che anche il file batch stesso fallirebbe. –

0

Hai provato a utilizzare percorsi di stile UNC anziché unità mappate?

qualcosa di simile (non testata):

move \\server\share\file_path \\other_server\other_share\new_file_path 
+0

quando provo, ottengo l'errore "Il nome della rete non può essere trovato" –

1

Io non sono esattamente sicuro quale sia il problema, ma ci si può aiutare un po 'modificando il file batch un po' e l'aggiunta di un po 'di registrazione di uscita:

Dopo l'esecuzione dell'attività pianificata, dovresti essere in grado di rivedere c:\debug_log.txt per tutti gli output e gli errori di questi due comandi prodotti.

+0

Grazie per quella concessione. L'errore prodotto come sospetto era: Il sistema non riesce a trovare l'unità specificata. Quindi l'Utilità di pianificazione non riesce a trovare l'unità, ma il file batch può. –

2

"L'attività è in esecuzione con i privilegi più elevati come amministratore." mi ha ricordato qualcosa, questo è successo in Vista e succede ancora in Windows 7 (ho appena aggiornato): ho scoperto che le mie unità di rete mappate non sono disponibili quando eseguo un prompt dei comandi come amministratore.

Si potrebbe voler provare a eseguire il file batch da un prompt dei comandi con privilegi elevati (Amministratore) e vedere se si ottiene lo stesso errore, ho il sospetto che lo farai.

Potrebbe essere possibile pianificare il comando "sposta" come compito pianificato da eseguire e trasmetterlo ai parametri "C: \ myfile.txt Z: \ myfile.txt"? (Non ho provato questo)

6

Ho trovato la risposta: andare nelle proprietà dell'attività e UNCHECK "Esegui con i massimi privilegi" e funzionerà.

La risposta di Richard mi ha spinto a esaminarlo di più.Ho eseguito cmd come amministratore, non ho trovato la mia unità mappata. Pertanto, l'utilità di pianificazione non riesce a trovarlo quando viene eseguito come amministratore, cosa che sta facendo "i privilegi più alti".

+1

Non vedo "Esegui con i massimi privilegi" nell'utilità di pianificazione di Windows 2003. Dov'è? –

Problemi correlati