Aller au contenu

Script anciens indices


ALEX-_-45

Messages recommandés

Bonjour,

J’ai une petite question j’ai actuellement un script .bat que j’ai créé pour range automatiquement mes anciens indices de plan dans un sous dossier.

En gros mes plans son sous la forme 01A* première indice 01B* deuxième indice et si 01B* existe 01A* est déplacé dans le dossier « 3-ANCIENS INDICES » et Inside suite et je souhaiterais réaliser quelque chose du même genre pour mes référence externe mai je ne sais pas par où commencé pour réaliser un programme qui rechercherais en cas de référence externe non trouver les autres indices.

Pourriez-vous me donné au moins une piste pour commencer (type de lange le plus adapter / commande pour rechercher / commande pour modifier le chemin de recherche…) .

 

Par avance merci de vos raiponces.

 

Cordialement ALEX-_-45.

Lien vers le commentaire
Partager sur d’autres sites

Les puristes te diront de passer par du lisp ^^

 

Je fais du vba enfin j'essaye ^^ :

DOSSIER = ThisDrawing.Path 'dossier du dessin'
On error resume next 'creer le dossier3-ANCIENS INDICES s il n existe pas'
Mkdir DOSSIER & "/" & "3-ANCIENS INDICES"
Mkdir DOSSIER & "/" & "...REF indice"
On error go to 0

 

ensuite je sais pas comment tu veux tes refs en automatique ? tes indice sont a la fin d'un nom de fichier ?

je te conseil d'utiliser Right(nom_fichier, 4) et mets des conditions derriere le tout dans une boucle pour boucler sur les fichiers et les comparer les uns avec les autres pour gérer les nouveaux et les anciens ^^

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Les puristes te diront de passer par du lisp ^^

 

Je fais du vba enfin j'essaye ^^ :

DOSSIER = ThisDrawing.Path 'dossier du dessin'
On error resume next 'creer le dossier3-ANCIENS INDICES s il n existe pas'
Mkdir DOSSIER & "/" & "3-ANCIENS INDICES"
Mkdir DOSSIER & "/" & "...REF indice"
On error go to 0

 

ensuite je sais pas comment tu veux tes refs en automatique ? tes indice sont a la fin d'un nom de fichier ?

je te conseil d'utiliser Right(nom_fichier, 4) et mets des conditions derriere le tout dans une boucle pour boucler sur les fichiers et les comparer les uns avec les autres pour gérer les nouveaux et les anciens ^^

 

Merci de prendre le temps de me répondre.

Déjà voilà mon script en version un peut simplifier pour ranger mes fichiers.

@echo off


set /p dossier= : 

cd /d "%dossier%\" 
MKDIR ".\3-ANCIENS INDICES"
call :DossierOK 
)

:DossierOK

for /l %%X in (1,1,50) do (
cls
echo %dossier% Numero de plans %%X /50
set fichierIND=""
set fichierPdfIND=VIDE
if %%X lss 10 (for /f "delims=" %%a in ('dir ".\0%%X*.dwg"/b') do call :IND "%%a") else (for /f "delims=" %%a in ('dir ".\%%X*.dwg"/b') do call :IND "%%a")

)

GOTO BOUCLE

:IND
move /y ".\%fichierIND%" ".\3-Anciens indices\%fichierIND%"

set fichierIND=%~1

set fichierPdfIND=%~1
set fichierPdfIND=%fichierPdfIND:.dwg=%

:BOUCLE

Donc je n’ai jamais deux fichiers qui commence par le même numéro exemple « 07C - IMP ELEC RDC.dwg » et « 07D - IMP ELEC RDC.dwg » mais quand J’ai des références externes et bien évidement il les trouve plus dès que je créer un nouvel indice et non l’indice n’est pas vraiment à la fin.

Effectivement j’imagine l’un lisp serait plus approprier mais j’ai un peu de mal à l’appréhender faire des motifs passe encore mais le taper entièrement ce n’est pas pour aujourd’hui ^^

 

Par contre je n’ai pas besoin de déplacer mes anciens indice mon script précédant le fais très bien, mais j’ai besoin de changer le chemin d’accès de mes références externe qui n’ont pas été trouver.

Donc il faudrait que je récupère le nom de c’est fichier (je ne s’est pas comment) que je cherche en s’il existe avec un autre indice (il ne devrait pas avoir de problème sur cette phase) et que je change le chemin d’accès

Lien vers le commentaire
Partager sur d’autres sites

Malheuresemlent je connais que le VBA...

 

mais j'ai ça :


LB_FICHIER 'Nom donner à une listbox ou combobox


Sub BoucleFichiers()
   Dim Chemin As String, Fichier As String

   
   Chemin = 'chemin de ton dosser'

   'Boucle sur tous les fichiers dwg du répertoire.
   Fichier = Dir(Chemin & "*.dwg")

   'Utilisez la syntaxe suivante pour boucler sur tous les types de fichiers:
   'Fichier = Dir(Chemin & "*.*")

   Do While Len(Fichier) > 0
       'écrit le résultat dans la fenêtre d'exécution (Ctrl+G).
       LB_FICHIER.additem Fichier
       Fichier = Dir()
   Loop
End Sub

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité