0
我想從一個txt列表中刪除一個文件名尤斯拖放功能,但是我不能讓我的代碼工作通過將其拖動到bat文件,刪除文件名
:delete
setlocal enableDelayedExpansion
set /p dnr=%1
find /v "!dnr!" document.txt > deleted.txt
pause
我想從一個txt列表中刪除一個文件名尤斯拖放功能,但是我不能讓我的代碼工作通過將其拖動到bat文件,刪除文件名
:delete
setlocal enableDelayedExpansion
set /p dnr=%1
find /v "!dnr!" document.txt > deleted.txt
pause
這將刪除文件您可以從文本文件(假定名稱和擴展名格式)拖放到它上面。如果是完整路徑格式,則將%%~nxa
更改爲%%a
。
:delete
setlocal enabledelayedexpansion
for /f "tokens=*" %%a in ("%1") do (
set dnr=%%~nxa
find /v "!dnr!" filenames.txt >deleted.txt
)
for /f "skip=2 tokens=* delims=" %%x in (deleted.txt) do echo %%x >>new.txt
del deleted.txt /f /q
ren new.txt deleted.txt
這工作得很好,但是deleted.txt文本文件有惱人的 ---------- C:\ FILENAMES.TXT在它開始時是有辦法剿這或擺脫它? –
我已更新我的答案以擺脫它。它只有3個額外的線路,如果他們有一個'find'開關,它不會包含它! –
哈哈我想出了完全一樣的東西:) –