Voudrais automatiser dans un fichier de commandes la copie d’un ensemble de fichiers texte que nous recevons chaque mois dans un nouveau dossier d’un lecteur réseau vers un autre lecteur réseau, en remplaçant automatiquement tous les fichiers existants.
Un peu d’arrière-plan: nous recevons la deuxième semaine de chaque mois un extrait de 14 fichiers au total dans un dossier portant cette convention de nommage, DatabaseFilesyyyymmdd , sur l’un de nos disques partagés ( \\server1\receptacle
). Une fois reçu, une autre équipe valide les données et informe ensuite notre équipe qu’elles sont prêtes à être chargées dans une table Oracle existante. Nous copions les fichiers (pas le dossier) sur un autre lecteur réseau ( \\server2\loading
) et lancez le script.
Ce nouveau dossier porte naturellement la même date que les fichiers de données extraits. L’objectif est de créer un fichier .bat que nous pourrions ensuite lancer pour automatiser la tâche de copie, mais la variabilité des nouveaux noms de dossier m’a empêchée de créer un script. Toute aide appréciée.
Edit: un moyen de découvrir et d’écrire le nom du dossier le plus récemment créé dans \ réceptable est ce que je tente de comprendre en copiant les fichiers sur un autre lecteur.
la source
copy F:\receptacle\* F:\loading
?Réponses:
Cela ressemble à du contrôle manuel que votre équipe peut vérifier en premier.
Assurez-vous que le fichier de commandes et le script de lancement prennent le nom du dossier en tant que paramètre (ligne de commande), puis appelez le fichier de traitement avec le nom du dossier qu'il peut utiliser pour la copie, puis transmettez-le au lancement. scénario.
Vous pouvez créer une cible "Envoyer à" personnalisée pour le menu contextuel de l'explorateur, il vous suffit de sélectionner et de cliquer.
Si vous avez besoin d'une situation de dossier surveillé, créez un nouveau dossier pour que la 1ère équipe puisse y déposer les fichiers appelés "validés" et demandez à votre fichier de traitement par lots de s'assurer que le dossier validé ne contient que le seul travail. Peut-être avec une configuration de type "fichier canary" pour que le travail ne démarre pas pendant le transfert des fichiers.
Si vous devez mettre en miroir le dossier "réceptacle" dans "chargement", utilisez robocopy pour éviter une recopie inutile.
la source