精华内容
下载资源
问答
  • windows 7Z命令行与安装
    万次阅读
    2015-07-01 18:04:02

    7z,全称7-Zip, 是一款开源软件。是目前公认的压缩比例最大的压缩解压软件。

    7z.exe在CMD窗口的使用说明如下:

    7-Zip (A) 4.57 Copyright (c) 1999-2007 Igor Pavlov 2007-12-06

    Usage: 7za <command> [<switches>...] <archive_name> [<file_names>...]
    [<@listfiles...>]

    <Commands>
    a: Add files to archive
    b: Benchmark
    d: Delete files from archive
    e: Extract files from archive (without using directory names)
    l: List contents of archive
    t: Test integrity of archive
    u: Update files to archive
    x: eXtract files with full paths
    <Switches>
    -ai[r[-|0]]{@listfile|!wildcard}: Include archives
    -ax[r[-|0]]{@listfile|!wildcard}: eXclude archives
    -bd: Disable percentage indicator
    -i[r[-|0]]{@listfile|!wildcard}: Include filenames
    -m{Parameters}: set compression Method
    -o{Directory}: set Output directory
    -p{Password}: set Password
    -r[-|0]: Recurse subdirectories
    -scs{UTF-8 | WIN | DOS}: set charset for list files
    -sfx[{name}]: Create SFX archive
    -si[{name}]: read data from stdin
    -slt: show technical information for l (List) command
    -so: write data to stdout
    -ssc[-]: set sensitive case mode
    -ssw: compress shared files
    -t{Type}: Set type of archive
    -v{Size}[b|k|m|g]: Create volumes
    -u[-][p#][q#][r#][x#][y#][z#][!newArchiveName]: Update options
    -w[{path}]: assign Work directory. Empty path means a temporary directory
    -x[r[-|0]]]{@listfile|!wildcard}: eXclude filenames
    -y: assume Yes on all queries

    中文使用说明如下:

    语法
    7z <命令行> [<选项>...] <基本档案名称> [<参数变量>...]

    7z <command> [<switch>...] <base_archive_name> [<arguments>...]* g8 T1 {- l2 e) P% T' V; A
    <参数变量> ::= <选项> | <通配符> | <文件名> | <文件列表>
    <选项>::= <选项标记><选项字符>[<选项>]
    <选项标记> ::= '/' | '-' 
    <文件列表> ::= @{文件名}
    ( @4 _; F   r6 j. t+ a5 @

    <arguments> ::= <switch> | <wildcard> | <filename> | <list_file>
    <switch>::= <switch_symbol><switch_characters>[<option>]
    <switch_symbol> ::= '/' | '-' 
    <list_file> ::= @{filename}
    在方括号内的表达式(“[” 和 “]”之间的字符)是可选的。' ?2 k0 k/ m* f. Q$ c4 h
    在书名号内的表达式(“<” 和 “>”之间的字符)是必须替换的表达式(而且要去掉括号)。
    表达式
    expression1 | expression2 | ... | expressionN* R- s: |- P/ n& m9 C
    命令行 及 选项 使用大写或小写字母都可以。
    首个命令行必须是无选项的参数变量。
    选项及其它文件名的输入顺序可以打乱。
    带有空格的通配符或文件名必须加上引号:
    "Dir\Program files\*"+ r+ u2 k   b' Z& U. n
    Dir\"Program files"\*. M   R   V3 S/ s
    通配符是一个键盘字符,例如星号(*)或问号(?),当执行添加文件、释放文件、选定文件、删除文件等操作时,您可以使用它来代表一个或多个字符。当您不知道真正字符或者不想键入完整名称时,常常使用通配符代替一个或多个字符。
    7-Zip 支持和 Windows 相类似的通配符:
    “*”可以使用星号代替零个或多个字符。 
    “?”可以用问号代替名称中的单个字符。 
    7-Zip 使用的并不是系统处理通配符的默认方法,因而 7-Zip 不支持其它通配符规则,在系统中 *.* 相当于所有文件。而 7-Zip 会将其视为任何扩展名的全部文件。所以,要处理所有文件您必须使用 * 通配符。
    示例:
    *.txt 这样会查找(添加、选定……)所有扩展名是“.txt”的文件 / z9 x0 }' d, B, s# z
    ?a* 这样会查找(添加、选定……)所有第二个字母为“a”的文件 / f+ ^8 N7 S% b. b' Q
    *1* 这样会查找(添加、选定……)所有包含“1”的文件 3 W# Q" f   C* h   E6 n
    *.*.* 这样会查找(添加、选定……)所有包含“.”的双扩展名文件 
    如果在命令行中没有文件名,系统将会使用默认通配符“*”。* K. J# R7 u) w7 n3 A6 ?
    档案文件中通配符及文件名的使用限制:
    通配符及文件名不能包括系统盘符或网址。每个通配符及文件名路径将被视为从盘符到当前目录的完整路径/从压缩档案的根目录算起的完整路径。换句话说,路径的开始部分(在首个斜线(“\”)之前的字符)必须是某个名称或通配符。 1 [% e: w/ V/ g, l" t0 N
    通配符及文件名不能以斜线(“\”)结尾。 
    通配符只可以在完整路径的最后一部分中出现。 ' M) Q' ~9 v2 O; m2 I9 _$ G2 D, U" b
    示例:
    Dir1\*.cpp 正确 
    c:\Dir1\*.cpp 错误:路径中不能包括盘符 
    Dir1\Dir2\g?.txt 正确 ; i7 Q+ P) e2 F8 g
    Dir1\D?r2\file1.txt 错误:只有在以路径的最后一部分才能使用通配符 
    文件列表: l   Z$ }; P4 O
    您可以使用文件列表来对要操作的文件进行批量操作。在文件中的文件名必须用空格或另起一行隔开。(如使用空格格开,每一个文件必须加引号)。
    7-Zip 命令行支持多个文件列表同时操作。2 Y+ k2 G9 |2 g: p. x2 M' Z
    举个例子,这里有一个文件列表“listfile.txt”包含下列内容:" I! Z) }. C7 k/ H4 g; u' @+ Q
    "My programs\*.cpp"5 v; @* F) U5 ]$ k3 H6 J! b* N
    Src\*.cpp
    那么我们可以输入命令:
    7z a -tzip archive.zip @listfile.txt
    将“My programs”及“Src”目录中所有扩展名为“cpp”的文件添加到压缩档案“archive.zip”中。


    命令行
    命令行的命令不分大小写。
    更多有关命令行的详细内容请参阅 语法。
    命令要点参考
    命令 作用说明 
    a 添加 . M% Z1 A/ G8 y: S9 d* c
    d 删除 : j9 _   _2 ~$ W, W2 m: U
    e 释放 - Y7 {! I   _( K$ y
    l 列表 4 w& j5 K   X4 }+ Y# A) d* k: S
    t 测试 . h: w& C4 ~- P* o+ @
    u 更新 
    x 完整路径释放 
    & `- O( ]   M. T' k   x0 `
    命令行选项/ }1 o6 h9 v9 B2 V9 |9 q' R. y
    语法   V* Y, `+ p( K5 b
    <选项>::= <选项_符号><选项_字符>[<选项>]
    <选项_符号> ::= '/' | '-' 
    &ltswitch>::= <switch_symbol><switch_characters>[<option>]
    <switch_symbol> ::= '/' | '-'
    在命令行中,一个完整的选项由指定的选项、连字符(-)或斜线(/)组成,而且选项的符号不能使用缩写。, q$ P! D- o" H   b" w/ Y3 _# D
    选项名称不区分大小写。而一部分选项会包括参数变量,它们是需要区分大小写的。
    选项可以使用在命令行中的任何位置。#
    #

    参考greegree的文章先给出一个压缩文件的例子:

    7z a -t7z archive.7z *.exe *.dll -m0=BCJ -m1=LZMA:d=21 -ms -mmt

         添加 *.exe 及 *.dll 文件到固实压缩档案 archive.7z。使用 LZMA 压缩算法、2 MB 字典大小及 BCJ 转换器。压缩将开启多线程优化(如果可用)。

        -ms 默认设置固实模式。在创建固实压缩档案模式中,它把压缩档案中的所有文件都当成一个连续数据流来看待。通常情况下,固实压缩可增加压缩比,特别是在添加大量小文件的时候
    -mmt 默认开启多线程模式。    
    以上两条倒是可以理解,但是“-m0=BCJ -m1=LZMA:d=21 ”又该如何解释?
    按照给出的中文的文档说明:
    -m0=BCJ -- 第一个备选的压缩算法为BCJ
    -m1=LZMA:d=21 -- 第二个备选的压缩算法为LZMA,指定字典大小为默认的21(2MB的1次方)2MB。

    如果:想要使用最大化压缩,可以使用下面的参数选项:

         7z a -t7z DriverTest_1.7z "I:\t\t1\*" -mx=9 -ms=200m -mf -mhc -mhcf -m0=LZMA:a=2:d=25:mf=bt4b:fb=64 -mmt -r

    -t7z -- 压缩文件的格式为7z
    -mx=9 -ms=200m -mf -mhc -mhcf -m0=LZMA:a=2:d=25:mf=bt4b:fb=64 -mmt
    -- 指定压缩算法选项
    -mx=9 -- 设置压缩等级为极限压缩(默认为:LZMA 最大算法、32 MB 字典大小、BT4b Match finder、单词大小为 64、BCJ2 过滤器)
    -ms=200m -- 开启固实模式,设置固实数据流大小为200MB。
    -mf -- 开启可执行文件压缩过滤器。
    -mhc -- 开启档案文件头压缩。
    -mhcf -- 开启档案文件头完全压缩。我所使用的7z版本为4.42>2.30。
    -m0=LZMA:a=2:d=25:mf=bt4b:fb=64
    -- 第一个备选压缩算法为LZMA,压缩等级为最大压缩,LZMA算法使用的字典大小为25(2MB的5次方)32MB,算法的匹配器为bt4b(所需要内存为d×9.5 + 34 MB),压缩算法的紧凑字节为最大模式的64字节。
    -mmt -- 开启多线程模式。
    -r -- 递归到所有的子目录。

    7z命令解压文件的例子:解压File.7z文件到目录Mydir。

    7z x "d:\File.7z" -y -aos -o"d:\Mydir"

    参数说明:

    x:完整路径下解压文件

    -y:所有确认选项都默认为是(即不出现确认提示)

    -aos:跳过已存在的文件

    -o:设置输出目录

    关于内存的使用:

    一般来说,WindowsXP至少使用80~160MB的内存,为了保证系统的运行正常,还要留够32MB的剩余物理内存。
    所以如果是512MB的内存,那么7z压缩所使用的内存为(512-32-160)320MB,使用bt4b(d*9.5+34MB),所以d=32MB。
    如果是256MB的内存,那么7z压缩所使用的内存为(256-32-120)104MB,使用bt4b(d*9.5+34MB),所以d=8MB。
    由此可见,在WindowsXP的图形界面下要想得到更大的压缩比,或者扩大物理内存的容量,或者可以采用在DOS下运行32位程序的方法;否则无论你的虚拟内存或者系统的磁盘缓存设置得再大,只能看见硬盘灯狂闪得交换页面文件。
    通常情况下,较大的字典文件能提供较高的压缩比。但是在压缩和解压缩的时候会比较慢而且需要较多的物理内存:压缩时所使用的物理内存约为字典文件的10倍,解压缩时所使用的物理内存约等于字典文件大小。

    语法格式:(详细情况见7-zip帮助文件,看得头晕可以跳过,用到再学) 
    7z <command> [<switch>...] <base_archive_name> [<arguments>...] 

    7z.exe的每个命令都有不同的参数<switch>,请看帮助文件 
    <base_archive_name>为压缩包名称 
    <arguments>为文件名称,支持通配符或文件列表 
    a: 添加文件的压缩包,或者创建新的压缩包。 

    d: 从压缩包中删除文件。 

    e: 从压缩包中提取。 

    t: 测试压缩包的是否出错。 

    u: 更新压缩包中的文件。 
    其中,7z是至命令行压缩解压程序7z.exe,<command>是7z.exe包含的命令,列举如下: 

    a: Adds files to archive. 添加至压缩包 
    a命令可用参数: 
    -i (Include) 
    -m (Method) 
    -p (Set Password) 
    -r (Recurse) 
    -sfx (create SFX) 
    -si (use StdIn) 
    -so (use StdOut) 
    -ssw (Compress shared files) 
    -t (Type of archive) 
    -u (Update) 
    -v (Volumes) 
    -w (Working Dir) 
    -x (Exclude) 


    b: Benchmark 

    d: Deletes files from archive. 从压缩包中删除文件 
    d命令可用参数: 
    -i (Include) 
    -m (Method) 
    -p (Set Password) 
    -r (Recurse) 
    -u (Update) 
    -w (Working Dir) 
    -x (Exclude) 

    e: Extract解压文件至当前目录或指定目录 
    e命令可用参数: 
    -ai (Include archives) 
    -an (Disable parsing of archive_name) 
    -ao (Overwrite mode) 
    -ax (Exclude archives) 
    -i (Include) 
    -o (Set Output Directory) 
    -p (Set Password) 
    -r (Recurse) 
    -so (use StdOut) 
    -x (Exclude) 
    -y (Assume Yes on all queries) 

    l: Lists contents of archive. 
    t: Test 
    u: Update 

    x: eXtract with full paths用文件的完整路径解压至当前目录或指定目录 
    x命令可用参数: 
    -ai (Include archives) 
    -an (Disable parsing of archive_name) 
    -ao (Overwrite mode) 
    -ax (Exclude archives) 
    -i (Include) 
    -o (Set Output Directory) 
    -p (Set Password) 
    -r (Recurse) 
    -so (use StdOut) 
    -x (Exclude) 
    -y (Assume Yes on all queries) 
    -m (Set compression Method) switch 
    Specifies the compression method.


    用7-ZIP实现批处理 命令行压缩和解压功能 

    编辑一个.bat文件;每行这样写,就可以连续压制多个目录了
    7z a -mx9 -md64m -mfb=273 -slp -ssw -v1024m -mmt=2 -r
    {路径及7z档名} {路径及要压缩的文件名及路径 可以空格填多个}

    例子:建议以成对双引号来包压缩档名和路径名
    7z a -mx9 -md64m -mfb=273 -slp -ssw -v1024m "game" "d:\game\*.*"
    把d:\game\ 以ultra模式 64m字典fb273 每分卷1024m模式压缩

    -mxN N=0~9 ;压缩模式选择
    Level Method Dictionary FastBytes MatchFinder Filter Description 
    0 Copy No compression. 
    1 LZMA 64 KB 32 HC4 BCJ Fastest compressing 
    3 LZMA 1 MB 32 HC4 BCJ Fast compressing 
    5 LZMA 16 MB 32 BT4 BCJ Normal compressing 
    7 LZMA 32 MB 64 BT4 BCJ Maximum compressing 
    9 LZMA 64 MB 64 BT4 BCJ2 Ultra compressing -mdNm 填字典大小 比如填26 和填64m一样的;看说明更大内存也可以填,比如128m字典
    最大1024m

    The maximum value for dictionary size is 1 GB = 2^30 bytes. Default values for LZMA are 24 (16 MB) in normal mode, 25 (32 MB) in maximum mode (-mx=7) and 26 (64 MB) in ultra mode (-mx=9). 

    -mfb=N 填fastbytes大小,此数字增大会稍微加大压缩但减慢速度

    -slp (Set Large Pages mode);会加快压缩,但开始会卡下,This feature works only on Windows 2003 / XP x64

    -ssw 也压缩共享文件

    -v (Create Volumes) switch
    Specifies volume sizes.
    Syntax
    -v{Size}[b | k | m | g]

    -mmt=N 多核选项,比如双核填2


    命令行压缩解压一 7z

    1) 简介
    7z,全称7-Zip, 是一款开源软件。是目前公认的压缩比例最大的压缩解压软件。
    主页:http://www.7-zip.org/
    中文主页:http://7z.sparanoid.com/
    命令行版本下载:http://7z.sparanoid.com/download.html
    主要特征:
    # 全新的LZMA算法加大了7z格式的压缩比
    # 支持格式:
    * 压缩 / 解压缩:7z, XZ, BZIP2, GZIP, TAR, ZIP
    * 仅解压缩:ARJ, CAB, CHM, CPIO, DEB, DMG, FAT, HFS, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, RAR, RPM, UDF, VHD, WIM, XAR, Z

    2)退出代码
    0 : 正常,没有错误;
    1 : 警告,没有致命的错误,例如某些文件正在被使用,没有被压缩;
    2 : 致命错误;
    7 : 命令行错误;
    8 : 没有足够的内存;
    255 : 用户停止了操作;

    3)使用语法
    7z <命令行> [<选项>...] <基本档案名称> [<参数变量>...]

    在方括号内的表达式(“[” 和 “]”之间的字符)是可选的。
    在书名号内的表达式(“<” 和 “>”之间的字符)是必须替换的表达式(而且要去掉括号)。

    7-Zip 支持和 Windows 相类似的通配符:
    “*”可以使用星号代替零个或多个字符。 
    “?”可以用问号代替名称中的单个字符。
    如果只用*,7-Zip 会将其视为任何扩展名的全部文件。

    4)命令及实例

    a 添加文件到压缩档案。
    7z a archive1.zip subdir\ :增加subdir文件夹下的所有的文件和子文件夹到archive1.zip中,archived1.zip中的文件名包含subdir\前缀。
    7z a archive2.zip .\subdir\* :增加subdir文件夹下的所有的文件和子文件夹到archive1.zip中,archived2.zip中的文件名不包含subdir\前缀。
    cd /D c:\dir1\ 
    7z a c:\archive3.zip dir2\dir3\ :archiive3.zip中的文件名将包含dir2\dir3\前缀,但是不包含c:\dir1前缀。
    7z a Files.7z *.txt -r : 增加当前文件夹及其子文件夹下的所有的txt文件到Files.7z中。

    b 测试 CPU 运行速度及检查内存错误。

    d 从压缩档案删除文件。
    7z d archive.zip *.bak -r :从archive.zip中删除所有的bak文件。

    e 从压缩档案中释放文件到当前目录中。或者到指定的输出文件夹。输出文件夹设置可以通过 -o (设置输出文件夹) 选项来更改。此命令会将所有被释放的文件放置到一个文件夹。如果您想使用完整路径释放文件,您必须使用 x (完整路径释放) 命令。 
    7z e archive.zip :从压缩档案 archive.zip 中释放所有文件到当前文件夹。
    7z e archive.zip -oc:\soft *.cpp :从压缩档案 archive.zip 中释放 *.cpp 文件到 c:\soft 文件夹。

    l 列出压缩档案内容。
    7z l archive.zip :列出压缩档案 archive.zip 的内容。

    t 测试压缩档案文件的完整性。
    7z t archive.zip *.doc :在压缩档案 archive.zip 中测试 *.doc 文件的完整性。

    u 在压缩档案文件中使用较新的文件替换掉较旧的文件。
    7z u archive.zip *.doc :在压缩档案 archive.zip 中更新 *.doc 文件。

    x 在当前目录中,使用完整路径从压缩档案中释放文件.或者到指定的输出文件夹。
    7z x archive.zip :从压缩档案 archive.zip 中释放所有文件到当前文件夹。
    7z x archive.zip -oc:\soft *.cpp :从压缩档案 archive.zip 中释放 *.cpp 文件到 c:\soft 文件夹。

    5)更多的选项

    -- 在命令行中使“--”后的选项开关“-”都失效。这样就允许在命令行中使用文件名以“-”开头的文件。
    7z t -- -ArchiveName.7z :测试 -ArchiveName.7z 压缩档案.

    -i指定压缩时附加文件或一类文件。此选项可附件添加多个类型。
    i[<recurse_type>]<file_ref> 其中<recurse_type>为可以为r[- | 0](具体的-r选项见后面-r),<file_ref>可以为@{listfile} | !{wildcard}。
    7z a -tzip src.zip *.txt -ir!DIR1\*.cpp :从当前目录中添加 *.txt 文件,和 DIR1 目录及其子目录中的 *.cpp 文件到 src.zip 压缩档案。

    -x 指定某一文件或某一类文件从操作中排除。此选项可同时排除多个类型。
    x[<recurse_type>]<file_ref> 其中<recurse_type>为可以为r[- | 0](具体的-r选项见后面-r),<file_ref>可以为@{listfile} | !{wildcard}。
    7z a -tzip archive.zip *.txt -x!temp.* :添加除 temp.* 文件之外的所有 *.txt 文件到压缩档案 archive.zip。

    -o 指定释放文件的输出文件夹。此选项只能和释放命令配合使用。
    7z x archive.zip -oc:\Doc :从 archive.zip 压缩档案释放所有文件到 c:\Doc 文件夹。

    -r 递归子目录选项。
    -r 开启递归子目录。对于 e (释放)、l (列表)、t (测试)、x (完整路径释放) 这些在压缩档案中操作的命令, 会默认使用此选项。 
    -r- 关闭递归子目录。对于 a (添加)、d (删除)、u (更新) 等所有需扫描磁盘文件的命令,会默认使用此选项。 
    -r0 开启递归子目录。但只应用于通配符。 
    7z l archive.zip -r- *.doc :列出在 archive.zip 压缩档案中根目录下的 *.doc 文件。 
    7z a -tzip archive.zip -r src\*.cpp src\*.h :将 src 目录及其子目录中的 *.cpp 及 *.h 文件添加到 archive.zip 压缩档案。

    -t 指定压缩档案格式。指定压缩档案格式。它们可以是:zip、7z、rar、cab、gzip、bzip2、tar 或其它格式。而 默认值是 7z 格式。 
    7z a -tzip archive.zip *.txt :使用 zip 格式从当前目录中添加所有 *.txt 文件到压缩档案 archive.zip。

    -y 使 7-Zip 执行命令时的大多数提示失效。您可以使用此选项来阻止在 e (释放) 和 x (完整路径释放) 命令中文件覆盖时的提示。
    7z x src.zip -y :从 src.zip 释放所有文件。所有的覆盖提示将被阻止且所有相同文件名的文件将被覆盖。

    -v指定分卷大小。
    {Size}[b | k | m | g] 
    指定分卷大小,可以使用字节、KB(1 KB=1024 字节),MB(1 MB = 1024 KB)或 GB(1 GB = 1024 MB)。如果您只指定了 {Size},7-zip 将把它视为字。 
    7z a a.7z *.txt -v10k -v15k -v2m : 创建 a.7z 分卷压缩档案。第一个分卷为 10 KB,第二个为 15 KB,剩下全部为 2 MB。

    -p 指定密码。
    7z x archive.zip -psecret :将设有密码“secret”的压缩档案 archive.zip 中所有文件释放。

    -ao 指定在释放期间如何覆盖硬盘上现有的同名文件。
    语法:-ao[a | s | u ]
    -aoa 直接覆盖现有文件,而没有任何提示。 
    -aos 跳过现有文件,其不会被覆盖。 
    -aou 如果相同文件名的文件以存在,将自动重命名被释放的文件。举个例子,文件 file.txt 将被自动重命名为 file_1.txt。 
    -aot 如果相同文件名的文件以存在,将自动重命名现有的文件。举个例子,文件 file.txt 将被自动重命名为 file_1.txt。 
    7z x test.zip -aoa :从压缩档案 test.zip 中释放所有文件并却不做提示直接覆盖现有文件。

    -an 不解析命令行中的 archive_name 区域。此选项必须和 -i (附加文件) 开关一起使用。比如您为压缩档案使用列表文件,您就需要指定 -ai 选项,所以您需要禁止解析命令行中的 archive_name 区域。
    实例见后面的-ai和-ax中。

    -ai 指定附加文件,包括压缩档案文件名及通配符。此选项可同时附加多个类型。
    ai[<recurse_type>]<file_ref> 其中<recurse_type>为可以为r[- | 0](具体的-r选项见后面-r),<file_ref>可以为@{listfile} | !{wildcard}。
    7z t -an -air!*.7z : 在当前目录及子目录下测试 *.7z 压缩档案。

    -ax 指定必须从操作中排除的压缩档案。此选项可同时排除多个类型。
    ax[<recurse_type>]<file_ref> 其中<recurse_type>为可以为r[- | 0](具体的-r选项见后面-r),<file_ref>可以为@{listfile} | !{wildcard}。
    7z t -an -ai!*.7z -ax!a*.7z :测试除 a*.7z 之外的 *.7z 压缩档案。

    更多的不常用的选项,可以查看帮助。例如:-m设置压缩算法;-scs 设置要压缩的文件的列表文件的字符集;-seml通过电子邮件发送压缩档;-sfx创建自释放档;-si从标准输入读入数据,-so从输出到标准输 出;-slp设置大内存模式;-slt显示技术信息;-ssc设置区分大小写;-ssw压缩正在写入的文件;-u更新选项。


    http://www.cnblogs.com/qanholas/archive/2011/10/03/2198487.html


    更多相关内容
  • Here is my python code: Python 2.7 Pythonw.exe used to execute code: pythonw.exe script.py if ".rar" in input_file: subprocess.Popen("C:\\Program Files (x86)\\7-Zip\\7z e " + input_file + " -o" + ...

    I've seen plenty of questions regarding the python execution of a .exe file using popen and mentions of using PIPE to stop output of the process. Apologies if my terminology is incorrect, i'm very new to python.

    My main aim of this question to to add stdout=PIPE or something similar to prevent any output showing, such as

    "Extracting filename..." This is very bad as some rars are large.

    I am trying to run 7zip silently/hidden/quite. So that the entire process can run in the background and not interfere with current on screen operations.

    At this time, the current script works fine.

    Here is my python code:

    Python 2.7

    Pythonw.exe used to execute code:

    pythonw.exe script.py

    if ".rar" in input_file:

    subprocess.Popen("C:\\Program Files (x86)\\7-Zip\\7z e " + input_file + " -o" + output_dest + " -y")

    ALl help appreciated, thanks.

    解决方案

    Pipe stdout and stderr to your system's null file:

    import os

    with open(os.devnull, 'w') as null:

    subprocess.Popen(['7z', 'e', input_file, '-o', output_dest, '-y'], stdout=null, stderr=null)

    展开全文
  • 一、cmd命令行 cmd命令 二、npm命令行 三、Vue脚手架安装 一、cmd命令行 首先打开小黑框: 第一步、win键+R键 打开运行窗口 第二步、输入cmd回车 cmd命令: 切换盘符 d://进入d盘 f://进入F盘 切换...

    目录

    一、cmd命令行

    cmd命令

    二、npm命令行

    三、Vue脚手架安装



    一、cmd命令行

    首先打开小黑框:

    第一步、win键+R键 打开运行窗口

     第二步、输入cmd回车

    cmd命令:

     切换盘符

    d://进入d盘

    f://进入F盘

    切换目录
    cd 目录地址

    创建目录
    md 目录地址

    删除目录
    rd 目录地址
    rd /s /q 静默删除目录与目录地址

    目录符号

    / 根目录
    ./ 当前目录
    ../上一层目录

    帮助与提示

    help 查看命令
    help 命令 查看命令用法

    首字母+tab 提示当前目录的文件夹

    上一个命令
    下一个命令

    其他
    ipconfig 查看ip
    ping 主机/ip 查看与别的主机 与ip的联通状态
    cls 清屏
    calc 打开计算器
    ctrl+c 结束当前运行命令

    二、npm命令行

    基于nodejs的包管理工具(插件下载工具)

    安装nodejs就有npm

    查看版本
    node -v 查看node版本
    npm -v 查看npm版本

    初始化项目
    md mynpm 创建目录
    cd mynpm 进入目录
    npm init 初始化项目
    npm init -y 快速初始化项目

    安装简写
    i install
    -D --save-dev
    -S -save

    全局安装
    通过全局安装的,电脑上的所有项目都可以使用
    npm i 包名 -g
    npm i @vue/cli -g 全局安装vue脚手架
    查看全局 安装目录
    npm root -g
    本地运行依赖
    开发运行都需要这个包(插件
    npm i 包名 --save
    npm i jquery --save
    npm i jquery -S
    本地开发依赖
    只有在开发阶段需要包(插件)
    npm i 包名 --save-dev
    npm i less --save-dev
    npm i less -D
     一次安装多个
    npm i jquery bootatrap -S
     安装指定版本
    npm i jquery@2.1

    更新
    npm update 包名
    更新策略
    ^x.y.z
    x 破坏更新(不兼容)
    y 新特性(兼容)
    z 修bug

    eg: ^2.1.0更新不会超过等于3.0

    卸载
    npm r 包名
    npm uninstall 包名
    npm uninstall jquery 包名

    帮助
    npm 命令 -h
    npm install -h

    三、Vue脚手架安装

    Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统
    通过 @vue/cli 搭建交互式的项目脚手架。

    安装

    npm install -g @vue/cli  OR yarn global add @vue/cli

    查看版本

    vue -V

    创建项目(安装在当前目录)

    vue create 项目名称

    将网址复制到浏览器,看到下方页面即项目创建成功

     

    创建项目时可根据自己的需求选择设置

    展开全文
  • 1、exe程序本身不想显示,在源码开头中加入 #pragma comment( linker, "/subsystem:windows /entry:mainCRTStartup" )2、打开其他的exe2.1使用WinExec(LPCSTR, ...SW_HIDE这个宏表示隐藏窗口,例如:WinExec(cmd...

    1、exe程序本身不想显示,

    在源码开头中加入   #pragma comment( linker, "/subsystem:windows /entry:mainCRTStartup" )

    2、打开其他的exe

    2.1使用WinExec(LPCSTR, UInt)函数

    其第一个参数相当于system函数的参数,第二个参数可以设置窗口是否显示,SW_HIDE这个宏表示隐藏窗口,例如:

    WinExec(cmd.c_str(),SW_HIDE);//cmd(string类型)中为我们要调用的程序名及其参数, 如 “dir *.exe ”

    但是这个有一个问题,这个函数创建完这个进程后就返回了,也就是说它返回后,该进程不一定已经结束

    另外,第一个参数不能有空格

    2.2 使用ShellExecute函数

    ShellExecute(NULL,"open","calc.exe","","", SW_HIDE);

    2.3 使用ShellExecuteEx函数

    ShellExecuteEx(SHELLEXECUTEINFO*)函数

    其参数是一个结构体,具体作用还是类似于system的参数,使用例子:

    SHELLEXECUTEINFO ShExecInfo = {0};

    ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);

    ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;   //确保返回hProcess用于了解打开的东西的生命周期

    ShExecInfo.hwnd = NULL;

    ShExecInfo.lpVerb = NULL;

    ShExecInfo.lpFile = cmd.c_str();//调用的程序名

    ShExecInfo.lpParameters = par.c_str();//调用程序的命令行参数

    ShExecInfo.lpDirectory = NULL;

    ShExecInfo.nShow = SW_HIDE;//窗口状态为隐藏

    ShExecInfo.hInstApp = NULL;

    ShellExecuteEx(&ShExecInfo);

    WaitForSingleObject(ShExecInfo.hProcess,INFINITE);//等到该进程结束 ,当然可以不等待。。

    CloseHandle(ShExecInfo.hProcess) ;  //释放资源

    3.CreateProcess函数

    STARTUPINFO si;

    PROCESS_INFORMATION pi;

    LPTSTR szCmdline= _tcsdup(TEXT("MyChildProcess"));

    ZeroMemory(&si, sizeof(si));

    si.cb= sizeof(si);

    si.dwFlags=STARTF_USESHOWWINDOW;

    si.wShowWindow=SW_HIDE;

    ZeroMemory(&pi, sizeof(pi));//Start the child process.

    if (!CreateProcess(NULL, //No module name (use command line)

    szCmdline, //Command line

    NULL, //Process handle not inheritable

    NULL, //Thread handle not inheritable

    FALSE, //Set handle inheritance to FALSE

    CREATE_NO_WINDOW, //No Console window

    NULL, //Use parent's environment block

    NULL, //Use parent's starting directory

    &si, //Pointer to STARTUPINFO structure

    &pi) //Pointer to PROCESS_INFORMATION structure

    )

    {

    printf("CreateProcess failed (%d)./n", GetLastError());return;

    }//Wait until child process exits.

    WaitForSingleObject(pi.hProcess, INFINITE);//Close process and thread handles.

    CloseHandle(pi.hProcess);

    CloseHandle(pi.hThread);

    3、打开msi文件(隐藏安装过程)

    可以通过bat文件,输入

    xxx.msi  /qn

    q意思是quiet,n意思是没有用户交互

    如果通过shell打开的话,注意msi只是个安装文件,安装程序为msiexec.exe

    system("msiexec.exe /i \"E:\\vcredist_x86\\vcredist.msi\" /qn");  (这个会弹一个控制台的框system本身)

    下面的方法可以啥都不弹。

    SHELLEXECUTEINFO ShExecInfo = { 0};

    ShExecInfo.cbSize= sizeof(SHELLEXECUTEINFO);

    ShExecInfo.fMask=SEE_MASK_NOCLOSEPROCESS;

    ShExecInfo.hwnd=NULL;

    ShExecInfo.lpVerb=NULL;

    ShExecInfo.lpFile= L"Msiexec.exe";//调用的程序名

    ShExecInfo.lpParameters = L"/i \"E:\\vcredist_x86\\vcredist.msi\" /qn";//调用程序的命令行参数

    ShExecInfo.lpDirectory =NULL;

    ShExecInfo.nShow= SW_HIDE;//窗口状态为隐藏

    ShExecInfo.hInstApp =NULL;if (!ShellExecuteEx(&ShExecInfo))

    {

    printf("%d", GetLastError());

    }

    WaitForSingleObject(ShExecInfo.hProcess,30000);

    CloseHandle(ShExecInfo.hProcess);

    4、bat文件

    bat文件运行时会有一个黑黑的cmd.exe窗口,很吓人,就算用start/min命令去运行bat文件,电脑的任务栏下仍然会有相关的图标,怎么让bat文件在后台无声无息无影无形地运行呢?以下的办法可以达到你的目的。

    方法一、

    bat里有隐藏窗口的命令,很简单,只需要在代码头部加一段代码就可以了。

    @echo off

    if "%1" == "h" goto begin

    mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit

    :begin

    ::下面是你自己的代码。

    方法二、

    在你批处理的相同目录下新建一个记事本,里面输入:

    DIM objShell set objShell=wscript.createObject("wscript.shell")

    iReturn=objShell.Run("cmd.exe /C c:\1.bat", 0, TRUE)

    (其中win.bat为你自己的批处理名字,自己改)

    然后把这个记事本保存为后缀名为.vbe的文件,到时候你只要运行这个vbe文件就达到目的了!

    可以写的简单点:

    Set ws = CreateObject("Wscript.Shell")

    ws.run "cmd /c c:\1.bat",0

    CreateObject("WScript.Shell").Run "cmd /c c:\1.bat",0

    (这种写法很多杀软报毒, 需要替换参数0)

    最后那个0是指窗口参数,用法为:

    0 隐藏窗口并激活另一窗口。

    1 激活并显示一个窗口。若窗口是最小化或最大化,则恢复到其原来的大小和位置。

    2 激活窗口并以最小化显示该窗口。

    3 激活窗口并以最大化显示该窗口。

    4 按窗口最近的大小和位置显示。活动窗口保持活动。

    5 以当前大小和位置激活并显示窗口。

    6 最小化指定窗口并激活按 Z 序排序的下一个顶层窗口。

    7 最小化显示窗口。活动窗口保持活动。

    8 以当前状态显示窗口。活动窗口保持活动。

    9 激活并显示窗口。若窗口是最小化或最大化,则恢复到原来的大小和位置。在还原应用程序的最小化窗口时,应指定该标志。

    展开全文
  • 1.自解压工具很多,偏爱7z,强大而又免费。 2.官网下载7-zip:http://www.7-zip.org/ 中文:http://sparanoid.com/lab/7z/ 3.7-ZIP SFX Maker(7-ZIP高级自解压生成工具):...
  • 支持的安装程序:Inno安装程序,智能安装程序,Wise安装程序,NSIS,RAR \ ZIP \ 7z \ 7z安装程序\ Free Arc \ Microsoft Cab SFX,Msi,Ghost安装程序向导,InstallAware向导,InstallShield,设置工厂安装程序,...
  • 命令行cmd.exe)中操作注册表

    千次阅读 2016-07-13 23:36:21
    批处理是windows下公认的简化工作甚至自动化的官方语言,批处理是多个命令组合起来相互协作批量处理预定工作,所以学批处理就得先一个个命令学,现在开始学习如何在命令行cmd.exe)中操作注册表。 reg 命令的...
  • 所谓 7z SFX 是7ZIP的自解压模块,用于可生成自解压形式的exe可执行文件。由于7zip压缩率极高,所以7z SFX 在系统封装中采用十分广泛,但7zip自身的自解压创建功能过于简陋,所以有高手专门制作了7z SFX Builder。...
  • WinRAR命令行参数整理

    2020-12-22 07:45:32
    由于技术限制,现在-WinRAR-不支持在-ACE-和-7Z-压缩文件格式中查找。 例子: 1)-winrar-"ic=first-level"--r-c:\*.rar-*.txt 在磁盘C:中的-*.RAR-压缩文件中的-*.txt-文件中执行区分大小写搜索-"first-level"-字符...
  • 有时我们在安装程序的时候,希望是静默安装的,不显示下一步下一步,这编访问来教大家如何来操作,现在常用的制作安装程序的软件有,Microsoft Windows Installer , Windows 补丁包 , InstallShield , InstallShield ...
  • 命令行也可以运行 WinRAR 命令,常规的命令行语法描述如下:WinRAR - - 命令:WinRAR 运行的字符组合代表功能开关:切换操作指定类型,压缩强度,压缩文件类型,等等的定义。压缩文件:要处理的压缩文件名。文件:要...
  • 介绍如何向脚本发送信号、修改脚本的优先级,以及在脚本运行时切换到运行模式更多... 符号,来实现脚本的后台运行但这种后台运行不是静默的,任何没有重定向的 STDOUT 或 STDERR 都会输出到显示器同时如果当前 sh...
  • 如何通过命令行CMD)实现网络共享驱动器的连接: 通过WIN+R进入执行(Run)界面,输入CMD回车 连接: net use z: \\<server_ip>\<folder> 查看现有的连接: net use 断开现有连接: ...
  • 开始使用Sencha Cmd

    2021-03-08 22:27:44
    使用Sencha CmdSencha Cmd是一个跨平台的命令行工具,它提供了许多用于应用程序生命周期的自动化任务,从生成新项目到发布产品。初览Sencha CmdSencha Cmd提供了一组强有力、省时的特性,用在Sencha Ext JS和Sencha ...
  • 1、exe程序本身不想显示, 在源码开头中加入 #pragma comment( linker, "/subsystem:windows /entry:mainCRTStartup" ) 2、打开其他的exe 2.1使用WinExec(LPCSTR, UInt)函数 ... WinExec(cmd.c...
  • 006-Sencha Cmd概论

    2018-02-10 16:19:20
    Sencha Cmd是一个跨平台的命令行工具, 它在应用程序的整个生命周期中提供了许多自动化的任务,从生成一个新项目到将应用程序部署到生产环境。 认识Sencha Cmd Sencha Cmd提供了一组强大的、高效的功能模块,...
  • 软件exe打包压缩常用静默安装参数

    千次阅读 2019-01-14 15:34:16
    一种是 Windows 常用的补丁文件,一般情况下加上 /U /N /Z 即可实现静默安装。(对于新的 系统补丁 ,也可使用 /passive /norestart)。这通用大部分情况,但某些特定的补丁不能用此法进行静默安装。     ...
  • exe中 #pragma comment( linker, "/subsystem:windows /entry:mainCRTStartup" ) 1.WinExec(LPCSTR, UInt)函数 其第一个参数相当于system函数的参数,第二个参数可以设置窗口是否显示,... WinExec(cmd.c_...
  • 原文:http://blog.csdn.net/zhaobangyu/article/details/18406957打包的时候,经常需要安装一些其它的环境库,而又不想让...x86.exe(这是32位的环境库)后面加/q即可完成静默安装,而NSIS打包的文件使用/q是不行的,查...
  • 打包的时候,经常需要安装一些其它的环境库,而又不想让用户繁锁的去选择,这时就需要静默安装,而不同的文件所加的参数了不一致,比如VS的环境库vcredist_x86.exe(这是32位的环境库)后面加/q即可完成静默安装,而NSIS打包...
  • 常用软件的静默安装方法

    万次阅读 2016-05-10 08:57:58
    有时我们在安装程序的时候,希望是静默安装的,不显示下一步下一步,这编访问来教大家如何来操作,现在常用的制作安装程序的软件有, Microsoft Windows Installer , Windows 补丁包 , InstallShield , ...
  • windows BAT 批处理常见命令解析

    千次阅读 2020-02-14 09:19:42
    DOSKEY 编辑命令行、调用 Windows 命令并创建宏。 DRIVERQUERY 显示当前设备驱动程序状态和属性。 ECHO 显示消息,或将命令回显打开或关上。 ENDLOCAL 结束批文件中环境更改的本地化。 ERASE 删除一个或多个文件。 ...
  • 静默安装

    千次阅读 2013-11-21 14:49:34
    有时我们在安装程序的时候,希望是静默安装的,不显示下一步下一步,这编访问来教大家如何来操作,现在常用的制作安装程序的软件有, Microsoft Windows Installer , Windows 补丁包 , InstallShield , ...
  • js压缩文件或文件夹

    2021-10-22 11:14:25
    文章目录JS压缩文件/文件夹前置解释7-zip 下载地址7-zip 安装文件解释7-zip 命令解释与集成压缩命令解压命令7-zip 命令行调用方式7-zip.chm 说明文件翻译 前置解释 js 不是原生JavaScript,我说的这个一般是用来集
  • 软件静默安装1

    2014-12-20 08:02:56
    一种是 Windows 常用的补丁文件,一般情况下加上 /U /N /Z 即可实现静默安装(对于新的系统补丁,也可使用 /passive /norestart)。这通用大部分情况,但某些特定的补丁不能用此法进行静默安装。 3、使用 ...
  • Linux RHEL 7系统命令统计加实例说明

    千次阅读 2018-10-11 12:15:19
    systemctl 7系统服务管理命令 5 sysctl 查看和设定/proc/sys内的所有可更改参数 5 系统登陆信息相关 5 mailx 6 rpm 6 yum 6 chkconfig(7中已经弃用,保留少量功能) 7 httpd 7 ip 7 ifconfig 7 vim 8 Vim的几种模式 8 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 646
精华内容 258
关键字:

cmd 7z命令行静默

友情链接: ysf.rar