c# 指定打开某个路径下的CMD_Windows小技巧 批处理文件实现目录下文件批量打包压缩...
最近整理资料,发现很多 pdf 文档,占用了不少的存储空间,考虑使用 7-zip 进行压缩存储,由于文件比较多,且分散在不同目录下,一个个文件压缩比较繁琐。为了提高效率且,方便后面取用,所有打算捣鼓个批处理文件,来实现命令行调用 7-zip 来对目录下的每个文档进行单独打包,并将打包后的压缩包存到指定的目录下,详细内容见下文。
本文在 Windows10
64位
操作系统下,使用的命令行提示符(cmd)版本为 10.0.17134.706
, 7-zip 为 64位
16.04
版本,使用下面脚本时请确保安装了 7-zip ,可在此处下载最新版。
for 命令实现
以下展示几种通过 for
命令来遍历打包压缩批处理文件的示例:
@echo off:: 切换当前编码方式为 UTF-8,处理命令行窗口标题乱码问题chcp 65001title 批量压缩当前目录下个文件到各自压缩包:: 切换回默认 GBK 编码,处理命令行输出乱码问题chcp 936echo ---------- START -------------
:: 实现一:遍历当前目录下(不含子目录)的pdf文件, 压缩成与当前文件同名的 7z 格式文件, 最后压缩文件存放在当前目录下新建的 7z 文件夹(可自定义,特换自己想要的文件夹名称)下:: for %%F in (*.pdf) do (echo "%%~nF" && "C:\Program Files\7-Zip\7z.exe" a -t7z ".\7z\%%~nF.7z" "%%F" )
:: 实现二:遍历当前目录下(不含子目录)的文件夹进行压缩, 压缩成与当前文件夹同名的 7z 格式文件 , 最后压缩文件存放在目录下新建的 7z 文件夹(可自定义,特换自己想要的文件夹名称)下(如想以目录形式打包,可以参考此方式):: for /d %%F in (*) do (echo "%%~nF" && "C:\Program Files\7-Zip\7z.exe" a -t7z ".\7z\%%~nF.7z" "%%F" )
:: 实现三:遍历当前目录下(含子目录)的pdf文件进行压缩, 压缩成与当前文件同名的 7z 格式文件 , 最后压缩文件存放在目录下新建的 7z 文件夹(可自定义,特换自己想要的文件夹名称)下:: for /r %%F in (*.pdf) do (echo "%%~nF" && "C:\Program Files\7-Zip\7z.exe" a -t7z ".\7z\%%~nF.7z" "%%F" )
:: 实现四:遍历当前目录下(含子目录)的pdf文件进行压缩, 压缩成与当前文件同名的 7z 格式文件 , 最后压缩文件存放在与当前文件同目录下:: for /r %%F in (*.pdf) do (echo "%%~nF" && "C:\Program Files\7-Zip\7z.exe" a -t7z "%%~dpnF.7z" "%%F" )
:: 实现五:遍历当前目录下(含子目录)的pdf文件进行压缩, 打包到 PDF.7z 压缩包内 , 最后压缩文件存放在当前目录下::for /r %%F in (*.pdf) do (echo "%%~nF" && 7z a -t7z "PDF.7z" "%%F" )
echo ---------- END -------------pause
以上展示了几种处理方式,更多方式自行扩展,如:
上述示例均已
.pdf
类型为例,如果想压缩其他类型文件,可以更换*.pdf
为对应的*.类型
(如,*.doc
),其他通配符自行尝试;如想将文件压缩为
zip
格式,则替换命令中的-t7z ".\7z\%%~nF.7z"
替换成-tzip ".\7z\%%~nF.zip"
;如想改变压缩算法或比例等,参考下文 7z 的相关命令,进行尝试;
使用方法
复制以上代码内容到新建的文本文档内;(可以在此处下载脚本文件)
确定要使用哪种实现来批量打包自己的文件,则删除对应实现下
for
命令前的双英文冒号(::
,此符号等效于rem
命令,是批处理文件的注释标识符,双英文冒号后面的内容是注释说明,不会被当做代码执行 ),并保存;修改该新建文本文档的扩展名
.txt
改为.bat
,文件名自行定义;将文件拷到要使用的目录下,双击运行(切记不要管理员模式运行)。
使用上述代码需要特别注意:
当前 for 命令实现版本,不要使用管理员方式运行!不要使用管理员方式运行!不要使用管理员方式运行!重要的事情说三遍!管理员方式运行,会在
System32
目录下生效(因管理员模式运行时,会调用 System32 目录下的 cmd 命令提示符来执行脚本) ,切记!代码中的
C:\Program Files\7-Zip\7z.exe
是本人电脑上安装的路径,注意安装了 7-zip ,并修改为自己电脑上的路径,否则无法使用,如果将7z
安装路径配置到环境变量path
中,则可以将此处的路径替换为7z.exe
(或7z
)
批处理 for 命令说明
for
命令可以对一组文件中的每个文件进行指定的操作,命令语法如下:
FOR %variable IN (set) DO command [command-parameters]
cmd 命令行下使用命令 for /?
可以看到 for
相关的解释说明:
对一组文件中的每一个文件执行某个特定命令。
FOR %variable IN (set) DO command [command-parameters]
%variable 指定一个单一字母可替换的参数。 (set) 指定一个或一组文件。可以使用通配符。 command 指定对每个文件执行的命令。 command-parameters 为特定命令指定参数或命令行开关。
在批处理程序中使用 FOR 命令时,指定变量请使用 %%variable 而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I.
如果启用命令扩展,则会支持下列 FOR 命令的其他格式: FOR /D %variable IN (set) DO command [command-parameters]
如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。 FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]
检查以 [drive:]path 为根的目录树,指向每个目录中的 FOR 语句。 如果在 /R 后没有指定目录规范,则使用当前目录。如果集仅为一个单点(.)字符, 则枚举该目录树。
FOR /L %variable IN (start,step,end) DO command [command-parameters]
该集表示以增量形式从开始到结束的一个数字序列。因此,(1,1,5)将产生序列 1 2 3 4 5,(5,-1,1)将产生序列(5 4 3 2 1)
FOR /F ["options"] %variable IN (file-set) DO command [command-parameters] FOR /F ["options"] %variable IN ("string") DO command [command-parameters] FOR /F ["options"] %variable IN ('command') DO command [command-parameters]
或者,如果有 usebackq 选项:
FOR /F ["options"] %variable IN (file-set) DO command [command-parameters] FOR /F ["options"] %variable IN ("string") DO command [command-parameters] FOR /F ["options"] %variable IN ('command') DO command [command-parameters]
fileset 为一个或多个文件名。继续到 fileset 中的下一个文件之前, 每份文件都被打开、读取并经过处理。处理包括读取文件,将其分成一行行的文字, 然后将每行解析成零或更多的符号。然后用已找到的符号字符串变量值调用 For 循环。 以默认方式,/F 通过每个文件的每一行中分开的第一个空白符号。跳过空白行。 你可通过指定可选 "options" 参数替代默认解析操作。这个带引号的字符串包括一个 或多个指定不同解析选项的关键字。这些关键字为:
eol=c - 指一个行注释字符的结尾(就一个) skip=n - 指在文件开始时忽略的行数。 delims=xxx - 指分隔符集。这个替换了空格和制表符的 默认分隔符集。 tokens=x,y,m-n - 指每行的哪一个符号被传递到每个迭代 的 for 本身。这会导致额外变量名称的分配。m-n 格式为一个范围。通过 nth 符号指定 mth。如果 符号字符串中的最后一个字符星号, 那么额外的变量将在最后一个符号解析之后 分配并接受行的保留文本。 usebackq - 指定新语法已在下类情况中使用: 在作为命令执行一个后引号的字符串并且一个单 引号字符为文字字符串命令并允许在 file-set 中使用双引号扩起文件名称。
某些范例可能有助:
FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k
会分析 myfile.txt 中的每一行,忽略以分号打头的那些行,将 每行中的第二个和第三个符号传递给 for 函数体,用逗号和/或 空格分隔符号。请注意,此 for 函数体的语句引用 %i 来 获得第二个符号,引用 %j 来获得第三个符号,引用 %k 来获得第三个符号后的所有剩余符号。对于带有空格的文件 名,你需要用双引号将文件名括起来。为了用这种方式来使 用双引号,还需要使用 usebackq 选项,否则,双引号会 被理解成是用作定义某个要分析的字符串的。
%i 在 for 语句中显式声明,%j 和 %k 是通过 tokens= 选项隐式声明的。可以通过 tokens= 一行 指定最多 26 个符号,只要不试图声明一个高于字母 "z" 或 "Z" 的变量。请记住,FOR 变量是单一字母、分大小写和全局的变量; 而且,不能同时使用超过 52 个。
还可以在相邻字符串上使用 FOR /F 分析逻辑,方法是, 用单引号将括号之间的 file-set 括起来。这样,该字符 串会被当作一个文件中的一个单一输入行进行解析。
最后,可以用 FOR /F 命令来分析命令的输出。方法是,将括号之间的 file-set 变成一个反括字符串。该字符串会被当作命令行,传递到一个子 CMD.EXE,其输出会被捕获到内存中,并被当作文件分析。如以下例子所示: FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i
会枚举当前环境中的环境变量名称。
另外,FOR 变量参照的替换已被增强。你现在可以使用下列选项语法: %~I - 删除任何引号("),扩展 %I %~fI - 将 %I 扩展到一个完全合格的路径名 %~dI - 仅将 %I 扩展到一个驱动器号 %~pI - 仅将 %I 扩展到一个路径 %~nI - 仅将 %I 扩展到一个文件名 %~xI - 仅将 %I 扩展到一个文件扩展名 %~sI - 扩展的路径只含有短名 %~aI - 将 %I 扩展到文件的文件属性 %~tI - 将 %I 扩展到文件的日期/时间 %~zI - 将 %I 扩展到文件的大小 %~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩展 到找到的第一个完全合格的名称。如果环境变量名 未被定义,或者没有找到文件,此组合键会扩展到 空字符串
可以组合修饰符来得到多重结果:
%~dpI - 仅将 %I 扩展到一个驱动器号和路径 %~nxI - 仅将 %I 扩展到一个文件名和扩展名 %~fsI - 仅将 %I 扩展到一个带有短名的完整路径名 %~dp$PATH:I - 搜索列在路径环境变量的目录,并将 %I 扩展 到找到的第一个驱动器号和路径。 %~ftzaI - 将 %I 扩展到类似输出线路的 DIR
在以上例子中,%I 和 PATH 可用其他有效数值代替。%~ 语法用一个有效的 FOR 变量名终止。选取类似 %I 的大写变量名比较易读,而且避免与不分大小写的组合键混淆。
微软文档说明中语法如下
for {%%|%} in () do []
参数 | 描述 |
---|---|
{%%|%} | 必需。表示可替换参数。在命令提示符执行 for 命令时使用一个百分号 ( % ), 在命令批处理文件中执行 for 命令时使用双百分号 ( %% ) 。变量区分大小写,且必须使用字母表示,如 %A, %B,或 %C。 |
() | 必需。指定一个或多个文件,目录或文本字符串,或运行该命令的一系列值。两边需要圆括号。 |
必需。指定要在每个文件、 目录或文本字符串或上中包含的值的范围缩小执行的命令设置。 | |
指定你想要指定命令中使用任何命令行选项。 | |
/? | 在命令提示符下显示帮助。 |
更多介绍及示例参看此处。
forfiles 命令实现
以下展示几种通过 forfiles
命令来遍历打包压缩批处理文件的示例:
@echo off:: 切换当前编码方式为 UTF-8,处理命令行窗口标题乱码问题chcp 65001title 批量压缩当前目录下个文件到各自压缩包:: 切换回默认 GBK 编码,处理命令行输出乱码问题chcp 936echo ---------- START -------------
::实现一:遍历当前目录下(含子目录)的pdf文件进行压缩, 压缩成与当前文件同名的 7z 格式文件 , 最后压缩文件存放在 7z 目录下:: Forfiles /P .\ /s /m *.pdf /c "cmd /c echo @FNAME && 7z a -t7z .\7z\@FNAME.7z @PATH"
::实现二:遍历当前目录下(含子目录)的pdf文件进行压缩, 压缩成与当前文件同名的 7z 格式文件 , 最后压缩文件存放在与当前文件同目录下:: Forfiles /P .\ /s /m *.pdf /c "cmd /c echo @FNAME && 7z a -t7z ./@FNAME.7z @PATH"
::实现三:遍历当前目录下(不含子目录)的pdf文件进行压缩, 压缩成与当前文件同名的 7z 格式文件 , 最后压缩文件存放在 7z 目录下::Forfiles /P .\ /m *.pdf /c "cmd /c echo @FNAME && 7z a -t7z .\7z\@FNAME.7z @RELPATH"
::实现四:遍历当前目录下(含子目录)的pdf文件进行压缩, 打包到 PDF.7z 压缩包内 , 最后压缩文件存放在当前目录下:: Forfiles /P .\ /s /m *.pdf /c "cmd /c echo @FNAME && 7z a -t7z .\PDF.7z @PATH"
echo ---------- END -------------pause
以上展示了几种 forflies
命令的处理方法,更多扩展使用,自行尝试,使用方法类似之前 for
命令实现的使用方法。可以在此处下载脚本文件。
使用上述代码需要特别注意:
forfiles
命令,需要自己给定要处理的目录路径(如,代码中的D:\work
是我存放 pdf 等文件的目录,替换成自己的目录即可)给定目录后,可以在任意位置执行该脚本,且可以管理员方式运行。
将 7-zip 安装路径配置到环境变量
path
中,以方便在forfiles
中cmd
命令字符串中使用
批处理 forfiles 命令说明
forfiles
命令可以对一组文件中的每个文件进行指定的操作,命令语法如下:
FORFILES [/P pathname] [/M searchmask] [/S] [/C command] [/D [+ | -] {yyyy/MM/dd | dd}]
cmd 命令行下使用命令 forfiles /?
可以看到 forfiles
相关的解释说明:
FORFILES [/P pathname] [/M searchmask] [/S] [/C command] [/D [+ | -] {yyyy/MM/dd | dd}]
描述: 选择一个文件(或一组文件)并在那个文件上 执行一个命令。这有助于批处理作业。
参数列表: /P pathname 表示开始搜索的路径。默认文件夹是当前工作的 目录 (.)。 /M searchmask 根据搜索掩码搜索文件。默认搜索掩码是 '*'。 /S 指导 forfiles 递归到子目录。像 "DIR /S"。 /C command 表示为每个文件执行的命令。命令字符串应该 用双引号括起来。
默认命令是 "cmd /c echo @file"。下列变量 可以用在命令字符串中:
@file - 返回文件名。 @fname - 返回不带扩展名的文件名。 @ext - 只返回文件的扩展名。 @path - 返回文件的完整路径。 @relpath - 返回文件的相对路径。 @isdir - 如果文件类型是目录,返回 "TRUE"; 如果是文件,返回 "FALSE"。 @fsize - 以字节为单位返回文件大小。 @fdate - 返回文件上一次修改的日期。 @ftime - 返回文件上一次修改的时间。
要在命令行包括特殊字符,字符请以 0xHH 形式使用十六进制代码(例如,0x09 为 tab)。 内部 CMD.exe 命令前面应以 "cmd /c" 开始。
/D date 选择文件,其上一次修改日期大于或等于 (+), 或者小于或等于 (-) 用 "yyyy/MM/dd" 格式指定的日期;
或选择文件,其上一次修改日期大于或等于 (+) 当前日期加 "dd" 天,或者小于或等于 (-) 当前
日期减 "dd" 天。有效的 "dd" 天数可以是 0 - 32768 范围内的任何数字。如果没有指定,
"+" 被当作默认符号。
/? 显示此帮助消息。
示例: FORFILES /? FORFILES FORFILES /P C:\WINDOWS /S /M DNS*.* FORFILES /S /M *.txt /C "cmd /c type @file | more" FORFILES /P C:\ /S /M *.bat FORFILES /D -30 /M *.exe /C "cmd /c echo @path 0x09 在 30 前就被更改。" FORFILES /D 2001/01/01 /C "cmd /c echo @fname 在 2001年1月1日就是新的。" FORFILES /D +2019/6/14 /C "cmd /c echo @fname 今天是新的。" FORFILES /M *.exe /D +1 FORFILES /S /M *.doc /C "cmd /c echo @fsize" FORFILES /M *.txt /C "cmd /c if @isdir==FALSE notepad.exe @file"
微软文档说明中语法如下
forfiles [/p ] [/m ] [/s] [/c ""] [/d [{+|-}][{|}]]
参数 | 描述 |
---|---|
/p | 指定开始搜索的路径。默认情况下,搜索从当前工作目录开始。 |
/m |
根据指定的搜索掩码搜索文件。默认搜索掩码是 *.\ * 。
|
/s | 指示forfiles命令以递归方式搜索子目录。 |
在每个文件上运行指定的命令。命令字符串包含在双引号中。默认命令是“cmd / c echo @file”。 | |
/d [{+|-}][{|}] |
选择具有指定的时间范围内的上次修改日期的文件。 - 选择文件的上次修改日期晚于或等于 ( + ) 或早于或等于 ( - ) 指定的日期,其中日期采用格式 MM/DD/YYYY。 - 选择文件的上次修改日期晚于或等于 ( + ) 的当前日期加上指定,天内或早于或等于 ( - ) 的当前日期减去天数指定。 有效值天范围 0-32,768 中包含任意数量。如果指定没有登录,则 + 默认情况下使用。 |
/? | 在命令提示符下显示帮助。 |
更多介绍及示例参看此处
关于 7-zip
7-Zip 是一款拥有极高压缩比的开源压缩软件。支持 Windows、Linux等平台。通常使用 7-Zip 的 .7z
格式能比使用 .zip
格式的压缩档案小 30-70%。并且使用 7-Zip 创建的 .zip
格式比大多数其它压缩软件创建的都小 2-10%。关于 7-zip 等更多内容,可以参看官网说明。
7-zip 安装完成后,在安装目录下,可以找到当前版本 7-zip.chm
帮助文档,中文帮助文档可以在此处下载 ,文档下载后,打开无内容,可以尝试在文档属性中勾选 解除锁定 ,点击应用即可。
7-zip文档解除锁定
7-zip 命令行的语法格式大致如下:
7z [...] [...]7z [...] [...]
关于 7-zip 命令行版本的更多内容,在文档中有较为详细的介绍,并附有示例,可以自行学习尝试。
7-zip 命令行版本用户手册
DEL 命令删除文件
最后,附上递归删除指定类型文件批处理代码(可以用来批量删除打包的源文件)
特别注意:此删除为完全删除,回收站不可见,且无法撤销还原,请慎用!!!
:: 删除目录下(含子目录下)符合条件的文件@echo off:: 不推荐使用此方法,管理员模式运行时可能会误删 System32 目录下文件,请慎用!!!::for /r %%F in (*.7z) do (DEL /p "%%F" )
:: 推荐使用此方法,支持管理员方式运行(因提供了绝对路径)forfiles /P "D:\work" /s /m *.7z /c "cmd /c DEL /p @PATH"pause
cmd 命令行下使用命令 DEL /?
可以看到 DEL
相关的解释说明:
删除一个或数个文件。
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] namesERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
names 指定一个或多个文件或者目录列表。 通配符可用来删除多个文件。 如果指定了一个目录,该目录中的所 有文件都会被删除。
/P 删除每一个文件之前提示确认。 /F 强制删除只读文件。 /S 删除所有子目录中的指定的文件。 /Q 安静模式。删除全局通配符时,不要求确认 /A 根据属性选择要删除的文件 属性 R 只读文件 S 系统文件 H 隐藏文件 A 存档文件 I 无内容索引文件 L 重分析点 - 表示“否”的前缀
如果命令扩展被启用,DEL 和 ERASE 更改如下:
/S 开关的显示句法会颠倒,即只显示已经删除的文件,而不显示找不到的文件。
建议: 使用删除时,DEL
命令后使用 /p
命令参数,来手动确认删除文件,防止误删!
参考阅读
微软文档 - Windows Commands
Computer Hope - Microsoft DOS and Windows command line
7-zip 中文帮助文档
作者:Anyers
链接:https://www.jianshu.com/p/42c824c575db
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
c# 指定打开某个路径下的CMD_Windows小技巧 批处理文件实现目录下文件批量打包压缩...相关推荐
- 7z替换exe文件内容不能替换文件_Windows小技巧 批处理文件实现目录下文件批量打包压缩...
最近整理资料,发现很多 pdf 文档,占用了不少的存储空间,考虑使用 7-zip 进行压缩存储,由于文件比较多,且分散在不同目录下,一个个文件压缩比较繁琐.为了提高效率且,方便后面取用,所有打算捣鼓个 ...
- Windows小技巧 -- 批处理文件实现目录下文件批量打包压缩
文章目录 for 命令实现 使用方法 批处理 for 命令说明 **forfiles** 命令实现 批处理 forfiles 命令说明 关于 7-zip DEL 命令删除文件 参考阅读 最近整理资料, ...
- iOS小技巧21-MacOS 苹果系统下Outlook打不开,显示“您需要最新版本的Outlook才能使用此数据库”
iOS小技巧21-MacOS 苹果系统下Outlook打不开,显示"您需要最新版本的Outlook才能使用此数据库" 错误信息: 解决方法:按照下图的路径删除指定文件夹后,重新打开 ...
- Windows下的cmd小技巧
Windows下的cmd小技巧 文章目录 Windows下的cmd小技巧 工具 信息 关机 进程管理 网络 文件 工具 calc //计算器 osk //屏幕键盘 explorer //文件管理器 n ...
- cdr怎么做文字路径_CorelDRAW文件问题 CDR文字路径问题 颜色的小技巧
CorelDRAW文件问题 CDR文字路径问题 颜色的小技巧 CorelDRAW文件问题 大虾们,请问下有锁定SVG数据怎么解决呀 文件卡得要死 把文件内容删除还是有数据 -- 你可以 CTRL A ...
- 打开office 文档慢的小技巧1 更改默认打印机
打开office 文档慢的小技巧1 更改默认打印机为本机虚拟打印机 因为word打开时要缓存打开的文件到预览的缓存,如果默认打印机为离线,则office word,excel,ppt等打开有可能稍慢点 ...
- 安装指定版本的GPU版本的tensorflow小技巧
安装指定版本的GPU版本的tensorflow小技巧 使用类似 pip install tensorflow-gpu==1.4 命令即可
- c# 指定打开某个路径下的CMD_【自学C#】|| 笔记 25 文件的操作
一.流简介 在计算机编程中,流就是一个类的对象,很多文件的输入输出操作都以类的成员函数的方式来提供. 计算机中的流其实是一种信息的转换. 它是一种有序流,因此相对于某一对象,通常我们把对象接收 ...
- c# 指定打开某个路径下的CMD_这招太厉害了,不用鼠标也可以打开指定文件
大家好,我是小宽呀! 想必大多数的小伙伴打开某个指定的文件都是通过移动鼠标, 或者在笔记本上的触摸板上移动光标,然后一顿狂点之后进入的吧. 今天给大家分享另一种操作姿势,不用通过移动鼠标或用触摸板也能 ...
最新文章
- cjson使用_LiteOS云端对接教程01-cJSON组件使用教程
- postman返回值设置为全局变量
- [原]小命令大作用:modprobe
- php timesheet,vue版本的timesheet图表
- word2vec相似度计算_AAAI-2016 | 使用孪生递归网络的句子语义相似度计算方法
- java web 程序---javaBean
- LINK : fatal error LNK1104: 无法打开文件“ucrtd.lib”
- android调用dll程序,安卓手机如何打开.dll文件?
- 估算的合同总价与实际的合同总价
- 外企8年,我学到的人性化,不止是宽容
- c语言怎样控制键盘的方向键,c++怎么获取键盘的方向键
- 关于Arduino连接L298N供电问题
- python 求平方根
- 复数/复频域计算器介绍(解方程组)
- 移动端最常用的四个框架
- php 获取qq头像,php只需要一个QQ号就可以获得用户信息(昵称、头像)
- 计算机开始处无法搜索内容,win10系统电脑搜索功能无法找到内容的解决方法
- 2019——区块链从业者的集体冬眠
- 写C#代码时用到的中文简体字 、繁体字 对应的转化 (收藏吧)
- spss入门——简单的数据预处理到时间序列分析系列(二)