0

我正在尝试创建一个批处理文件来验证所有 javascripts,除了扩展名中带有 .min.js 的那些。我看到 my_file 只获得一个文件的值。它总是一样的,而当我回显 %%~nxf 时,它总是会改变。

@echo off

for /r %cd% %%f in (*.js) do (
    set my_file=%%~nxf
    set fileNoMin=%file:.min=%
    if %file% == %fileNoMin% (
            echo ********** Verifying %%~nxf **********
        cscript /nologo JsLint\jslint-for-wsh.js %%f
    )
)

请帮我解决这个问题:)-我做错了什么?提前致谢 :)

4

1 回答 1

0

在您需要的代码块内,dalayed expansion 并且!variables!

@ECHO OFF &SETLOCAL ENABLEDELAYEDEXPANSION 

for /r "%cd%" %%f in (*.js) do (
     set "my_file=%%~nxf"
     set "fileNoMin=!my_file:.min=!"
     if "!my_file!"=="!fileNoMin!" (
                echo ********** Verifying %%~nxf **********
          cscript /nologo JsLint\jslint-for-wsh.js %%f
     )
)
于 2013-08-12T14:52:35.467 回答