我试图编写我认为是一个非常简单的批处理文件,它将现有输出作为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)
提前致谢
答案 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"