Come chiamare un cmd su un server remoto senza avere il percorso assoluto


5

Vorrei chiamare un cmd (chiamiamolo x.cmd) su un server remoto. X.cmd restituirà un file di registro in una cartella di registro. Il problema è che questa cartella di registro in x.cmd non ha un percorso assoluto (solo un percorso relativo come log \) quindi se lo faccio

wmic /node:server process call create "serverpath\x.cmd"

elaborerà x.cmd ma salverà il file di registro in system32o da qualche parte suppongo. Se aggiungo cd /d %~dp0in x.cmd, allora funziona benissimo. Sfortunatamente non mi è permesso toccare x.cmd. Mi chiedo solo che esiste un altro modo per chiamare x.cmd senza modificarlo e anche l'output corretto. Grazie.

JS


Se si dispone del percorso di x.cmd, perché non è possibile utilizzare il percorso del server e il percorso relativo alla cartella di registro per ottenere ciò che si desidera?

Sì, il problema che ho ora è che non ci sarà nulla nella cartella di registro poiché il percorso della cartella di registro in x.cmd non è assoluto. questa è la domanda precedente che ho posto. stackoverflow.com/questions/16708633/...

Se non è assoluto, suppongo che cambi ad ogni corsa. Percorso fornito dall'utente durante l'esecuzione di x.cmd

quindi se lo eseguo localmente su quel server va bene, ma non posso chiamarlo da remoto. il percorso è in x.cmd e fornito dal client, quindi non mi è permesso toccarlo.

ti è permesso creare un .batfile sul computer remoto (e quindi eliminarlo) solo per ottenere il percorso assoluto?
npocmaka,

Risposte:


2

http://msdn.microsoft.com/en-us/library/windows/desktop/aa389388(v=vs.85).aspx

il secondo parametro che wmic processaccetta è la directory. Puoi provare questo:

wmic /node:server process call create "serverpath\x.cmd" , "c:\path\to\x.cmd"

o

wmic /node:server process call create CommandLine="serverpath\x.cmd" CurrentDirectory="c:\path\to\x.cmd"

Potrebbe essere necessaria una chiamata aggiuntiva net sharesul computer remoto per ottenere la posizione esatta della directory. qualcosa come questo:

wmic /node:server process call create "cmd /c \"net share ^> \\\\myshare\\server.shares.txt \""

1
chiamata di processo crea "cmd / c cd / d PATH_TO_X_CMD & PATH_TO_X_CMD \ x.cmd" ha risolto il mio problema! grazie a tutti!
user2381130,

Soluzione intelligente, user2381130, grazie!
twasbrillig,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.