tags:

views:

184

answers:

2

How i can redirect input for following command zip 1.zip file.txt i want the names to be ziped be taken from the file.txt file

I tried to do zip 1.zip < file.txt and it didnt worked , i work under windows .

thanks

A: 

You can use a FOR command to take input from the file.txt, and run a command for each line in the file. This is not exactly what you want, but it gets you closer.

For example,

 for /f %L  in (file.txt) do echo %L

will echo each line in the file, separately.

You can use that to build a command line that will do the thing you want. like this:

SETLOCAL ENABLEDELAYEDEXPANSION

set filelist=
for /F  %%L IN (data.txt) do set filelist=!filelist! %%L

zip.exe zipfile.zip  %filelist%

ENDLOCAL
Cheeso
+2  A: 

use the -@ option in zip.

type zip -@ 1.zip < file.txt

from the zip help found by typing zip -h

Copyright (C) 1990-1996 Mark Adler, Richard B. Wales, Jean-loup Gailly
Onno van der Linden and Kai Uwe Rommel. Type 'zip -L' for the software License.
Zip 2.1 (April 27th 1996). Usage:
zip [-options] [-b path] [-t mmddyy] [-n suffixes] [zipfile list] [-xi list]
  The default action is to add or replace zipfile entries from list, which
  can include the special name - to compress standard input.
  If zipfile and list are omitted, zip compresses stdin to stdout.
  -f   freshen: only changed files  -u   update: only changed or new files
  -d   delete entries in zipfile    -m   move into zipfile (delete files)
  -k   force MSDOS (8+3) file names -g   allow growing existing zipfile
  -r   recurse into directories     -j   junk (don't record) directory names
  -0   store only                   -l   convert LF to CR LF (-ll CR LF to LF)
  -1   compress faster              -9   compress better
  -q   quiet operation              -v   verbose operation/print version info
  -c   add one-line comments        -z   add zipfile comment
  -b   use "path" for temp file     -t   only do files after "mmddyy"
  -@   read names from stdin        -o   make zipfile as old as latest entry
  -x   exclude the following names  -i   include only the following names
  -F   fix zipfile (-FF try harder) -D   do not add directory entries
  -A   adjust self-extracting exe   -J   junk zip file prefix (unzipsfx)
  -T   test zipfile integrity       -X   eXclude eXtra file attributes
  -$   include volume label         -S   include system and hidden files
  -h   show this help               -n   don't compress these suffixes
Andy Morris