Question

donc j'ai quelques feuilles Excel contenant des répertoires tous issus d'un seul répertoire racine. Y at-il de toute façon d'avoir robocopy (ou un programme similaire) lire la feuille Excel en entrée pour copier uniquement sur les fichiers sélectionnés?

Ceci est le format des feuilles de calcul:

NMMC c6 31b5ac6c-1377-4a86-90a0-73c6335907e3.IMG
NMMC 2e 1da3d2ec-526f-479a-9c09-90cb2cfad0b6.IMG
NMMC 8a f77168ad-2f35-490c-a2a8-25e9fa4ac0ea.IMG
NMMC 2f fc2162f8-7548-4921-b722-5899cbe54641.IMG
NMMC fc 1fe09fcd-3861-4de8-8bfd-4510ffa8f29c.IMG
hcri001 1b  243161b4-eef0-4d5c-9e42-dcea6772afdd.IMG
hcri001 a7  7e60ba72-fb8f-4d65-ae34-92b034c10e2e.IMG
hcri001 84  7934584f-7bc8-4450-bf6d-da58ac2ebb1a.IMG
hcri001 1a  cda461ab-fe9d-4b4f-87bf-43dab9dd8644.IMG
hcri001 2b  4f2c02b6-31c6-4d8b-975e-591778bcdfef.IMG
ICPS    8a  2aca38a8-4133-4972-a03f-8c3c15654df3.IMG
ICPS    89  8338f897-76c0-4f6f-9ae5-3b4c7e8a302c.IMG
ICPS    30  d9dba300-6c14-4484-a147-bccb9dd15aa3.IMG

Je voudrais copier ces fichiers vers un autre système de fichiers avec la même structure (par exemple, si l'image provient de C:\Apps\Test\Site\NMMC\c6\31b5ac6c-1377-4a86-90a0-73c6335907e3.IMG je besoin de copier à Z:\Apps\FileSystem\NMMC\c6\31b5ac6c-1377-4a86-90a0-73c6335907e3.IMG

Est-ce possible de le faire?

Merci

Sous la direction de dissiper la confusion

Était-ce utile?

La solution 4

Ok, I think I pretty much have it. Here's the command prompt script that I'm running:

for /f "delims=, tokens=1,2,3" %i in ( D:\foo.csv ) do xcopy /i /y "Z:\%i\%j\%k" "D:\%i\%j\%k"

This is doing exactly what I want, however for each file it tries to copy a prompt appears asking me if it's a file or a directory. Is there anyway to tell xcopy that they're ALL files? I thought that's what /i did, but that doesn't seem to suppress the prompts.

Autres conseils

Si vous voulez éviter l'écriture de code Office de Interop ma suggestion serait de faire ce qui suit:

Tout d'abord, dans Excel enregistrer vos données dans un fichier CSV sur le chemin c: \ temp \ foo.csv. Cela va créer un fichier de données qui se présente comme suit:

NMMC,2e,1da3d2ec-526f-479a-9c09-90cb2cfad0b6.IMG
NMMC,8a,f77168ad-2f35-490c-a2a8-25e9fa4ac0ea.IMG
NMMC,2f,fc2162f8-7548-4921-b722-5899cbe54641.IMG
NMMC,fc,1fe09fcd-3861-4de8-8bfd-4510ffa8f29c.IMG

Ensuite, ouvrez une invite de commande et écrire la commande suivante:

for /f "delims=, tokens=3" %i in ( c:\temp\foo.csv ) do echo %i

Affichera tous les noms de fichiers (et seulement les noms de fichiers). Une fois que vous êtes heureux que cela fonctionne alors changer le « echo% i » d'être quelle que soit la commande xcopy que vous voulez.

Créez un fichier batch ou d'un script shell en utilisant un éditeur de texte. Par exemple, vous pouvez trouver / remplacer pour que le fichier de chauve-souris contient quelque chose comme ceci:

copy c:\31b5ac6c-1377-4a86-90a0-73c6335907e3.IMG
copy c:\1da3d2ec-526f-479a-9c09-90cb2cfad0b6.IMG
copy c:\f77168ad-2f35-490c-a2a8-25e9fa4ac0ea.IMG
copy c:\fc2162f8-7548-4921-b722-5899cbe54641.IMG
copy c:\1fe09fcd-3861-4de8-8bfd-4510ffa8f29c.IMG

You could try to use PowerShell's COM Automation to read the Excel file and feed the lines into copy, xcopy or robocopy.

I can't give an example on how this would be done in practise, my powershell-fu is not strong enough. Google might be your friend there.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top