Quali percorsi sono garantiti su Windows Server 2008 R2?


4

Quali percorsi sono garantiti per esistere in un'istanza di Windows Server 2008 R2? Un client richiede che alcune istruzioni specifichino percorsi esatti in tutti i casi. (La persona che esegue tali istruzioni non dovrebbe decidere su qualsiasi percorso, anche quando il percorso non fa assolutamente alcuna differenza.) Quindi ho bisogno di sapere su quali percorsi posso contare per essere lì. Per me va bene se coinvolgono variabili d'ambiente, ma devono essere garantite per contenere un percorso esistente. (Cioè, nessuna modifica a un percorso che non esiste possibile.)

O non ci sono percorsi garantiti?


Ad essere sincero, spero che la risposta sia che non ce ne sono. Quindi posso rispondere a questo dicendo loro che devono garantirmi l'esistenza di alcuni percorsi prima che io possa apportare la modifica.
jpmc26,

È meglio usare le variabili ambientali per i percorsi piuttosto che per i percorsi codificati in quanto alcuni dei percorsi potrebbero cambiare leggermente, ma la variabile non cambierà
MaQleod

Abbastanza giusto, ma sono garantiti per rappresentare posizioni esistenti?
jpmc26,

Questo è il punto delle variabili ambientali: un nome di variabile comune che contiene dettagli specifici sulla configurazione di sistema corrente. Ad esempio,% HOMEPATH% punterà sempre alla home directory dell'utente attualmente connesso, questo sarà sempre un percorso valido. Meglio ancora, quell'opzione specifica sarà sempre scrivibile per l'utente attualmente connesso, quindi non dovrai preoccuparti nemmeno delle autorizzazioni (a differenza se scegli% HOMEDRIVE%, dove Criteri di gruppo potrebbero impedire a un utente di scrivere a).
MaQleod,

Sì, per far funzionare Windows è necessario che esistano molte delle variabili ambientali che puntano alle cartelle.
Afrazier,

Risposte:


6

Puoi usare le variabili ambientali. Queste sono variabili utilizzate dal sistema e pertanto devono essere percorsi validi. Sono anche quelli che funzionano su varie piattaforme Windows, quindi anche se cambiano i percorsi standard codificati, il percorso caricato nella variabile da Windows rimarrà valido.

% HOMEPATH%: punta alla home directory dell'utente attualmente connesso. Questo percorso sarà sempre scrivibile per l'utente, quindi non avrai problemi di autorizzazione se gli utenti installeranno il software da soli.

% HOMEDRIVE%: punta all'unità su cui è stato installato il sistema (in genere C :, ma può cambiare). Questa non è l'opzione migliore per l'installazione, spesso i criteri di gruppo impediscono agli utenti di scrivere qui.

% PROGRAMFILES% - cartella dei file di programma predefinita, luogo comune per le installazioni.


2
+1:% APPDATA% e% TEMP% sono anche due buoni. :)
Ƭᴇcʜιᴇ007,

Grazie. Probabilmente userò HOMEPATH poiché la directory è destinata a un utente per inserire i file.
jpmc26

2

Utilizzare l'API di Windows SHGetSpecialFolderPath () per recuperare il percorso corrispondente a uno dei vari nomi simbolici delle cartelle speciali. Ad esempio, chiamarlo su CSIDL_DESKTOPDIRECTORY garantisce di fornire il nome localizzato della directory desktop dell'utente. Ho usato questa API per creare l'utilità di directory inclusa con la mia shell Hamilton C che, a sua volta, utilizzo per sapere dove mettere le cose durante l'installazione.


Utile, ma sfortunatamente, questo sta andando in un documento, non in un codice. (Ecco perché ho chiesto a Super User invece di StackOverflow.) Grazie, comunque. Hm. Alcuni documenti indicano che il metodo non è supportato e invece utilizza ShGetFolderPath. Funziona altrettanto bene?
jpmc26,

1
Sarò dannato. Ho scritto il mio codice usando SHGetSpecialFolderPath () dieci anni fa su Win2K. È stato sicuramente documentato come supportato allora e non importa cosa dicono i documenti oggi, funziona ancora su Win7. Ma sembra che MS vorrebbe che migrassimo alla loro nuova API, SHGetKnownFolderPath (). Grazie per averlo scelto.
Nicole Hamilton,
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.