该进程无法访问该文件,因为该文件正由另一个进程使用。 csv过滤的批处理文件错误

时间:2018-02-19 00:11:34

标签: csv batch-file

我试图编写我认为是一个非常简单的批处理文件,它将现有输出作为csv并使用逗号作为分隔符,然后它会以我需要的格式向我写一个csv,其中包含我需要的数据。这一切都运行良好,但是当文件被处理时终端输出"进程无法访问该文件,因为它正由另一个进程使用。"所以我得到了大约500条正确写出的近800行。

@echo off
title Clean email list for Canvas

call :sub >canvasUser.csv

:sub
echo user_id,integration_id,login_id,password,authentication_provider_id,first_name,last_name,full_name,sortable_name,short_name,email,status >> canvasUser.csv
for /F "tokens=1-10 skip=1 delims=," %%a in (Student_Export_2018MilleniumRAW.csv) do (
echo %%a, ,%%j, ,microsoft,%%d,%%c,%%d %%c,"%%c, %%d",%%d %%c,%%j,active >> canvasUser.csv)

提前致谢

1 个答案:

答案 0 :(得分:0)

我做了一些改动,希望有所帮助。

@Echo Off
Title Clean email list for Canvas

Call :sub "canvasUser.csv"
Exit /B

:sub
(    Echo user_id,integration_id,login_id,password,authentication_provider_id,first_name,last_name,full_name,sortable_name,short_name,email,status
     For /F "UseBackQ Skip=1 Tokens=1-10 Delims=," %%a In ("Student_Export_2018MilleniumRAW.csv") Do (
         Echo %%a, ,%%j, ,microsoft,%%d,%%c,%%d %%c,"%%c, %%d",%%d %%c,%%j,active))>"%~1"