x*******a 发帖数: 11067 | 1 DC版的高人多多,俺问个技术问题。包子感谢!
【 以下文字转载自 Programming 讨论区 】
发信人: xinyuemba (小树), 信区: Programming
标 题: 一个batch file的问题
发信站: BBS 未名空间站 (Wed Aug 15 15:59:02 2012, 美东)
菜鸟诚惶诚恐地上来请教,花了一天琢磨一个BATCH FILE,就是为了LOOP THROUGH一堆
SUBDIRECTORY,打开每个SUBDIR下面的同一个TEXT文件,然后替换里头的一个参数。
总算是WORK了,但是很多是照葫芦画瓢。特别不明白的是两个
!!中间加一个VARIABLE的名字是啥意思。
特别不明白的是,为啥我不能直接让
%%a=123
echo %%a >>file
必须要让
fa=%%a
set fa=123
echo !fa! >>file
请高手解释一下,谢谢!
程序在下面写的很傻,轻拍。
@echo off
setlocal enabledelayedexpansion
FOR /D %%1 IN ("*") DO (
rem cd to all sub directories
echo %%1
cd %%1
rename OUT.txt OUT.txt1
FOR /F "tokens=1,2,3,4,5,6,7 delims=" %%a IN (OUT.txt1) DO (
set fa=%%a
set fb=%%b
set fc=%%c
set fd=%%d
set fe=%%e
set ff=%%f
set fg=%%g
echo %%a %%b %%c %%d %%e %%f %%g
echo !fa! !fb! !fc! !fd! !fe! !ff! !fg!
rem echo %%a
if !fd!==xxxx set fd=yyyyy
if !fa!==N: echo !fa!\!fb!\!fc!\!fd!\!fe!\!ff!\!fg! >>OUT.txt
if NOT !fa!==N: echo !fa! >>OUT.txt )
cd ..
) |
|