2014-12-21 160 views
0

你好,我正在嘗試操作批處理.csv文件,然後將它保存爲一個txt文件,它具有從.csv文件抓取的特定名稱。每個文件可以有不同的長度,所以我需要去一個EOF。此外,我有一個文件夾中的所有文件,它大約有50個文件。下面是該文件的樣子:批處理文本操作

FROM: 20.12 13:23 
 
//Current Deck 
 
"Constantine-6, Sacred Sanctuary-6, Zodiac Harbinger-6, Honorable Samurai-6, Tempest Citadel-6, Bolt Crag-6(2), Jyack-6, Serraco Sire-6, Stoneheart-6, Irrian Grafter-6" 
 
//Owned Cards 
 
Omega-1 
 
Smog Tank-1 
 
Smog Tank-4 
 
Xeno Mothership-1 
 
Apex-1(2) 
 
Octane-1

我希望它看起來像下面。

//Current Deck: Constantine-6, Sacred Sanctuary-6, Zodiac Harbinger-6, Honorable Samurai-6, Tempest Citadel-6, Bolt Crag-6(2), Jyack-6, Serraco Sire-6, Stoneheart-6, Irrian Grafter-6 
 
//Owned Cards 
 
Omega-1 
 
Smog Tank-1 
 
Smog Tank-4 
 
Xeno Mothership-1 
 
Apex-1(2) 
 
Octane-1

,然後將其保存爲playername。

請幫忙嗎?

+1

你有一個水晶球,我們可以用它來確定玩家的名字嗎? – dbenham

+0

玩家的名字將是.csv文件的最後一行,或者我可以將其作爲第一行....對不起,沒有說明。 – Battletroll

回答

1
@ECHO OFF 
SETLOCAL 
SET "sourcedir=U:\sourcedir\t w o" 
FOR %%a IN ("%sourcedir%\*.csv") DO (
FOR %%r IN (cdeck ocards) DO SET "%%r=" 
FOR /f "usebackqskip=1delims=" %%r IN ("%%a") DO (
    IF DEFINED ocards (ECHO(%%r) ELSE (
    IF DEFINED cdeck (SET ocards=Y&ECHO(//current Deck: %%~r) ELSE (
    SET cdeck=Y 
    ) 
) 
) 
)>"%sourcedir%\%%~na.txt" 

GOTO :EOF 

由於您提供沒有線索的數據是如何被處理的,我已選擇刪除第一行,第三附加到第二,增加結腸和移除所述報價和然後再現逐字的剩下的線。

您需要更改sourcedir的設置以適合您的情況。

每個.csv文件將被加工以same name.txt