Selektierte Datei(en) per Email senden (Outlook)

German support forum

Moderators: white, Hacker, Stefan2

User avatar
tuska
Power Member
Power Member
Posts: 3760
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

Hallo Stefan,

Ich habe jetzt ebenfalls eine Test.cmd mit Deinem Originalcode - ohne Änderung -
in C:\TEMP angelegt und in die Buttonbar gezogen.
Wenn ich den Button anklicke, dann bleibt bei mir das Fenster nicht stehen!

D.h. die Anzeige, die Du erhältst
Ergebnis:
! listfiletxt not found !
Drücken Sie eine beliebige Taste . . .

bekomme ich gar nicht zu Gesicht.

Selbst wenn ich die Parameter: "%L" "%Parchive.zip" eingebe
und den Pfad zur 7za.exe anpasse (mit %Commander_Path% oder D:\Daten...),
dann gibt es nur ein kurzes Bildschirmflimmern.

D:\Daten\Programme\Total Commander\TCD_USB-Stick\TC32-64USB\Tools\7-zip-A\
7za.exe 587.776 18.11.2010 20:27 -a-- => Nur die Uhrzeit differiert,
habe das Programm heute heruntergeladen.

Das Problem ist offensichtlich, dass bei mir selbst Deine erste Anzeige (s. Ergebnis oben)
nicht erscheint.

Ich bin jetzt wiedermal ratlos, denn ich habe wirklich schon sehr viele Tests durchgeführt.

Evtl. könnte Peter mal einen Versuch machen, denn er hat ja schließlich mehrfach
nach einer Lösung nachgefragt.
Gruß,
Karl
User avatar
tuska
Power Member
Power Member
Posts: 3760
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

Hallo Stefan,
habe mir nun nochmals das 7-Zip Programm heruntergeladen von dieser Seite:
http://www.7-zip.org/download.html (hat aber mit der 7zA.exe nichts zu tun)

Wenn ich mir Deine archive.zip so ansehe differieren diese Dateien stark mit meinem Download.
Sollte ich eine andere Downloadseite verwenden?
Gruß,
Karl
User avatar
Stefan2
Power Member
Power Member
Posts: 4157
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 »

tuska wrote:...habe mir nun nochmals das 7-Zip Programm heruntergeladen ...

Wenn ich mir Deine archive.zip so ansehe differieren diese Dateien stark mit meinem Download.
Nein.
Mein Ordner, aus welchem das Archive erstellt worden ist, ist bereits mehrere Jahre im Einsatz und erhält außer 7z noch andere Packer und Info-Texte.

Das isses nicht :D



 
User avatar
Stefan2
Power Member
Power Member
Posts: 4157
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 »

tuska wrote: und den Pfad zur 7za.exe anpasse (mit %Commander_Path% oder D:\Daten...),
dann gibt es nur ein kurzes Bildschirmflimmern.
Diesen """%Commander_Path% oder D:\Daten... """ Pfad hast du in Anführunszeichen gesetzt? (Dein "\Total Commander" Ordner hat ein Leerzeichen)

"D:\Daten\Programme\Total Commander\TCD_USB-Stick\TC32-64USB\Tools\7-zip-A\ 7zA.exe"

bzw.:

"%Commander_Path%\Tools\7-zip-A\ 7zA.exe"



Auch dein erstes
%Commander_Path%\Plugins\wcx\Total7zip\7zG.exe a %newARCH% @%listfiletxt%
hatte kein Quoting, aber dein "\Total Commander" Ordner hat ein Leerzeichen!




Ja ja, mea culpa, auch mein Code hatte kein Quoting:
ECHO * * * Calling 7Zip:
%Commander_Path%\TOOLs\Packer\7za.exe a %newARCH% @%listfiletxt%

aber ich habe auch keine Leerzeichen im Pfad. (*unbedingtmerkentrotzdemimmerimmerallesinanführungszeichensetzen*)

Sorry für die verlorenen Stunden   :oops:
User avatar
tuska
Power Member
Power Member
Posts: 3760
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

Hallo Stefan,

nochmals zurück zum Start wegen dem Leerzeichen:

In meinem Button steht folgendes:
"%COMMANDER_PATH%\Tools\Outlook\ForSelectedFiles_Do_AddToOutlook.cmd"
"%L" "%Parchive.zip"
%COMMANDER_PATH%\Tools\Outlook\
C:\WINDOWS\System32\imageres.dll
ForSelectedFiles_Do_AddToOutlook

In der Datei ForSelectedFiles_Do_AddToOutlook.cmd steht folgendes:
%Commander_Path%\Tools\7-zip-A\7za.exe a %newARCH% @%listfiletxt%

Die Datei 7za.exe liegt hier (Leerzeichen zwischen Total und Commander*)):
D:\Daten\Programme\Total Commander\TCD_USB-Stick\TC32-64USB\Tools\7-zip-A\7za.exe
*) Hinterher werde ich aufräumen, d.h. Ordner immer ohne Leerzeichen.

Ganz schlau bin ich nach Deiner Auflistung noch nicht geworden:

Meinst Du ich sollte in der Datei ForSelectedFiles_Do_AddToOutlook.cmd
an dieser Stelle: %Commander_Path%\TOOLs\7-zip-A\7za.exe a %newARCH% @%listfiletxt%
ebenfalls Anführungszeichen setzen - also so:
"%Commander_Path%\TOOLs\7-zip-A\7za.exe a %newARCH% @%listfiletxt%"

?
Gruß,
Karl
User avatar
tuska
Power Member
Power Member
Posts: 3760
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

Selbst wenn ich id .cmd auf
"%Commander_Path%\TOOLs\7-zip-A\7za.exe a %newARCH% @%listfiletxt%"
ändere bringt das keinen Erfolg.
Gruß,
Karl
User avatar
tuska
Power Member
Power Member
Posts: 3760
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

Habe jetzt mittlerweile TC in einen Ordner 'TotalCommander' (ohne Leerzeichen) umgesiedelt und alles entsprechend angepasst.
Es kommt einfach kein Fenster.
D:\Daten\Programme\TotalCommander\TCD_USB-Stick\TC32-64USB\Tools\7-zip-A\7za.exe a %newARCH% @%listfiletxt%"

Evtl. kann dies noch jemand anderer mit Outlook 2013 testen.
Gruß,
Karl
peter_jupiter
Junior Member
Junior Member
Posts: 97
Joined: 2007-09-15, 19:44 UTC
Location: Austria

Post by *peter_jupiter »

Liebe Forumfreunde,
komme erst jetzt dazu, mich mit der Materie weiter zu beschäftigen, danke auch von meiner Seite für die vielen Beiträge. Muss nur zugeben, das ich jetzt etwas verwirrt bin, bin nicht so der Programmier-Freak, aber auch nicht ganz unwissend.
Meine Frage : Mit welcher Beschreibung, Dateien, Umgebung, etc. funktioniert das nun mit mehreren Dateien :
Meine Umgebung , windows 7 home, outlook 2013, 64 bit Umbebung.
Danke nochmals für einen Hinweis.
LG
Peter
User avatar
Stefan2
Power Member
Power Member
Posts: 4157
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 »

Ich habe meine Batch oben etwas nachgebessert.
http://ghisler.ch/board/viewtopic.php?p=301286#301286

Das hat aber nichts mit dem Problem von tuska zu tun.

Meine Verbesserungen kommen erst zur Laufzeit der Batch zum tragen.
Die Batch läuft auch ohne diese Modifikationen, sie hätte nur bei manchem eventuell Fehler gezeigt. (Pfade nicht gefunden wegen Leerzeichen oder Umlaute)





 
User avatar
tuska
Power Member
Power Member
Posts: 3760
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

Hallo Stefan,
seit Version 0.02 bewegt sich auch auf meinem PC was.

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.

2. Das DOS-Fenster ist jetzt sichtbar und bleibt stehen - es kommt die Warnung "Warning for files"...
D:\Daten\Programme\Total Commander\TCD_USB-Stick\TC32-64USB\Tools\7-zip-A\Archive.zip:
Das System kann die angegebene Datei nicht finden.
Vermutlich hängt das mit Punkt 1. zusammen.

3. Outlook 2013: Fehlermeldung "Der Pfad ist nicht vorhanden. Überprüfen Sie den Pfad."

Vielleicht gibt es ja noch eine Version 0.03? :wink:
Gruß,
Karl
User avatar
tuska
Power Member
Power Member
Posts: 3760
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

Hallo Stefan,
nun bin ich noch einen Schritt weiter - jetzt hat bei Dir ein Blank gefehlt:

Code: Select all

TC Button Code (Copy and paste to TCs Buttonbar) 

 TOTALCMD#BAR#DATA 
 "c:\temp\Test.cmd" 
 "%UL" "%Parchive.zip"  
 C:\Windows\System32\imageres.dll,15 
 Test 


 -1
so sollte es lauten: "%UL" "%P archive.zip" (Blank eingefügt zwischen P und archive.zip) => damit wird nun auch die archive.zip angelegt!

Das DOS-Fenster ist jetzt sichtbar und bleibt stehen - es kommt die Warnung "Warning for files"...
D:\Daten\Programme\Total Commander\TCD_USB-Stick\TC32-64USB\Tools\7-zip-A\ : Das System kann die angegebene Datei nicht finden.

Ich gehe davon aus, das archive.zip nicht gefunden wurde.
Gruß,
Karl
User avatar
tuska
Power Member
Power Member
Posts: 3760
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

Habe soeben noch einen weiteren Fortschritt festgestellt:

Wenn Outlook 2013 geschlossen ist wird eine neue Nachricht erstellt und die Datei
"archive.zip" ist angehängt, uzw. obwohl im offenen DOS-Fenster die Fehlermeldung
"Warning for files"...
"D:\Daten\Programme\Total Commander\TCD_USB-Stick\TC32-64USB\Tools\7-zip-A\ :
Das System kann die angegebene Datei nicht finden."
erscheint. Das DOS-Fenster bleibt offen.

Wenn Outlook 2013 geöffnet ist, wird zwar ebenfalls eine Datei archive.zip
im jeweiligen Ordner abgelegt, im DOS-Fenster gibt es die vorher zitierte
Fehlermeldung UND Outlook gibt zusätzlich noch die Fehlermeldung
"Der Pfad ist nicht vorhanden. Überprüfen Sie den Pfad." aus.

Bitte jedenfalls auch um einen Hinweis wie man das DOS-Fenster automatisch
wieder schließen lassen kann. Den Code würde ich erst dann einsetzen, wenn
alles funktioniert.

Danke jedenfalls für Deine Bemühungen.
Gruß,
Karl
User avatar
tuska
Power Member
Power Member
Posts: 3760
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

Nur noch ein Hinweis: Meine Outlook-Datei (outlook.pst) liegt nicht unter C:\... sondern unter: D:\Daten\Migration\Outlook\Outlook.pst

Bezüglich Datei archive.zip möchte ich nochmals hervorheben, dass diese im entsprechenden Ordner (in welchem die Dateien zum zippen markiert wurden) und nicht zB unter C:\TEMP abgelegt wird.
Derzeit wird sie dort auch nicht mehr gelöscht.
Gruß,
Karl
User avatar
Stefan2
Power Member
Power Member
Posts: 4157
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 »

>>>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'? :shock: :D :lol:



>>>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... :lol:



 

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
---------------------------




 
Last edited by Stefan2 on 2015-10-25, 10:26 UTC, edited 2 times in total.
User avatar
tuska
Power Member
Power Member
Posts: 3760
Joined: 2007-05-21, 12:17 UTC

Post by *tuska »

Hallo Stefan,

Nun funktioniert alles wie gewünscht, d.h. egal ob Outlook 2013 geöffnet oder geschlossen ist!

Tut mir leid für die Verwirrung und Deine Mehrarbeit!
Bei mir war irgendwas falsch bei diesem Parameter: "%UL" "%Parchive.zip"
(Vermutlich habe ich am Anfang oder Ende das Anführungszeichen nicht drinnen gehabt bzw.
habe ich irrtümlich ein Leerzeichen eingefügt).

Eine Bitte hätte ich noch:
Kannst Du die archive.zip Datei nachdem sie in eine Outlook-Nachricht angehängt wurde
anschließend löschen - dies müßte man ansonsten jedesmal manuell erledigen?

Hier meine Batch-Datei:

Code: Select all

@ECHO OFF 
 REM Found at http://ghisler.ch/board/viewtopic.php?p=301286#301286 
 REM Batch script "ForSelectedFiles_Do_AddToOutlook.cmd" by Stefan, 2015-10-24, 
 REM v0.02 (now with more quotes, and TCs %UL parameter for german umlauts) 
 REM 
 REM Use from a Total Commander Button: 
 REM Command:     "D:\rive\path\to\this\batch.cmd" 
 REM Parameter:   "%UL" "%Parchive.zip" 
 REM (Both cmd and para including the quotes. See TC help for more params) 
 REM Startpfad:    
 REM Tooltip:     ForSelectedFiles_Do_AddToOutlook.CMD 
 REM Icondatei:   C:\WINDOWS\System32\imageres.dll (zB das Briefsymbol) 

 REM 
 REM Usage: select a few files and execute the button. 
 REM 
 REM 
 REM THE CODE 
 SET listfiletxt=%~1 
 IF ,%listfiletxt%,==,, GoTo _ERROR 

 REM NOTEPAD "%listfiletxt%" 
 ECHO. 
 ECHO Zipping files to archive and adding to Outlook: 
 ECHO. 
 ECHO --------------------------------- 
 ECHO Set 7z @listfiletxt to "%listfiletxt%" 
 ECHO. 
 SET newARCH=%~2 
 ECHO Set new archive name to "%newARCH%" 
 ECHO --------------------------------- 
 ECHO. 
 ECHO. 
 ECHO * * * Calling 7Zip: 
 REM http://www.7-zip.de/download.html  --- Standalone-Konsole 
 REM http://www.7-zip.org/download.html --- standalone console version 
 echo "%Commander_Path%\TOOLs\7-zip-A\7za.exe "  a "%newARCH%" "@%listfiletxt%" 
      "%Commander_Path%\TOOLs\7-zip-A\7za.exe "  a "%newARCH%" "@%listfiletxt%" 

 ECHO. 
 ECHO * * * Calling Outlook 
 START "" outlook /a "%newARCH%" 

 ECHO. 
 REM ECHO * * * Deleting archive: 
 REM DEL /P      "%newARCH%" 

 ECHO. 
 ECHO * * * All Done! 
 REM PAUSE => Falls irgendetwas anzupassen wäre, dann REM entfernen!
 GoTo :EOF 

 :_ERROR 
 ECHO. 
 ECHO ! listfiletxt not found ! 
 ECHO "%listfiletxt%" 
 PAUSE 
 GoTo :EOF 
 REM EOF - Batch finished here. Information following: 
Hier mein Button:

Code: Select all

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Tools\Outlook\ForSelectedFiles_Do_AddToOutlook.cmd
"%UL" "%Parchive.zip"
C:\WINDOWS\System32\imageres.dll,15
ForSelectedFiles_Do_AddToOutlook
%COMMANDER_PATH%\Tools\Outlook\
0
-1
Hier meine Dateien zum zippen:
D:\Daten\Programme\TotalCommander\TCD_USB-Stick\TC32-64USB\Tools\7-zip-A\license.txt
D:\Daten\Programme\TotalCommander\TCD_USB-Stick\TC32-64USB\Tools\7-zip-A\readme.txt

Vielen herzlichen Dank schon mal!
Gruß,
Karl
Post Reply