-if [ "$1" = - ]; then
- #### Input is stdin; put backup in user's MHPATH directory.
- dir=`mhparam path`
- #### If Path is relative, prepend home directory.
- [ `dirname "$dir"` = . ] && dir="$HOME/$dir"
-else
- dir=`dirname "$1"`
-fi
+for i in "$@"; do
+ if [ "$i" = - ]; then
+ #### Input is stdin; put backup in user's MHPATH directory.
+ dir=`mhparam path`
+ #### If Path is relative, prepend home directory.
+ [ `dirname "$dir"` = . ] && dir="$HOME/$dir"
+ else
+ dir=`dirname "$i"`
+ fi
+
+ #### Extract first Message-Id, remove <>, substitute / and \.
+ messageid=`sed -n '
+ /^$/q; /^[Mm][Ee][Ss][Ss][Aa][Gg][Ee]-[Ii][Dd]:/!d
+ s/>.*//; s/.*<//; y#/\\\#..#; p
+ ' "$i"`