1
試圖將34/0/2填充兩位數字至34/0/02。我的代碼是 。 意見....?如何將零填入文件內容?
@echo off
SETLOCAL enableDelayedExpansion
FOR /F "tokens=1,2,3,4,5* delims=,/" %%a IN (temp1.csv) do (
echo orig %%a/%%b/%%c,%%d,%%e
echo new %%a/%%b/%c:~-2%,%%d,%%e >> temp3.csv
)
type temp3.csv
temp1.csv文件內容
Gi-34/0/1,lpu,w-3-016ch1swA1p19_lag
Gi-34/0/10,lpu,w-3-018ch1swA2p19_lag
Gi-34/0/11,lpu,prodca1_lan_sec
Gi-34/0/12,lpu,prodca2_lan_sec
Gi-34/0/13,lpd,
Gi-34/0/14,lpd,
Gi-34/0/15,lpd,
Gi-34/0/16,lpd,
Gi-34/0/17,lpd,
Gi-34/0/18,lpu,aix_to_hmc
Gi-34/0/19,lpu,prodcafl1_lan_sec
Gi-34/0/2,lpu,w-3-016ch1swA2p19_lag
Gi-34/0/20,lpu,prodcafl2_lan_sec
您必須分配%% C到環境變量第一。在這樣做的時候,在前面添加一個零,然後在輸出變量時拉出最後兩個位置。您將需要使用延遲擴展。 – Squashman
存在2個錯誤:1.子字符串擴展語法不能用於'for'引用,所以您需要首先將其值分配給正常的環境變量;當這樣做時,請看[延期擴展](http://ss64.com/nt/delayedexpansion.html)! 2.從一位數字中提取子字符串不會創建額外的零,因此您必須提前添加前導零... – aschipfl