這可能看起來很基本,但是有沒有辦法創建批處理以從字符串中刪除字符從txt文件。 ?批處理從字符串中刪除字符
如果我已經有此.txt文件內
2005060.png
2005070.png
2005080.png
2005090.png
那麼有沒有一種方式來創建一個批處理文件,將在年底卸下巴紐只有這表明一個新的.txt文件
2005060
2005070
2005080
2005090
感謝您的任何幫助! :)
這可能看起來很基本,但是有沒有辦法創建批處理以從字符串中刪除字符從txt文件。 ?批處理從字符串中刪除字符
如果我已經有此.txt文件內
2005060.png
2005070.png
2005080.png
2005090.png
那麼有沒有一種方式來創建一個批處理文件,將在年底卸下巴紐只有這表明一個新的.txt文件
2005060
2005070
2005080
2005090
感謝您的任何幫助! :)
你可以做到這一點按下面的命令腳本:
@setlocal enableextensions enabledelayedexpansion
@echo off
set variable=2005060.png
echo !variable!
if "x!variable:~-4!"=="x.png" (
set variable=!variable:~0,-4!
)
echo !variable!
endlocal
此輸出:
2005060.png
2005060
的魔線,當然是:
set variable=!variable:~0,-4!
這刪除了最後四個字符。
如果你有一個文件testprog.in
用線它,它,如:
2005060.png
1 2 3 4 5 leave this line alone.
2005070.png
2005080.png
2005090.png
您可以使用稍微修改:
@setlocal enableextensions enabledelayedexpansion
@echo off
for /f "delims=" %%a in (testprog.in) do (
set variable=%%a
if "x!variable:~-4!"=="x.png" (
set variable=!variable:~0,-4!
)
echo.!variable!
)
endlocal
,輸出:
2005060
1 2 3 4 5 leave this line alone.
2005070
2005080
2005090
請記住它將不會輸出空行(儘管它將做空行的行)。
根據輸入文件允許的內容,這可能不是問題。如果這是一個問題,我的建議是讓你的手CygWin或GnuWin32(或Powershell,如果你在你的平臺上),並使用一些真正的腳本語言。
只是試過它沒有問題,它運行。再次感謝!!! – steven 2010-09-17 06:46:43
@steven,那麼你應該接受答案。 – 2010-09-17 16:18:08
如果您試圖讀取.png文件的目錄並輸出沒有擴展名的列表? 試試這個:
@echo off
echo. > testprog.txt
for /R "C:\Users\%USERNAME%\Documents" %%f in (*.png) do (
echo %%~nf >> testprog.txt
)
start testprog.txt
非常感謝。奇蹟般有效。 – knkarthick24 2015-01-13 05:11:43
什麼平臺?視窗?如果是這樣,你是否安裝了PowerShell? – 2010-09-17 05:58:48
我在Windows平臺 – steven 2010-09-17 06:26:14