Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2483 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Aide pour la commande calcs

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Aide pour la commande calcs

n°1529402
webding
Posté le 16-03-2007 à 11:29:09  profilanswer
 

Bonjour, j'ai bloquer un répertoire avec cette syntaxe:

Code :
  1. cacls %1 /p %username%:n


Mais je n'arrive pas a la déblouer avec cette syntaxe:

Code :
  1. cacls %1 /e /g %username%:f


Voyer vous l'erreur ?

mood
Publicité
Posté le 16-03-2007 à 11:29:09  profilanswer
 

n°1529658
blastkille​r
Posté le 16-03-2007 à 17:40:22  profilanswer
 

Hum j'ai test en local et sa marche ...
donc j'en sais rien, mais pourquoi t'utilises pas deja le meme switch ? tu bloque avec /p et tu debloque avec /g . Utilise le meme et test

n°1529670
webding
Posté le 16-03-2007 à 18:14:18  profilanswer
 

Avec ceci ça ne marche pas non plu:

Code :
  1. cacls %1 /e /p %username%:f

n°1529676
blastkille​r
Posté le 16-03-2007 à 18:40:53  profilanswer
 

et ben renleve le /e

n°1529679
webding
Posté le 16-03-2007 à 18:51:19  profilanswer
 

en enlevant le /e ça ne change rien

n°1529759
blastkille​r
Posté le 16-03-2007 à 22:30:13  profilanswer
 

T'es bien sur un compte admin ? T'as les droits admin sur l'utilisateur sous lequel t'es ?

n°1529859
webding
Posté le 17-03-2007 à 09:29:20  profilanswer
 

Oui je suis admin

n°1529880
blastkille​r
Posté le 17-03-2007 à 11:45:28  profilanswer
 

Et ben je comprend pas -_-
 
Moi par exemple je crée le dossier c:\test
en console je tape :
cacls test /p "blast killer":n
j'essaye d'acceder au repertoire, je peux pas.
ensuite :
cacls test /p "blast killer":f
et là tu peux y acceder
 
Test ça chez toi, et verifi si deja comme ça sa marche
 
Sinon j'vois que t'as mis des variables, si l'username contient des espaces oubli pas de mettre entre guillemet. Et la variable %1 c'est le premier argument rentré après le nom du script dans la console. Donc peut etre essaye de faire ça en début de script :
set dossier="%1"

n°1529882
webding
Posté le 17-03-2007 à 11:59:41  profilanswer
 

Ben c'eest en début de script, la variable %1 prend déja des guillemets

n°1529996
blastkille​r
Posté le 17-03-2007 à 20:59:18  profilanswer
 

Vasy fait voir ton code complet stp

mood
Publicité
Posté le 17-03-2007 à 20:59:18  profilanswer
 

n°1530060
webding
Posté le 18-03-2007 à 11:04:09  profilanswer
 

Code :
  1. :Debut
  2.   cls & echo.&
  3.    echo  ==^> (b)... Bloquer
  4.    echo  ==^> (d)... D‚bloquer
  5.   echo.& if not "%~1"=="" echo  ==^> %~1 &echo.
  6. set errorlevel=0
  7. set /p Menu= ===^> Bloquer ou d‚bloquer ?
  8. if not %errorlevel%== 0 goto Debut
  9.   if /i %Menu%== b cacls %1 /p %username%:n & pause>nul
  10.   if /i %Menu%== d cacls %1 /e /g %username%:f & pause>nul
  11. goto Debut

n°1530067
blastkille​r
Posté le 18-03-2007 à 11:52:49  profilanswer
 

Hum, tu codes bizarement ^^
Enfin, on code pas pareil...
 
@echo off
:Debut
cls & echo.&
echo  ==^> (b)... Bloquer
echo  ==^> (d)... D‚bloquer
echo.& if not "%~1"=="" echo  ==^> %~1 &echo.
set errorlevel=0
set /p Menu= ===^> Bloquer ou d‚bloquer ?
if not %errorlevel%== 0 goto Debut
if /i %Menu%== b cacls %1 /p "%username%":n & pause>nul
if /i %Menu%== d cacls %1 /p "%username%":f & pause>nul
goto Debut
 
Comme ça moi sa marche, j'ouvre une console, je tape :
fichier.bat dossier
et ensuite je tape 'b' et sa bloque le dossier 'dossier', pareil pour l'autre option.
 
Sinon moi j'aurais plutot codé ça comme ça :
@echo off
:debut
cls
echo.
if "%1"=="" goto erreur
echo  ==^> (b)... Bloquer
echo  ==^> (d)... D‚bloquer
echo.
echo  ==^> %1
echo.
set /p menu= ===^> Bloquer ou d‚bloquer ?  
if /i %menu%==b cacls %1 /p "%username%":n & pause > NUL & goto :eof
if /i %menu%==d cacls %1 /p "%username%":f & pause > NUL & goto :eof
goto debut
 
:erreur
echo.
echo Vous n'avez pas spécifier de fichier a traiter
pause > NUL
goto :eof
 
 
Le probleme c'est que j'vois pas comment on peut faire si y'a un dossier avec un espace par exemple, parce que le gars va rentrer :
fichier.bat dos sier
et donc %1 = dos
M'enfin bon voila

Message cité 1 fois
Message édité par blastkiller le 18-03-2007 à 11:52:58
n°1530076
webding
Posté le 18-03-2007 à 12:20:10  profilanswer
 

Non la variable %1 ajoute des guillemets

n°1530095
blastkille​r
Posté le 18-03-2007 à 13:52:25  profilanswer
 

Pas chez moi...
Alors, ton probleme est résolu sinon ou pas ?

n°1530127
webding
Posté le 18-03-2007 à 17:12:06  profilanswer
 

non

n°1530134
blastkille​r
Posté le 18-03-2007 à 17:40:42  profilanswer
 

Et ben c'est pas de chance, moi sa marche ^^
Viens sur MSN dès que tu peux.

n°1530608
wackevat
Posté le 19-03-2007 à 16:14:58  profilanswer
 

blastkiller a écrit :

Le probleme c'est que j'vois pas comment on peut faire si y'a un dossier avec un espace par exemple, parce que le gars va rentrer :
fichier.bat dos sier
et donc %1 = dos


L'utilisateur doit rentrer  
fichier.bat "dos sier"
 
%1 egale donc "dos sier" (guillemets inclus) et %~1 dos sier (sans guillemets).
 
On peut penser a recuperer dos et sier separement puis les combiner. Probleme : la combinaison donnerait un faux resultat s'il y avait deux espaces ou plus entre dos et sier.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Aide pour la commande calcs

 

Sujets relatifs
Aide pour un batch MingwAide script perl
commande unix forAide pour BDD de gestion
Logiciel utile pour commande ordi :Insertion de forum dans un site... Besoin d'aide svp!
Un commande dos pour savoir si windows est activer ou pasBesoin d'Aide LotusScript (proche javascript)
besoin d'aide pour création de site de chien virtuel 
Plus de sujets relatifs à : Aide pour la commande calcs


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR