嗯......我嘗試儘可能少地嘗試批處理,而且我主要是C/C#/ C++的人。我的問題是我的腳本做兩個嵌套FOR那兒的「用戶」文件夾中運行第一和抽絲的用戶名環路,然後通過其他文件夾:批處理腳本變量不能正常工作
set BaseDir=%CD%
cd C:\Users
for /F %%I in ('DIR *.* /B /O:-D') do (
set UserName=%%I
echo %UserName%
)
cd %BaseDir%
這大致說明了問題。也許這是我的C++風格格式?也許我在批處理時很笨拙?假設我有3個用戶在我的系統(管理員,用戶1,用戶2,按照這個順序),這將打印:
Admin
Admin
Admin
托特錯誤。作爲變量去,或者這是怎麼回事
Admin
User1
User2
我在這裏失去了一些東西遠:如果一個人打電話給迴音就%%我一切都會按計劃進行? DOS不喜歡變量重新分配? Thnx提前。 (規格:Windows 7中,記事本,在cmd爲管理員)
您可能與預定義的用戶名變量發生衝突。如果將該變量從UserName更改爲UserName2(或類似) – billinkc
Wut會發生什麼?我其實只是解決了我的問題* facepalm *。解決方案是[「難以捉摸」](http://blog.crankybit.com/why-that-batch-for-loop-isnt-working/)。一個人必須設置延遲擴展...基本上,就像我們回到1969年... – user850275
我相信我說我的頭回答心靈感應,當我打字我的答案0.o – Mechaflash