Ich habe den folgenden Netzwerkpfad, um die Datei in einen Archivordner zu kopieren. Es kopiert File 1
von Folder
nach Archive
, aber ich möchte diese 2 Anpassungen hinzufügen, die nicht funktionieren.
File 1-1
in File 1 - date + time
Für meinen Code folgte ich diesem Beispiel , um den Namen in ein Datum zu ändern.
copy "F:\Folder\File 1.xlsx" "F:\Folder\Archive\File 1-1.xlsx"
/f "tokens=1-5 delim s=/ " %%d in ("%date%") do rename "F:\Folder example 2.xlsx" "F:\Folder\File example %%e-%%f-%%g.xlsx"
versuche dies:
ren "File 1-1" "File 1 - %date:/=-% %time::=-%"
Prüfen Sie, ob Sie dies tun möchten:
@echo off
for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find "."') do set dt=%%a
set YYYY=%dt:~0,4%
set MM=%dt:~4,2%
set DD=%dt:~6,2%
set HH=%dt:~8,2%
set Min=%dt:~10,2%
set Sec=%dt:~12,2%
set stamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%
copy "F:\Folder\File 1.xlsx" "F:\Folder\Archive\File 1 - %stamp%.xlsx"
Ich habe die Antwort von Foxidrive geändert, um ganze Ordner und deren gesamten Inhalt zu kopieren. Dieses Skript erstellt einen Ordner und sichert den Inhalt eines anderen Ordners, einschließlich der darunter liegenden Unterordner.
Wenn Sie beispielsweise eine stündlich geplante Aufgabe angeben, müssen Sie vorsichtig sein, da Sie Ihr Laufwerk schnell mit Kopien des ursprünglichen Ordners füllen können. Vor Bitbucket usw. habe ich als ähnliches Skript meinen Code offline gespeichert.
@echo off
for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find "."') do set dt=%%a
set YYYY=%dt:~0,4%
set MM=%dt:~4,2%
set DD=%dt:~6,2%
set HH=%dt:~8,2%
set Min=%dt:~10,2%
set Sec=%dt:~12,2%
set stamp=YourPrefixHere_%YYYY%%MM%%DD%@%HH%%Min%
rem you could for example want to create a folder in Gdrive and save backup there
cd C:\YourGoogleDriveFolder
mkdir %stamp%
cd %stamp%
xcopy C:\FolderWithDataToBackup\*.* /s
Benennt alle .pdf
-Dateien basierend auf dem aktuellen Systemdatum um. Beispielsweise wird eine Datei mit dem Namen Gross Profit.pdf
in Gross Profit 2014-07-31.pdf
umbenannt. Wenn Sie es morgen ausführen, wird es in Gross Profit 2014-08-01.pdf
umbenannt.
Sie können ?
durch den Berichtsnamen Gross Profit
ersetzen, es wird jedoch nur der eine Bericht umbenannt. Der ?
benennt alles im Conduit
-Ordner um. Es gibt so viele ?
, dass einige .pdf
s lange Namen haben. Wenn Sie nur 12 ?
s eingeben, wird jeder Name, der länger als 12 Zeichen ist, am 13. Zeichen abgeschnitten. Versuchen Sie es mit 1 ?
und dann mit vielen ?
s. Die ?
-Länge sollte etwas länger oder so lang sein wie der längste Berichtsname.
@ECHO OFF
SET NETWORKSOURCE=\\flcorpfile\shared\"SHORE Reports"\2014\Conduit
REN %NETWORKSOURCE%\*.pdf "????????????????????????????????????????????????? %date:~-4,4%-%date:~-10,2%-%date:~7,2%.pdf"
Ja, damit es im Hintergrund ausgeführt wird, erstellen Sie eine Verknüpfung zur Batchdatei und gehen Sie zu den Eigenschaften. Ich bin auf einem Linux-Computer-ATM, aber ich glaube, die Option, die Sie wünschen, ist in der Registerkarte Erweitert.
Sie können Ihr Batch-Skript auch wie folgt über ein VBS-Skript ausführen:
'HideBat.vbs
CreateObject("Wscript.Shell").Run "your_batch_file.bat", 0, True
Dadurch wird Ihre Batchdatei ausgeführt, ohne dass ein cmd-Fenster angezeigt wird.