如果令牌= 1或令牌= 2,依此类推,我正在尝试设置变量。
这是命令行批处理文件
我的问题是如何使我的代码有效,以便将所有1页的pdf文件加起来,并将1个寻呼机的总数放入一个名为1side的变量中,并将2个寻呼机的总数放入一个名为2side的变量中,依此类推。我将在一秒钟内添加pdfcount.tmp的内容。
有关我已完成的工作,请参见下面的代码
if exist *.zip for /f "tokens=2 delims=," %%a in (pdfcount.tmp) do if "%%a"=="[1]" set 1sided=%%a
if exist *.zip for /f "tokens=2 delims=," %%a in (pdfcount.tmp) do if "%%a"=="[2]" set 2sided=%%a
if exist *.zip for /f "tokens=2 delims=," %%a in (pdfcount.tmp) do if "%%a"=="[3]" set 3sided=%%a
if exist *.zip for /f "tokens=2 delims=," %%a in (pdfcount.tmp) do if "%%a"=="[4]" set 4sided=%%a
if exist *.zip for /f "tokens=2 delims=," %%a in (pdfcount.tmp) do if "%%a"=="[5]" set 5sided=%%a
我发现了一个示例代码,它可能与我要寻找的答案很接近:
set index=1
for /f "tokens=3*" %%A in (%file%) do (
if ("%%A"=="Domains") (
for %%C in (%%B) do (
set Domain!index!=%%C
set /A index+=1
)
)
)
这是pdfcount.tmp的内容
24014-20190201-1-en.pdf, 1
24163-20190201-1-en.pdf, 1
24219-20190201-1-en.pdf, 1
2466-20190201-1-en.pdf, 1
26946-20190201-1-en.pdf, 2
27103-20190201-1-en.pdf, 3
28563-20190201-1-en.pdf, 2
29019-20190201-1-en.pdf, 2
29287-20190201-1-en.pdf, 3
30500-20190201-1-en.pdf, 2
31401-20190201-1-en.pdf, 3
31525-20190201-1-en.pdf, 2
31590-20190201-1-en.pdf, 3
32445-20190201-1-en.pdf, 3
3765-20190201-1-en.pdf, 1
4837-20190201-1-en.pdf, 1
5083-20190201-1-en.pdf, 1
756-20190201-1-en.pdf, 2
刚遇到一个问题,它将打印面和数量的列表,但是将11或15或19放在2或3之上,可能是因为11以1开头。 需要将两位数字和三位数字放置在一位数字下。 这是我的问题的一个例子。
Sides_18=1
Sides_3=201
Sides_4=33
Sides_5=4
Sides_6=3
Sides_7=1
Sides_8=1
答案 0 :(得分:0)
您的问题仍然有点含糊,但我的猜测可能是:
@echo off
setlocal enableDelayedExpansion
for /f "tokens=2 delims=," %%a in (pdfcount.tmp) do (
set /a nr=%%a
set /a Pages_!nr! +=1
)
set pages_
编辑以对变量进行排序,您只需添加以下行即可:
for /l %%i in (0,1,300) do if defined pages_%%i echo Pages:%%i=!pages_%%i!
(注意:将300
调整为大于最大页面数的值)
但是更好的方法是首先命名可排序的变量:
@echo off
setlocal enableDelayedExpansion
for /f "tokens=2 delims=," %%a in (pdfcount.tmp) do (
set /a nr=%%a+10000
set /a Pages_!nr:~-4! +=1
)
set pages_