galax6
Goto Top

Batch Datei: Nach beenden einer Datei diese Datei kopieren

Hallo, ich möchte gerne eine Batch Datei ausführen mit der eine Excel Datei gestartet wird. Nach beenden dieser Excel Datei soll die Batch Datei das merken dann soll diese Excel Datei kopiert werden und in einem anderen Ordner eingefügt werden und überschrieben werden.

Ist sowas möglich? LG

Content-Key: 7371763577

Url: https://administrator.de/contentid/7371763577

Printed on: July 24, 2024 at 00:07 o'clock

Member: MrHeisenberg
MrHeisenberg May 31, 2023 at 10:56:47 (UTC)
Goto Top
Kannst mal so versuchen:

@echo off
setlocal

#Pfad zu deiner Excel damit die mit dem Skript gestartet wird
set "ExcelFilePath=C:\*PFAD*\Datei.xlsx"  

#Pfad zum Zielordner wo die Excel nach beenden gespeichert werden soll
set "DestinationFolderPath=C:\Pfad\zum\Zielordner"  

#Startet Excel und öffnet deine Datei --> anpassen auf deinen Pfad wo Excel liegt
start "" "C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE" "%ExcelFilePath%"  

#Warten bis Excel geschlossen ist
:wait
timeout /t 1
tasklist /fi "imagename eq excel.exe" |find ":" >nul  
if errorlevel 1 goto wait

#Kopieren die Datei in den Zielordner und überschreibt sie
copy /Y "%ExcelFilePath%" "%DestinationFolderPath%"  

endlocal

Pfade anpassen, aber sicherheitshalber vorab eine Sicherung deiner Datei machen.

Kurze Übersicht für .bat Befehle zwar von IONOS aber egal ;)

https://www.ionos.at/digitalguide/server/tools/batch-befehle/
Member: SachsenHessi
SachsenHessi May 31, 2023 at 10:59:17 (UTC)
Goto Top
Hallo,
in dem Fall ist der Batch-Befehl "CALL" dein Freund.
SH
Member: Galax6
Galax6 Jun 03, 2023 updated at 23:12:01 (UTC)
Goto Top
Zitat von @MrHeisenberg:

Kannst mal so versuchen:

@echo off
setlocal

#Pfad zu deiner Excel damit die mit dem Skript gestartet wird
set "ExcelFilePath=C:\*PFAD*\Datei.xlsx"  

#Pfad zum Zielordner wo die Excel nach beenden gespeichert werden soll
set "DestinationFolderPath=C:\Pfad\zum\Zielordner"  

#Startet Excel und öffnet deine Datei --> anpassen auf deinen Pfad wo Excel liegt
start "" "C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE" "%ExcelFilePath%"  

#Warten bis Excel geschlossen ist
:wait
timeout /t 1
tasklist /fi "imagename eq excel.exe" |find ":" >nul  
if errorlevel 1 goto wait

#Kopieren die Datei in den Zielordner und überschreibt sie
copy /Y "%ExcelFilePath%" "%DestinationFolderPath%"  

endlocal

Pfade anpassen, aber sicherheitshalber vorab eine Sicherung deiner Datei machen.

Kurze Übersicht für .bat Befehle zwar von IONOS aber egal ;)

https://www.ionos.at/digitalguide/server/tools/batch-befehle/

Hallo MrHeisenberg, erst mal vielen Dank. So klappt die Formel wenn man normale Ordner nimmt.
Ich habe bei dem Zielverzeichnis ein kleines Problem. Und zwar liegt die Datei auf Teams aber Teams ist mit Windows verknüpft, so dass ich da normale Ordner habe. Das Problem ist, dass jeder User seinen eigenen Zugang zu diesem Ordner hat z.B.

Ich habe
C:\Users\User1\OneDrive\\Team Arbeit\Backup\
der Kollege hat
C:\Users\User2\OneDrive\\Team Arbeit\Backup\
der andere Kollege
C:\Users\User3\OneDrive\\Team Arbeit\Backup\
usw.

Kann man das in Batch umgehen, so dass der Pfad UserX anders erkannt wird? In Excel geht das mit " & Environ("username") & " und hatte gar nicht mehr daran gedacht, dass man in Batch keine Excelbefehle einfügen kann xD.

Wie bekomme ich denn die Meldung "Gewartet wird 1 Sekunden. Weiter mit beliebiger Taste..." ausgeblendet? Diese erscheint jede Sekunde.

Danke face-smile