返回

无法使用 if 条件更改 for 循环中的变量名

发布时间:2022-08-04 13:39:08 270
# 脚本

我正在编写一段脚本,如果文件名包含字符串 NAC,则将变​​量 headerSuffix 的值设置为 VDN。如果文件名不包含 NAC,则使用 headerSuffix 的默认值 [最初由我设置为 VDL] 我在字符串名称中搜索单词“NAC”的逻辑是正确的,但标题值没有改变。它总是采用 VDL 的默认值。我已经在代码中启用了 setlocal enabledelayedexpansion。谁能指出如何解决这个问题?

所以这行代码不能改变变量:if errorlevel 1 (set headerSuffix=VDN)

   @echo off

Title: Count number of lines in each TXT file in a directory

cls

@Echo off

cd /D "%~dp0"

Set /a _Lines=0

Echo *************** TEST EXECUTION STARTS ***************

setlocal enabledelayedexpansion

:nextfile

::if not exist *.TXT cmd /k

if not exist *.TXT  msg /time:10 * "Test excecution complete!!!" & cmd /k 

FOR %%F IN (*.TXT) DO (

 set filename=%%F

 REM If file name contain IF or LP, then header suffix is VDL. If file name contains NAC, then VDN 

 set headerSuffix=VDL

goto tests

)

:tests

For /f %%j in ('%SystemRoot%\System32\find.exe /C /V "" 0^<"%filename%"') Do Set /a _Lines=%%j

set /A Actual_Lines = %_Lines%-2

for /f %%a in (%filename%) do (

Echo File name - %filename% 

REM If file name contain IF or LP, then header suffix is VDL. If file name contains NAC, then change the headersuffix to VDN

 

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
下一篇
c#-Parallel.ForEach 不断产生新线程 2022-08-04 11:31:07