web-dev-qa-db-fra.com

forfiles avec le chemin UNC

J'essaie d'utiliser forfiles pour supprimer des fichiers de plus de 7 jours. Les fichiers sont dans un chemin UNC. Vous trouverez ci-dessous le script que j'utilise. 

Forfiles -p \\devexpress\C$\FULL\ -s -m *.* -d -7 -c "cmd /c del /q @path" 

Mais je reçois une erreur indiquant que les chemins UNC (\ machine\share) ne sont pas pris en charge.

Il semble que des solutions de contournement soient disponibles, mais ne permettent pas d'obtenir une réponse claire sur Google.

15
kla

L'erreur que j'obtiens en essayant de reproduire le problème indique que le problème ne vient pas de FORFILES qui ne suporte pas le chemin UNC, mais du fait que CMD ne puisse pas démarrer avec un chemin UNC comme répertoire par défaut. Dans le cas où cela est également votre problème, il existe trois approches pour le résoudre.

  1. vous pouvez affecter le chemin UNC à une lettre de disque, via Net Use

    Net Use V: \\devexpress\C$
    Forfiles -p V:\FULL\ -s -m *.* -d -7 -c "cmd /c del /q @path" 
    
  2. Vous pouvez contourner CMD et utiliser directement un utilitaire exécutable ERASEFILE directement dans l’option -C de la FORFILES

  3. Vous pouvez contourner FORFILES et utiliser la commande FOR avec une logique de vérification de date. Voir ma réponse à cette question de débordement de pile Comment puis-je vérifier la création d'un horodatage d'un fichier dans un script batch Windows?

12
PA.

La solution améliorée à la première réponse de l’AP est la suivante:

PushD "\\devexpress\C$\FULL\" &&(
    forfiles -s -m *.* -d -7 -c "cmd /c del /q @path" 
     ) & PopD

La commande PushD mappe automatiquement le chemin UNC à la lettre de lecteur libre, il s’agit donc d’une approche portable . Trouvé dans http://www.petri.co.il/forums/showthread.php?t=24241

63
jirkamat

J'ai eu ceci au travail:

PushD "\\DS\Tajana\Arhiva\Arhive po danima" &&("forfiles.exe" /s /m "*.*" /d -7 /c "cmd /c del @path") & PopD

bien que je reçoive un message à propos de l'erreur dans la fenêtre de commande «ne supporte pas le chemin UNC», mais les fichiers de plus de 7 jours sont toujours supprimés

0
Hrvoje Reich