>>>1. Es wird ein 7z Archiv angelegt, jedoch ohne Namen, d.h. bei der
>>>Datei ist nur das Symbol vorhanden und die Erweiterung 7z im TC ersichtlich.
>>>Die Datei(en) sind jedoch alle beinhaltet.
WTF? 'ohne Namen'?
>>>nun bin ich noch einen Schritt weiter - jetzt hat bei Dir ein Blank gefehlt:
>>>so sollte es lauten: "%UL" "%P archive.zip" (Blank eingefügt zwischen P und archive.zip) => damit wird nun auch die archive.zip angelegt!
"%Parchive.zip" ist schon richtig.
Das bedeutet "%P" => Pfad vom aktuell aktiven Ordner inkl. Backslash + "archive.zip"
"%UL" "%P archive.zip" bedeutet Pfad\ + Leerzeichen + "archive.zip".
>>>archive.zip ... im entsprechenden Ordner (in welchem die Dateien zum zippen markiert wurden)
>>>und nicht zB unter C:\TEMP abgelegt wird.
Das ist zZ so i.O.
Das bewirkt ja der %P Parameter.
Probiere zB mal "%UL" "C:\TEMP\archive.zip"
(Hier must du dich selbst um den Backslash kümmern!)
>>>Derzeit wird sie dort auch nicht mehr gelöscht.
Das wurde sie noch nie, da der Befehl auskommentiert ist.
>>>Bitte jedenfalls auch um einen Hinweis wie man das DOS-Fenster automatisch wieder schließen lassen kann.
Den 'PAUSE' Befehl löschen (bzw. auskommentiert: rem PAUSE)
Aber dann sieht du auch die Statusinformation bzw. Fehlermeldungen nicht mehr.
>>> (outlook.pst)
Wo die liegt spiel keine Rolle für unser Problem.
- - -
Poste doch (noch) mal deine Einstellungen:
1. Deine komplette Batch.
2. Eine Kopie deines Buttons (Rechter Mausklick > Kopieren + und hier einfügen).
3. Pfad und Namen einer Datei, welche du zippen möchtest.
4. Den Pfad zu deinem Temp-Ordner ( echo %tmp% ).
- - -
Als nächstes würde ich die Batch zerlegen und Einzelbereiche separat testen:
1)
REM Command: "D:\rive\path\to\this\batch.cmd"
REM Parameter: "%UL" "%Parchive.zip"
ECHO %1
ECHO %2
NOTEPAD %1
PAUSE
Dann Schritt für Schritt dazu schreiben, bzw. mal einzeln testen was da passiert:
2)
REM C:\Temp\ArchListe.txt mit einem Pfad\Datei pro Zeile
%Commander_Path%\TOOLs\Packer\7za.exe " a "C:\Temp\ArchTest1.zip" "@C:\Temp\ArchListe.txt"
3)
"%Commander_Path%\TOOLs\Packer\7za.exe "
4)
"%Commander_Path%\TOOLs\Packer\7za.exe " a %2 @%1
5)
START "" outlook /a "%C:\Temp\Archive.zip%"
6)
START "" outlook /a "%newARCH%"
- - -
Du kannst es auch mal so versuchen, und im Button nur "%UL" übergeben und das Archive in der Batch definieren:
REM Command: "D:\rive\path\to\this\batch.cmd"
REM Parameter: "%UL"
%Commander_Path%\TOOLs\Packer\7za.exe " a "C:\Temp\ArchTest1.zip" "@%listfiletxt%"
- - -
EDIT:
Mal eine Erklärung zu den Quotes:
Alle Pfad und Parameter werden in Anführungszeichen gesetzt. (Manchmal etwas kniffelig, wie und wo genau)
Eigentlich haben wir die Quotes bereits im TC-Button angegeben:
REM Command: "D:\rive\path\to\this\batch.cmd"
REM Parameter: "%UL" "%Parchive.zip"
Da es manchmal schwer ist, die Vorgehensweise des Quotings vom TC einzuschätzen,
haben wir eventuell übergebene Quotes erstmal wieder entfernt:
SET listfiletxt=%~1
SET newARCH=%~2
und dann wieder selbst hinzugefügt:
"%Commander_Path%\TOOLs\Packer\7za.exe " a "%newARCH%" "@%listfiletxt%"
Für den obigen Test bei Schritt 4) habe ich jetzt mal auf das Wegnehmen und Hinzufügen verzichtet,
nur um einen Schritt / eine Fehlerquelle weniger zu haben.
- - -
Ich glaube ich schreibe dir einfach mal diese Batch als VBScript um...
Code: Select all
'// // // // // // // // // // // // // // // // // // // // // // // // // //
' Found at http://ghisler.ch/board/viewtopic.php?p=301286#301286
'// ForEachSelFile-ZIP_and_AddToOutlook.vbs
'// Save as "ForEachSelFile-ZIP_and_AddToOutlook.vbs" to TC folder.
'// Drag & drop to TC Buttonbar. Right click and adjust the settings:
'// CMD = "d:\rive\path\to\this.vbs"
'// PARAM = "%L"
'// Path=
'// Icon=C:\Windows\System32\WScript.exe
'// Tooltip: Write an description here...
'// (Press F1-key for more help)
'// // // // // // // // // // // // // // // // // // // // // // // // // //
'// T H E C O D E
On Error Resume Next
If Wscript.arguments.Count = 1 Then
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSO = Wscript.CreateObject("WScript.Shell")
vTCPath = WSO.ExpandEnvironmentStrings("%Commander_Path%")
vNameOfArchive = "C:\TEMP\archive.zip"
sTCtempList = Wscript.arguments.Item(0) ' The TC temp file due the "%L" param.
If FSO.FileExists(sTCtempList) Then
WSO.run chr(34) & vTCPath & "\TOOLs\Packer\7za.exe " & chr(34) & " a " & chr(34) & vNameOfArchive & chr(34) & " " & chr(34) & "@sTCtempList" & chr(34)
WSO.run "outlook /a " & chr(34) & vNameOfArchive & chr(34)
Else
WScript.Echo "Input file sTCtempList not found."
End If
ELSE
Msgbox "Wrong or missing Parameter in TC Button! Script ends here!"
WScript.Quit()
End If 'Wscript.arguments.Count
MsgBox "Finished.",,"TC VBS"
Set FSO = Nothing
Set WSO = Nothing
'// // // // // // // // // // // // // // // // // // // // // // // // // //
TOTALCMD#BAR#DATA
c:\temp\Test.vbs
"%L"
C:\WINDOWS\System32\imageres.dll,15
Test VBS
-1
Jetzt darf ich aber nicht mehr den Namen des Archives (archive.zip) ändern, sonst wird Outlook nicht mehr gefunden... WTF geht denn hier ab.
---------------------------
Microsoft Office Outlook
---------------------------
Cannot start Microsoft Office Outlook. Can't find this file.
Make sure the path and file name are correct.
---------------------------
OK
---------------------------