如何在cmd中重定向输入

时间:2009-11-05 12:26:33

标签: batch-file zip cmd

我如何重定向以下命令zip 1.zip file.txt的输入我希望从file.txt文件中删除名称

我试图做zip 1.zip< file.txt并没有用,我在windows下工作。

感谢

2 个答案:

答案 0 :(得分:4)

在zip中使用 - @选项。

type zip - @ 1.zip< file.txt

通过输入zip -h

找到的zip帮助中的

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

答案 1 :(得分:0)

您可以使用FOR命令从file.txt获取输入,并为文件中的每一行运行命令。这不是你想要的,但它让你更接近。

例如,

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

将分别回显文件中的每一行。

您可以使用它来构建一个可以执行所需操作的命令行。像这样:

SETLOCAL ENABLEDELAYEDEXPANSION

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

zip.exe zipfile.zip  %filelist%

ENDLOCAL