utilizzando icacls in file batch

Voglio fare un file batch che si applica autorizzazioni per un determinato utente cartella utilizzando icacls. Questo è il file batch che ho fatto :

@echo off 

set /p username=username: 

eco Selezionare le autorizzazioni : 

eco N - non è possibile accedere 
eco F - accesso completo 
eco M - modificare l'accesso 
eco, RX - leggere e exe 
echo R - read-only acc 
eco W - scrivere-solo ac 
echo D - eliminazione di accesso 

eco. 

set /p perm=Inserisci le autorizzazioni: 

se %perm%==F 

icacls "C:\Users\%username%" /grant:r "%username%:(OI)(CI)F"

Quando ho eseguito il file e immettere le autorizzazioni di F, si visualizza questo errore : La sintassi del comando è errato. ma se si esegue lo stesso comando direttamente in cmd funziona perfettamente. Così, come faccio a correggere il comando in un file batch in modo che venga eseguito senza problemi?

Ecco un promemoria: N (nessun accesso) non funziona mai in icacls argomenti della riga di comando. N è solo per il display ed è una forma abbreviata di (DENY)(F). Non c’è nessun altro uso.

OriginaleL’autore user1956774 | 2013-01-08

One Reply
  1. 3

    Sembra che la sintassi del if comando sta causando i problemi. Controllare se il permesso scelto è F ma poi non si fa niente.

    Provare a mettere su una linea di

    if %perm%==F icacls "C:\Users\%username%" /grant:r "%username%:(OI)(CI)F"
    

    o in parentesi

    if %perm%==F (
    icacls "C:\Users\%username%" /grant:r "%username%:(OI)(CI)F"
    )
    
    ha funzionato! grazie mille
    Grande, nessun problema 🙂
    Potrebbe non essere il luogo adatto per un commento, ma mi puoi dare esempio di utilizzo del comando icacls di non accedere a una cartella per tutti

    OriginaleL’autore Bali C

Lascia un commento