Moin zusammen,
ich habe ein Verzeichnis in dem ich eine Datei zippe.
Diese Datei möchte ich dann danach im gleichen Verzeichnis in den Ordner "zip_files" mit robocopy /S /E /MOVE verschieben.
In meiner batch steht folgendes:
SET source=%1
SET target=zip_files
SET file=%1%2.7z
"C:\Program Files\7-Zip\7z.exe" a -t7z -m0=lzma2 -mx=9 -mfb=64 -md=32m -ms=on %2.7z
robocopy source target file /S /E /MOVE
Als Übergabeparameter im TC Button steht:
%P %N
Aber, dass funktioniert nicht.
Hat hier jemand ne Idee wo ich da den Fehler mache?
Batch How-to: robocopy /MOVE
Moderators: Hacker, Stefan2, white
-
- Junior Member
- Posts: 12
- Joined: 2013-05-24, 06:56 UTC
Dann teste und schau wo der Fehler liegt...
Eventuell hat TC mit %P%N bereits den Pfad in Anführungszeichen gesetzt und mein "%source%" verdoppelt diese nun.
Dann verwende
SET source=%~1
anstelle von
SET source=%1
(Siehe DOS-Box: C:\>for /? )
- - -
Und...
SET file=%1%2.7z
nicht besser
SET file=%1\%2.7z
sein?
Oder eher
SET file=%2.7z
da "source" bei robocopy ja eh bereits angegeben ist?
Eventuell hat TC mit %P%N bereits den Pfad in Anführungszeichen gesetzt und mein "%source%" verdoppelt diese nun.
Dann verwende
SET source=%~1
anstelle von
SET source=%1
(Siehe DOS-Box: C:\>for /? )
Code: Select all
@ECHO OFF
CD %~dp0
SET source=%1
SET target=zip_files
SET file=%1\%2.7z
ECHO Working dir: %CD%
ECHO Variable source: "%source%"
ECHO Variable target: "%target%"
ECHO Variable file: "%file%"
"C:\Program Files\7-Zip\7z.exe" a -t7z -m0=lzma2 -mx=9 -mfb=64 -md=32m -ms=on %2.7z
REM wait 20 seconds to finish zipping process:
TIMEOUT /T 20
robocopy "%source%" "%target%" "%file%" /S /E /MOVE
PAUSE
- - -
Und...
solltehalfmelone wrote:SET source=%1
SET target=zip_files
SET file=%1%2.7z
"C:\Program Files\7-Zip\7z.exe" a -t7z -m0=lzma2 -mx=9 -mfb=64 -md=32m -ms=on %2.7z
robocopy source target file /S /E /MOVE
SET file=%1%2.7z
nicht besser
SET file=%1\%2.7z
sein?
Oder eher
SET file=%2.7z
da "source" bei robocopy ja eh bereits angegeben ist?