![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-09 19:41 |
共 47,811 主题排行 / 349,896 发帖 / 今日 1 篇 / 48,254 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]用批处理从文本提取文件名并删除 |
| 可打印版本 980 / 11 |
| 第1楼 fitchson | 发表于 2008-09-19 13:37 |
| 新手上路 发帖 7 积分 16 | |
|
[求助]用批处理从文本提取文件名并删除 我想實現在一個txt(比如a.txt)里輸入文件名(比如A8012.exe),我要在指定的一個總目錄(總目錄下還有很多文件夾及子文件夾)下(比如C:\test),調用a.txt并刪除裡面寫的A8012.EXE這個文件,該怎么寫批處理啊?
比如在a.txt里輸入了 A8012.exe 然後此文件在c:\test\test2\A8012.exe,那么我就要刪除此A8012.EXE 也有可能在c:\test\test1\下也有這個文件名,則都要刪除。請問各位大大,這個怎么寫啊?如果在a.txt输入的是一个文件夹名,则将对总目录下的同此文件夹删除。 [ Last edited by fitchson on 2008-9-19 at 01:39 PM ] |
|
| 第2楼 HAT | 发表于 2008-09-19 13:42 |
| 版主 发帖 5,017 积分 9,023 | |
| 第3楼 HAT | 发表于 2008-09-19 13:45 |
| 版主 发帖 5,017 积分 9,023 | |
|
要求变的真快,又加了文件夹。
|
|
| 第4楼 fitchson | 发表于 2008-09-19 13:51 |
| 新手上路 发帖 7 积分 16 | |
|
謝謝您 HAT 謝謝 HAT
可以刪除文件,如果輸入的是一個文件夾名,要刪除此文件夾及其子文件夾該怎么辦? 另外可否記錄當前時間下來,因為我想做一個刪除的記錄,要查看什麽時候刪除了什麽文件的動作,可以嗎?再次謝謝您! [ Last edited by fitchson on 2008-9-19 at 01:57 PM ] |
|
| 第5楼 HAT | 发表于 2008-09-19 14:05 |
| 版主 发帖 5,017 积分 9,023 | |
|
Re 4楼 |
|
| 第6楼 fitchson | 发表于 2008-09-19 14:08 |
| 新手上路 发帖 7 积分 16 | |
|
太感謝你了,HAT!!!
|
|
| 第7楼 fitchson | 发表于 2008-09-19 16:36 |
| 新手上路 发帖 7 积分 16 | |
|
Hello HAT,好像日誌沒有寫入到a.log啊?
|
|
| 第8楼 HAT | 发表于 2008-09-19 16:50 |
| 版主 发帖 5,017 积分 9,023 | |
|
a.txt的内容是什么?路径是什么?
你的批处理内容是什么?路径是什么? |
|
| 第9楼 fitchson | 发表于 2008-09-19 17:19 |
| 新手上路 发帖 7 积分 16 | |
|
HAT,這一句 del /q /f "%%a">>"C:\test\a.log" 2>nul 是不是把日誌記錄寫入到a.log里,但是 我執行成功了以後,a.log卻是0kb,為空
|
|
| 第10楼 HAT | 发表于 2008-09-19 17:28 |
| 版主 发帖 5,017 积分 9,023 | |
| 第11楼 fitchson | 发表于 2008-09-19 18:21 |
| 新手上路 发帖 7 积分 16 | |
|
HAT大哥:
還要麻煩你一下。我現在測試的文件是c:\test\2\2.txt,我在a.txt里也輸入了2.txt 執行了bat以後,a.log里記錄的日誌是如下內容及格式: C:\test\2.txt C:\test\2\2.txt.C:\test\2.txt 這是怎么回事啊? |
|
| 第12楼 fitchson | 发表于 2008-09-19 19:11 |
| 新手上路 发帖 7 积分 16 | |
|
HAT大哥:分享一下,我研究的結果,呵呵:
@echo off echo =========================================================== >> C:\test\a.log set DATET=%date% %time% echo 程序開始運行,時間:%DATET% >> C:\test\a.log set /p file=<"C:\test\a.txt" for /r "C:\test" %%a in (%file%) do ( if exist %%a ( del /q /f "%%a" 2>nul rd /q /s "%%a" 2>nul echo.%%a >>"C:\test\a.log" ) ) echo 程序運行結束,時間:%DATET% >> C:\test\a.log echo =========================================================== >> C:\test\a.log |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |