输出:
test\sunDir\1test.txt
test\2test.txt作者: htysm 时间: 2006-6-24 10:30 dir /s /o *.* >> file.txt作者: bagpipe 时间: 2006-6-24 10:53 for /r %a in (*) do @echo %~pnxa作者: 不得不爱 时间: 2006-6-24 11:08 dir /s/b作者: 不得不爱 时间: 2006-6-24 12:13 —————————————————版务记录—————————————————
执行:qwe1234567
说明:同样的内容发表不同的主题
操作:合并主题《DOS學習入門 & 精彩文章 (教學室)>输出本目录下的所有文件》与1,4,5楼
处罚:扣除因多发主题所得6分积分,并处罚2分积分
提示:请不要1个同样的内容发表不同的主题或者同样的主题!
—————————————————版务记录————————————————作者: qdcr 时间: 2006-6-24 13:10 to qwe1234567版主: 接受处罚,呵呵
另外, 尝试了一些dir /s /b,是可以输出本目录下所有文件。
但输出的是绝对路径,而希望得到的是相对路径。
To bagpipe:
您给的这条命令好像只是将盘符忽略掉。
如果是三级目录:
c:\first_level
----------test
-------name
----a.bmp
-------b.bmp
而只想输出test目录下的文件:
test\name\a.bmp
test\b.bmp
谢谢作者: bagpipe 时间: 2006-6-24 14:49 for %a in (C:\TEST\*.*) do @echo %~pnxa
我觉得楼主够懒的,不能自己好好看一下,就等着别人来解答,唉作者: qdcr 时间: 2006-6-26 13:55 to bagpipe:
用for %a in (C:\TEST\*.*) do @echo %~pnxa还是不能达到要求。
如上面所讲,
如果是三级目录:
c:\first_level
----------test
-------name
----a.bmp
-------b.bmp
而只想输出test目录下的文件:
test\name\a.bmp
test\b.bmp
,
使用for %a in (C:\TEST\*.*) do @echo %~pnxa,则输出
first_level\test\name\a.bmp
first_level\test\b.bmp
btw:刚入门学批处理,有些浮躁,谢谢大家的帮助作者: willsort 时间: 2006-6-26 14:07 Re qdcr:
请参考以下链接中10楼和11楼的方案:
[1] [已结]如何获得文件的上一层目录名字 http://www.cn-dos.net/forum/viewthread.php?tid=19925#pid117288作者: qdcr 时间: 2006-6-26 15:42 to willsort版主:
really pretty good :)
谢谢,使用如下的code
@echo off & setlocal EnableDelayedExpansion
for /f "delims=" %%i in ('"dir /a/s/b/on *.*"') do (
set file=%%~fi
set file=!file:%cd%\=!
set file=!file:\=/!
echo !file! >> 内容.txt
)
可以将所有文件相对于搜索路径(当前目录)的相对路径输出,但是也同时将所有目录进行输出了。
判断是否存在目录: if exist "%~f1\" ...
判断是否存在文件: if exist "%~f1" if not exist "%~f1\"...
写了如下的批处理:文件列表输出至file.txt,目录列表输出至directory.txt
@echo off
::for /r /d %%d in (*.*) do if exist "%%d\*.*" echo %%d >>content.txt
for /f %%i in ('"dir /a /s /b *.*"') do call :next "%%i"
pause
goto :eof
:next
set jpg=%1
set cd1=%cd:\=/%
set jpg=%jpg:\=/%
rem echo %%jpg:%cd1%=%% | findstr .
for /f %%j in ('"echo %%jpg:%cd1%=%% | findstr . "') do set last=%%j
set last=%last:"=%
call :checkFD %last%
echo %last% >> content.txt
goto :eof
:checkFD
if exist "%~f1\" echo %1>>directory.txt
if exist "%~f1" if not exist "%~f1\" echo %1>>file.txt
goto :EOF
问题:
在file.txt 还有directory.txt中只有一行记录。
检查了几遍code,觉得没有问题啊。请教作者: willsort 时间: 2006-6-27 01:07 Re qdcr: