我想將某個文件夾中的多個“相同”.txt 文件中的某個值複製到一個新的單個文件 (Ebinds.txt) 中。這些文件被命名為 log1.txt、log2.txt 等,我感興趣的值總是放在同一個位置,也就是第 22 行,第 2 個值。我搜索我的價值並複制它的部分工作正常。我的問題是當我嘗試遍歷文件夾中的所有文件時(我得到的只是回顯而不是值)
下面是我目前得到的代碼示例,當時我的文件夾中有 4 個文件。
@echo off
FOR /l %%P IN (1,1,4) DO (
set InFile=C:\Users\nuca\Desktop\dock_copy_Ebind\nodV_log%%P.txt
set /a "line = 0"
for /f "tokens=2 delims= " %%L in ("%InFile%") do (set /a "line = line + 1"
if !line!==22 set thing=%%L
)
endlocal && set thing=%thing%
echo %thing% >>C:\Users\nuca\Desktop\dock_copy_Ebind\Ebinds.txt
)
在當前代碼中,在下面@echo off
添加setlocal
enabledelayedexpansion
然後將變量從 更改%thing%
為!thing!
但是,您不需要set
每次都使用變量:
@echo off
setlocal enabledelayedexpansion
for %%a in ("C:\Users\nuca\Desktop\dock_copy_Ebind\nodV_log*.txt") do (
set cnt=
for /f "usebackq delims=" %%i in ("%%~a") do (
set /a cnt+=1
if !cnt! equ 22 echo %%i
)
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句