Suppression de lot: l'accès est refusé


10

Je rencontre des problèmes avec la delcommande dans un fichier de commandes. Quand il arrive à l'étape de suppression, je reçois le message "Accès refusé". Ma commande batch ressemble à ceci.

set destPath=\\Public01\Appl\CompOps\Jobs\

robocopy . "%destPath%" *.dtsx *.dev *.prod *.ppro /IS

pushd "%destPath%"
del *.dtsConfig
ren *.dev .
popd

Entrez la description de l'image ici

Je peux parcourir le répertoire et supprimer les fichiers sans aucun problème dans l' Explorateur Windows .

J'ai essayé de courir en tant qu'administrateur, mais toujours le même problème.

Réponses:


7

Pour forcer une delcommande à supprimer des fichiers en lecture seule, ajoutez l' /Findicateur.

Apparemment, un fichier en lecture seule ne peut normalement pas être supprimé par un fichier de commandes, bien qu'il puisse toujours être supprimé via l' Explorateur Windows . Pour vérifier si votre fichier est en lecture seule, vous pouvez cliquer avec le bouton droit sur le fichier et sélectionner les propriétés ou entrer attrib <filename>à l'invite de commande. Cela montrera une série de lettres correspondant à différents attributs de fichier.

R = Read-only file
A = Archive file
S = System file
H = Hidden file

Vous pouvez supprimer la balise en lecture seule en décochant la case dans la fenêtre des propriétés ou en exécutant la commande attrib <filename> -R.


Malheureusement, cela ne résout pas le problème, je mettrai à jour ma question pour inclure votre suggestion.
agradl

Essayez de placer pauseavant la delcommande, puis essayez de la supprimer via l'Explorateur Windows pendant qu'elle est en pause.
SaintWacko

J'ai trouvé la solution, mais si vous souhaitez modifier votre réponse pour inclure des suggestions en plus de ma solution, je serais heureux de la marquer comme la réponse
agradl

D'accord, ces informations sont-elles rétroactivement utiles? :)
SaintWacko

Je suis sûr que ce sera utile quand j'oublierai ce problème dans des mois à partir de maintenant :)
agradl

2

Après avoir expérimenté les options disponibles pour la commande "del", j'ai découvert que les fichiers que j'essayais de supprimer étaient en lecture seule. Pour résoudre le problème, je pouvais soit modifier les fichiers pour supprimer l'attribut en lecture seule, soit spécifier l'option / F.

Le script final est

set destPath=\\Public01\Appl\CompOps\Jobs\

robocopy . "%destPath%" *.dtsx *.dev *.prod *.ppro /IS

pushd "%destPath%"
del /F *.dtsConfig
ren *.dev .
popd

Solution simple, mais un message d'erreur trompeur. J'espère que cela aide quelqu'un d'autre.


Si vous ne pouvez que le lire, un accès refusé me semble à peu près juste.
surfasb

1

Ce qui a fonctionné pour mon PC Windows 8.1:

Tout d'abord, fermez l'Explorateur Windows en:

Appuyez sur Ctrl+ Alt+ Delpour ouvrir le Gestionnaire des tâches , accédez aux processus, recherchez l' Explorateur Windows , cliquez avec le bouton droit et terminez la tâche . Ne vous inquiétez pas si la barre de démarrage a disparu et autre chose. Utilisez Alt+ Tabpour parcourir les fichiers. Ensuite, dans le Gestionnaire des tâches, cliquez sur Fichier et exécuter une nouvelle tâche , puis tapez cmd. Cela vous ouvrira une ligne de commande .

À l'intérieur du terminal :

Si votre version est 32 bits, et dans mon cas, elle se trouve dans Program Files (x86) , vous devez donc taper:

cd "C:\Program Files (x86)\Git\git-cheetah"
regsvr32 /u git_shell_ext64.dll

C'était pour le désenregistrement.

Vous pouvez parcourir les répertoires à l'aide de cd directorynameet vous pouvez récupérer un répertoire par cd ... Pour afficher ce qui se trouve dans un répertoire, vous pouvez taper dirlorsque vous êtes dans ce répertoire. Pour supprimer le type de fichier:

del /F filename

Après cela, ouvrez à nouveau le Gestionnaire des tâches , accédez à Fichier , puis exécutez explorer. De cette façon, vous arriverez à l'affichage habituel. Allez dans le dossier Git dont nous voulions nous débarrasser et supprimez-le simplement.

J'espère que cela fonctionne pour d'autres personnes qui utilisent Windows 8.1.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.