@echo off
for /l %%i in (141,1,164) do (
set xiaoshi=%time:~0,2%
set fenzhong=%time:~3,2%
echo TIME:%xiaoshi%:%fenzhong% IP:58.200.125.%%i)
pause
IP号循环从141到164,每执行一次循环就取一次当前时间,输出如下形式
得到TIME:22:33 IP:58.200.125.141
TIME:22:34 IP:58.200.125.142
..........
题目有点绕口,我举个例子
FOR %%i in (c:\*_BAK) DO (
REM 开启延迟变量
SETLOCAL ENABLEDELAYEDEXPANSION
REM 先从循环子中拿到当前已_BAK结尾的文件名并赋值给一个变量
SET BAK_FILE_NAME=%%i
REM 关键是这里,我想通过上面取到的以“_BAK”结尾的文件名 _
REM _ (比如TEST01.TXT_BAK)取到不带最后那个"_BAK"的文件 _
REM _ 名(比如TEST01.TXT),我按照正常截取字符串的方式不 _
REM _ 行,难道延迟变量就不能进行字符串操作吗?
REM 我试过各种写法包括下面3种,好像都不行。
SET ORG_FILE_NAME=%BAK_FILE_NAME:~-4%
SET ORG_FILE_NAME=%!BAK_FILE_NAME!:~-4%
SET ORG_FILE_NAME=!BAK_FILE_NAME:~-4!
)
综上,问题都写在代码注释里面了,请教高手有没有什么办法?