[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 【已解决】BAT:提示“变量环境$ 没有定义”,如何修改

本帖最后由 思想之翼 于 2014-9-21 11:07 编辑

下列代码,运行时提示“变量环境$ 没有定义”,如何修改?

@echo off&setlocal enabledelayedexpansion

for /l %%x in (1001,1,1210) do (
    set y=%%x
pushd "d:\文本\文本1\!y:~1!\"

set n=100
for /l %%a in (0 1 99) do set /a $!n:~1!=1,n+=1

for %%a in (lishihn*.txt) do (
  set "str= "
  setlocal
  for /f "delims=" %%b in (%%~snxa) do (
     for %%c in (%%b) do set "$%%c="
  )
  for /f "delims==$" %%b in ('set $ ') do set str=!str! %%b
  echo !str:~2!
  endlocal
)>"d:\文本\未出数1\!y:~1!\%%~nxa"
)
exit

如果文本中00~99所有数字都存在,会出现环境变量$未定义,这样试试:
  1. @echo off & setlocal enabledelayedexpansion
  2. for /l %%a in (100 1 199) do set $%%a=1
  3. for /l %%x in (1001,1,1210) do (
  4.     set "y=%%x"
  5.     cd /d "d:\文本\文本1\!y:~1!\"
  6.     for %%a in (lishihn*.txt) do (
  7.         set "str= "
  8.         setlocal
  9.         for /f "delims=" %%b in (%%~snxa) do (
  10.             for %%c in (%%b) do set "$1%%c="
  11.         )
  12.         for /l %%b in (100 1 199) do if defined $%%b set "str=!str! %%b"
  13.         set "str=!str: 1= !"
  14.         echo,!str:~2!
  15.         endlocal
  16.     )>"d:\文本\未出数1\!y:~1!\%%~nxa"
  17. )
  18. pause
复制代码
ps:楼主以后注意说清代码的功能,给出样本,不要让人去猜
1

评分人数

TOP

返回列表