Frage

Ich habe also ein paar Excel -Blätter, die Verzeichnisse enthalten, die alle aus einem einzigen Wurzelverzeichnis stammen. Gibt es ohnehin, dass RoboCopy (oder ein ähnliches Programm) das Excel -Blatt als Eingabe gelesen hat, um nur die ausgewählten Dateien zu kopieren?

Dies ist das Format der Tabellenkalkulationen:

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

Ich möchte diese Dateien mit derselben Struktur in ein anderes Dateisystem kopieren (z. B. wenn das Bild stammt C:\Apps\Test\Site\NMMC\c6\31b5ac6c-1377-4a86-90a0-73c6335907e3.IMG Dann muss ich es kopieren Z:\Apps\FileSystem\NMMC\c6\31b5ac6c-1377-4a86-90a0-73c6335907e3.IMG

Ist das möglich?

Vielen Dank

Bearbeitet, um Verwirrung zu beseitigen

War es hilfreich?

Lösung 4

Ok, ich denke, ich habe es so ziemlich. Hier ist das Eingabeaufforderungskript, das ich ausführe:

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

Dies tut genau das, was ich möchte. Für jede Datei versucht sie jedoch, eine Eingabeaufforderung zu kopieren, in der mich gefragt wird, ob es sich um eine Datei oder ein Verzeichnis handelt. Gibt es sowieso XCopy, dass sie alle Dateien sind? Ich dachte, das ist es, was /ich getan habe, aber das scheint die Aufforderungen nicht zu unterdrücken.

Andere Tipps

Wenn Sie vermeiden möchten, dass der Interop -Code des Schreibtuchs ein Vorschlag vorliegt, Folgendes zu tun:

Speichern Sie zunächst in Excel Ihre Daten als CSV -Datei in den Pfad C: temp foo.csv. Dadurch wird eine Datendatei erstellt, die wie Folgendes aussieht:

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

Öffnen Sie als nächstes eine Eingabeaufforderung und schreiben Sie den folgenden Befehl:

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

Dadurch wird alle Dateinamen (und nur die Dateinamen) ausgegeben. Sobald Sie froh sind, dass dies funktioniert, ändern Sie den "Echo %i" so, welcher XCopy -Befehl Sie möchten.

Erstellen Sie mit einem Texteditor ein Stapeldatei oder ein Shell -Skript. Sie können beispielsweise so finden/ersetzen, damit die Fledermausdatei so etwas enthält:

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

Sie können versuchen, die COM -Automatisierung von PowerShell zu verwenden, um die Excel -Datei zu lesen und die Zeilen in Kopie, XCopy oder RoboCopy zu füttern.

Ich kann kein Beispiel dafür geben, wie dies in der Praxis getan werden würde, mein PowerShell-Fu ist nicht stark genug. Google könnte dort Ihr Freund sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top