Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 批量垂直拆分csv文件_Batch File_Cmd - Fatal编程技术网

Batch file 批量垂直拆分csv文件

Batch file 批量垂直拆分csv文件,batch-file,cmd,Batch File,Cmd,我需要使用bat分割csv文件 该文件类似于 a;b;c;d;e;f 我需要把这些列放在a;b转换为file1.csv和c;DE使用bat语言将f转换为file2.csv 这就是我所做的: @echo off & setlocal enabledelayedexpansion set c=0 for /f "tokens=*" %%a in (file.csv) do ( REM this next is just to kill any lingering left-overs

我需要使用bat分割csv文件

该文件类似于

a;b;c;d;e;f
我需要把这些列放在a;b转换为file1.csv和c;DE使用bat语言将f转换为file2.csv

这就是我所做的:

@echo off & setlocal enabledelayedexpansion
set c=0
for /f "tokens=*" %%a in (file.csv) do (
  REM this next is just to kill any lingering left-overs
  >f!c!.mol echo.
)
pause
获取前两列标记=1,2到file1.csv,其余*到file2.csv:


下面是一个分割.csv文件的.bat文件脚本

powershell -NoLogo -NoProfile -Command ^
    "Get-Content -Path '.\sv.txt' |" ^
        "ForEach-Object {" ^
            "if ($_ -match '([^;];[^;]);(.*)') {" ^
                "$Matches[1] | Out-File -FilePath 'sv-file1.txt' -Encoding ascii -Append;" ^
                "$Matches[2] | Out-File -FilePath 'sv-file2.txt' -Encoding ascii -Append;" ^
            "}" ^
        "}"

这真的是DOS还是Windows?这是Windows中的BAT我找到了一个代码来分割我的文件,但可怕的是我需要垂直搜索。搜索找到自己的代码或参考资料是你的责任,并将该代码作为问题的一部分提供给你。StackOverflow不是一个免费的代码编写服务,请阅读并使其成为主题。还请确保突出显示代码并使用{}按钮将其格式化为代码框。我不明白我需要垂直。你能给出一个预期输出的例子吗?如果一个答案解决了你的问题,或者你发现它有帮助,你应该考虑和/或@斯蒂芬,你的提示是不引人注目的更有效:/f令牌=1,2,*Delims=;%%。文件中的a.csv是否回显%%a;%%b&>&2 echo%%c>file1.csv 2>file2。csv@Aacini是的,速度应该快得多,特别是对于大文件,但是对于初学者来说可能会让人困惑。
powershell -NoLogo -NoProfile -Command ^
    "Get-Content -Path '.\sv.txt' |" ^
        "ForEach-Object {" ^
            "if ($_ -match '([^;];[^;]);(.*)') {" ^
                "$Matches[1] | Out-File -FilePath 'sv-file1.txt' -Encoding ascii -Append;" ^
                "$Matches[2] | Out-File -FilePath 'sv-file2.txt' -Encoding ascii -Append;" ^
            "}" ^
        "}"