我的笔记本win7桌面上有3个文件;一个文件叫V6.bat;一个叫v8.txt ;一个叫vip.txt ; 记住:这三个文件都放在桌面上(或者放在同一个目录里面);
目标:点击V6.bat 实现从V8.txt 循环获取每一行的字符串,然后赋值给变量,重定向写入vip.txt . 我说清楚了吧。
1. 先看V8.tx内容:6个IP地址。
2. 在看V6.bat内容:
3. 点击 V6.bat 然后打开 vip.txt
能看到内容:
总结: 关键点:setlocal enabledelayedexpansion 不能省略,循环监控变量全指望它呢; !target! 这两个!!不能用%%代替,不信你试试。
@echo off
set targe=''
setlocal enabledelayedexpansion
for /f %%i in (V8.txt) do (
set target=%%i
echo !target! >> vip.txt
)
pause
我的笔记本win7桌面上有3个文件;一个文件叫V6.bat;一个叫v8.txt ;一个叫vip.txt ; 记住:这三个文件都放在桌面上(或者放在同一个目录里面);目标:点击V6.bat 实现从V8.txt 循环获取每一行的字符串,然后赋值给变量,重定向写入vip.txt . 我说清楚了吧。1. 先看V8.tx内容:6个IP地址。2. 在看V6.bat内容:3. 点击 V...
需求描述:
循环
读取
一个
文件
夹中每个
文件
的绝对地址,打印
文件
绝对路径,并使bianli。
解决方法:开启
变量
延迟,并且
变量
要用一对叹号“!!”括起来。
@echo off
setlocal enabledelayedexpansion
set /a v=0
for %%i in (d:\MyProject\pythonProjects\data\*.
txt
) do (
echo %%i
在实际的应用过程中,常常会在
window
s下批量的运行exe的一些可执行程序这时候可以采用一些批处理来完成如下所示:
@echo off & setlocal EnableDelayedExpansion
set j=0
for /f "delims=""" %%i in (charlist_all_22.
txt
) do (
set /lineStr j+=1
set con!j!=%%i
for /f "tokens=1,2 delims= " %%i in (mima.
txt
) do (
if %%i==Guest echo set username = %%j
echo %username%
pause
1、
bat
批处理命令执行机制:
bat
命令是按照
一行
一行
执行.如for,if等命令,即使我们用括号也是按照
一行
来执行。因此,在用for
循环
的时候,总是得不到想要的结果。“ 那是因为
变量
在
赋值
没有成功,而是一个空值。
解决方法:利用
变量
延迟扩展即可 。即
setlocal enabledelayedexpansion
2、用了
变量
延迟,还是不行,可能是
变量
的写法不正确
(1) 通常
变量
我们的格式 ...
echo 复制进度:
for /f "tokens=1,2,3,4 delims= " %%a in ('xcopy /l /y /v "%src%" "%dest%" ^| find "File(s)"') do (
echo %%a %%b %%c %%d
echo 复制完成。
pause
请注意上面的源
文件
夹路径和目标
文件
夹路径需要根据自己的需要进行修改。
上面这段代码将所有
文件
(包括子
文件
夹)从源
文件
夹复制到目标
文件
夹,并在复制过程中显示
文件
数量和已复制的
文件
大小。
可以根据需要修改xcopy命令的参数,比如加入/e参数,复制空
文件
夹。