Windows 每次循环到不同文件WIN批的结果
我想解决一个简单的问题-当循环重复时保存到不同的文件。我知道我得到了结果,因为当我做>>file.txt时 我正在将所有的Results放在一个文件中。每次将结果保存到不同的文件(并通过变量中的文本命名此文件)会很好。但是有点错误。它保存了上次循环迭代的结果Windows 每次循环到不同文件WIN批的结果,windows,batch-file,Windows,Batch File,我想解决一个简单的问题-当循环重复时保存到不同的文件。我知道我得到了结果,因为当我做>>file.txt时 我正在将所有的Results放在一个文件中。每次将结果保存到不同的文件(并通过变量中的文本命名此文件)会很好。但是有点错误。它保存了上次循环迭代的结果 @echo off setlocal ENABLEDELAYEDEXPANSION set vidx=0 for /F "tokens=1* delims=;" %%A in (list2.csv) do (
@echo off
setlocal ENABLEDELAYEDEXPANSION
set vidx=0
for /F "tokens=1* delims=;" %%A in (list2.csv) do (
SET /A vidx=!vidx! + 1
set var!vidx!=%%A
rxrepl -f temp.txt -s "xNAMEx" -r "%%A">file___%var!vidx!%.txt
)
试着换掉这个
file\uuuuuuuuuuuu%var!vidx!%.txt
通过此file\uuuuuuuuuuuuvar!!vidx!!!.txt
您不需要任何变量来获得所需的结果。此外,如果您从未引用变量%B
,“tokens=1*”
,则“tokens=1”
是默认值。因此,您只需要:
for /F "delims=;" %%A in (list2.csv) do rxrepl -f temp.txt -s "xNAMEx" -r "%%A">"file___%%A.txt"
@ECHO OFF
SETLOCAL enableextensions enabledelayedexpansion
set vidx=0
for /F "tokens=1* delims=;" %%A in (list2.csv) do (
SET /A "vidx+=1"
set "var!vidx!=%%~A"
echo loopvar %%%% A=%%~A "file___%%~A.txt"
rem next line shows how to treat array-like names
call set "filenamepart=%%var!vidx!%%"
echo filenamepart=!filenamepart! "file___!filenamepart!.txt"
rem rxrepl -f temp.txt -s "xNAMEx" -r "%%A">"file___%%~A.txt"
)
如果您真的想构建一个var.N值的“数组”,那么可以使用FINDSTR在每一行前面加上递增的数字(行号)
只需使用…>“file___%%~A.txt”
而不是错误的>file__;u%var!vidx!%.txt
@ECHO OFF
SETLOCAL enableextensions enabledelayedexpansion
set vidx=0
for /F "tokens=1* delims=;" %%A in (list2.csv) do (
SET /A "vidx+=1"
set "var!vidx!=%%~A"
echo loopvar %%%% A=%%~A "file___%%~A.txt"
rem next line shows how to treat array-like names
call set "filenamepart=%%var!vidx!%%"
echo filenamepart=!filenamepart! "file___!filenamepart!.txt"
rem rxrepl -f temp.txt -s "xNAMEx" -r "%%A">"file___%%~A.txt"
)
是否启用延迟扩展?要启用延迟扩展,只需将setlocal enabledelayedexpansion
放在文件的旁边直到不起作用:(,我上传了新的编码工具,它几乎可以工作了-它可以生成文件-谢谢!但是文件看起来像是存储在vidx中的file\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu(名称应取自%%A,存储在var1、var2、var3等中。我制作了变量集名称=%%A并重新绘制了您的!var!!vidx!!!.txt和!name!:)非常感谢!祝您度过愉快的一天!