Jon*_*ger 3 loops for-loop substring batch-file
使用这个批处理文件我想要压缩一些*.txt文件.每个*.txt文件都在自己的zip文件中.不幸的是它不起作用,我得到了输出
ECHO is disabled (OFF).
Run Code Online (Sandbox Code Playgroud)
几次.这是源代码:
@echo off
setlocal EnableDelayedExpansion
for %%i in (*.txt) do (
set filename = %%i
set filenametrunc = %filename:~0,10%
7z a -tzip -mx0 %zipname%
echo %filename% zipped.
)
Run Code Online (Sandbox Code Playgroud)
我读了一些关于EnableDelayedExpansion的内容并将其激活.不能让它工作.
任何帮助赞赏.
您需要使用SetLocal EnableDelayedExpansion和包装变量!.另外,不要在变量名,等号和值之间放置空格.
set filename = ...使名为变量%filename %与值 ...
set filename=.....使名为变量%filename%与值.....
@echo off
setlocal EnableDelayedExpansion
for %%i in (*.txt) do (
set filename=%%i
set filenametrunc=!filename:~0,10!
7z a -tzip -mx0 !zipname!
echo !filename! zipped.
)
Run Code Online (Sandbox Code Playgroud)
%括号内的变量同时被评估,这是在整个循环开始执行之前.您之前的代码将在set语句运行之前扩展所有变量.
| 归档时间: |
|
| 查看次数: |
4948 次 |
| 最近记录: |