2013-12-16 54 views
1

我無法弄清楚如何刪除find /c命令生成的空行。我有一個整數值被輸出到一個文本文件,並在該值後有一個額外的行。自行運行find命令也會產生新行。有沒有我可以設置的一些類型的標誌來防止這種情況?如果沒有,如何刪除空行?在EOF批處理腳本中刪除空行

@echo off 
setlocal cd /D T:/Product/"Test Certificates" 
forfiles /m *.* -d 0|find /c """">"J:\scoreboard\currently_built_number.txt" 

因此,該腳本根據創建文件的時間來查看我們今天創建的產品數量。這個號碼被傳送到一個文本文件。正是在那裏,我想刪除下被輸出

+0

您應該顯示您當前的代碼數量多餘的,也許是更好地使用'findstr'這裏,避免管道 – jeb

回答

1
for /f %%f in ('forfiles /m *.* -d 0^|find /c /v ""') do (
    < nul set /p "buildNumber=%%f" >"J:\scoreboard\currently_built_number.txt" 
) 
+0

所以我是相當新的批腳本,我得到第一部分。對於從這個命令返回的文件集中的每個文件,這是這樣做的。我不明白的是'nul set/p「buildNumber - %% f」'。我知道/ p擺脫了額外的空間,但是'nul'是什麼,爲什麼你需要設置一個變量?它工作,所以我不質疑你的邏輯。只是試圖理解:) – dge888

+0

@ dge888:或多或少它的工作方式:'set/p var = prompt' + enter將輸出提示中的文本(它要求輸入數據,這就是'set/p'是什麼用於)沒有附加的'crlf'。 'nul'是一個重定向,用於向nvar輸入數據(提供'set'提示符),不返回任何內容,而是模擬輸入。提示的值(記住它是沒有'crlf'的回顯)然後用'> file'重定向到所需的值到文件中。 –