2010-06-17 8 views
12

Ich muss eine Batch-Datei schreiben, die eine Datei in einen neuen Ordner kopiert und benennt es um.Erstellen Sie eine Batch-Datei zum Kopieren und Umbenennen der Datei

Im Moment meine Batch-Datei nur dieses Befehls besteht:

COPY ABC.PDF \\Documents 

Wie Sie sehen können, ist es nur kopiert die Datei ABC.pdf zum Netzwerkordner Documents.

aber ich brauche, dies zu ändern, damit es die Datei ABCxxx.pdf umbenennt, wo xxx ist eine Textvariable, die Ich mag würde irgendwo in der Batch-Datei setzen.

Zum Beispiel, wenn xxx = _Draft, dann würde Datei nach dem Kopieren ABC_Draft.pdf umbenannt werden.

+0

Könnte man ABC _ * kopieren? PDF \\ Dokumente machen den Trick? – ixe013

Antwort

21

Machen Sie eine BAT-Datei mit dem darin folgend:

copy /y C:\temp\log1k.txt C:\temp\log1k_copied.txt 

Aber ich denke, dass es Probleme gibt, wenn es Leerzeichen in Verzeichnisnamen sind. Beachten Sie, dass dies in dasselbe Verzeichnis kopiert wurde, aber das spielt keine Rolle. Wenn Sie sehen wollen, wie es läuft, macht eine andere bat-Datei, die die ersten und Ausgänge in ein Protokoll ruft:

C:\temp\test.bat > C:\temp\test.log 

(vorausgesetzt, die erste Fledermaus-Datei aufgerufen wurde test.bat und wurde in diesem Verzeichnis)

+1

Danke Wenn ich alle PDFs in diesem Ordner mit dem gleichen Text-Suffix kopieren und umbenennen wollte, wie würde ich das tun? Zum Beispiel, wenn ich 2 pdfs ABC.PDF und ZYZ.pdf habe und ich sie beide zu meinem 'Dokumente' Ordner als ABCxxx.PDF und ZYZxxx.pdf kopieren und umbenennen möchte, wo "xxx" derselbe Text ist variabel, wie soll ich das machen? –

+0

Wenn Sie copy/y verwenden C: \ temp \ *. PDF C: \ tempcopy \ * Kopierte.PDF, Sie werden nicht ganz bekommen, was Sie wollen, obwohl es in die richtige Richtung ist. Beginnend mit Dateien wie ABC.PDF und DRE.PDF, landete ich mit Kopien in diesem Ordner namens ABCopied.PDF und DRE.PDFCopied.PDF. Ich bin nicht gut mit regulären Ausdrücken, aber ich denke, dass etwas so ist, was Sie brauchen. – thursdaysgeek

+0

Danke. Das hat funktioniert –

0
type C:\temp\test.bat>C:\temp\test.log 
+0

Können Sie Ihre Antwort bitte [editieren] und fügen Sie eine kurze Erklärung dessen, was es tut und wie es funktioniert? Vielen Dank! –

Verwandte Themen