batch - 修改子文件夹中的每个csv文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了batch - 修改子文件夹中的每个csv文件相关的知识,希望对你有一定的参考价值。
我尝试制作一个批处理脚本,用于更新文件夹(和子文件夹)中每个.csv文件的标题行。由于我不想真正修改源文件,因此我使用新标题,相同内容和新扩展名“.csv.modified”创建新文件。
当我只有一个.csv(我只是删除/ s)但是当> 1时忽略其他文件的内容时,脚本工作正常。
注意:我有很多子文件夹,其中一些包含空格。
任何的想法 ?
@echo off
cls
setlocal enabledelayedexpansion
set HEADERS=header1,header2
for /f "delims=" %%i in ('dir /b /s *.csv') do (
set filename=%%~i
echo !filename!
echo.
set cpt=1
set new_filename=!filename!.modified
@copy nul "!new_filename!"
echo creating !new_filename!
echo %HEADERS%>"!new_filename!"
for /f %%a in (%%~i) do (
set line=%%a
if !cpt! gtr 2 (
echo Y
echo !line!>>"!new_filename!"
) else (
echo N
)
echo !cpt! %%a
set /a cpt=!cpt!+1
)
)
endlocal
答案
这应该是您实现这一目标所需的全部内容:
@SET "HEADERS=header1,header2"
@FOR /F "DELIMS=" %%A IN ('DIR/B/S/A-D-S-L *.csv') DO @((ECHO %HEADERS%
MORE +1 "%%~A")>"%%~A.modified")
以上是关于batch - 修改子文件夹中的每个csv文件的主要内容,如果未能解决你的问题,请参考以下文章
PYSPARK - 如何读取 S3 中所有子文件夹中的所有 csv 文件?
如何使用 Windows Batch 读取和编辑 (>3GB) csv 文件?
VBA-使用日期搜索条件在网络位置上遍历多个子文件夹/提高搜索速度