标题: [文件操作] 批处理如何在一行显示两列结果? [打印本页]
作者: leewger 时间: 2016-3-8 12:54 标题: 批处理如何在一行显示两列结果?
目录中有大概200多个SQL的MDF和LDF文件,现在要求是>>到文本文件中,每行左边是MDF文件,右边是LDF文件
输出的文件文件中- aaa.mdf aaa_log.ldf
- 35fad.mdf 35fad_log.ldf
- eeee.mdf eeee_log.ldf
复制代码
文件名都无规律
用此批处理- for %%i in (*.a) do @echo %%~nxi >>n.txt
复制代码
达不到我的要求
请指教
作者: CrLf 时间: 2016-3-8 14:26
- for %%i in (*.a *.b) do @echo %~nxi
复制代码
作者: ivor 时间: 2016-3-8 15:56
回复 1# leewger
powershell:- dir *.[ab] | ?{write-host $_.name ' ' -nonewline}
复制代码
作者: leewger 时间: 2016-3-8 20:28
本帖最后由 leewger 于 2016-3-8 20:30 编辑
回复 leewger
你的%~nxi写错了。记住两个%%号
一、如果你总共只有2个.a .b文件,只要求一行显示完,可以 ...
happy886rr 发表于 2016-3-8 13:56
我描述的不清楚,sorry
目录中有大概200多个SQL的MDF和LDF文件,现在要求是>>到文本文件中,每行左边是MDF文件,右边是LDF文件
输出的文件文件中
aaa.mdf aaa_log.ldf
35fad.mdf 35fad_log.ldf
eeee.mdf eeee_log.ldf
文件名没有规律
试了你两个批处理,不能输出我要求的
作者: leewger 时间: 2016-3-8 20:29
CrLf 发表于 2016-3-8 14:26
我之前也是用这个批处理,输出的不在一行里
作者: happy886rr 时间: 2016-3-8 22:37
回复 5# leewger
我的第二个已经完全实现了你的功能了,只是你不会用。你描述的是.a .b扩展名。所以我按.a.b去写的。如果你只是sql,那改下扩展名就可以了。我已经改了扩展名为mssql数据库日志和库文件扩展名,你直接复制就可以用了。别说几百个,上万个都可以列出来。还能显示库文件是否空缺。- @echo off
- setlocal enabledelayedexpansion
- echo MSSQL SERVER>list.txt
- echo ---------------------------------------------->>list.txt
- echo ^*库文件 日志文件 >>list.txt
- echo ---------------------------------------------->>list.txt
- set i=0
- (for %%a in (*.mdf) do (
- set /a i+=1
- set /p =%%~nxa <nul
- set j=0
- for %%b in (*.ldf) do (
- set /a j+=1
- if !j! equ !i! (set /p =%%~nxb <nul)
- )
- echo.
- ))>>list.txt
- if !j! gtr !i! (
- set j=0
- for %%b in (*.ldf) do (
- set /a j+=1
- if !j! gtr !i! (echo 空缺 %%~nxb >>list.txt)
- )
- )
- start list.txt
复制代码
效果图
作者: codegay 时间: 2016-3-8 23:12
要求一一对应?
作者: happy886rr 时间: 2016-3-8 23:19
回复 5# leewger
我模拟了200多个库文件。无一差错,名字非常怪,都100%匹配.
上图
作者: codegay 时间: 2016-3-8 23:24
回复 9# happy886rr
您看清楚我是谁了吗
作者: happy886rr 时间: 2016-3-8 23:33
回复 10# codegay
抱歉,我还以为是他回的。头像都差不多,不过总算见到几个人啊!还以为这论坛是古董了
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |