标题: [文本处理] 【已解决】求一键调整域名顺序的bat命令 [打印本页]
作者: zhuan1688 时间: 2022-3-17 15:41 标题: 【已解决】求一键调整域名顺序的bat命令
本帖最后由 zhuan1688 于 2022-3-18 09:26 编辑
谢谢各位老师指教,for_flr老师的代码经过5i365老师精简,速度超级快再次感谢各位老师
有一个TXT文档,里面有N个域名,一行一个,但都是反向域名,求一个bat,一键将这些反向域名调整成正常域名。
如:
net.A1
cn.com.A2
be.A3
kr.co.A4
uk.gov.A5
变成
A1.net
A2.com.cn
A3.be
A4.co.kr
A5.gov.uk
有些是com这样的国际域名,有些是com.cn这样的国别域名,格式不统一。
不知能否实现,恳请各位老师指教,无比感激
作者: Batcher 时间: 2022-3-17 16:26
回复 1# zhuan1688
最多只有两个点是吗?
作者: zhuan1688 时间: 2022-3-17 16:29
本帖最后由 zhuan1688 于 2022-3-17 16:32 编辑
回复 zhuan1688
最多只有两个点是吗?
Batcher 发表于 2022-3-17 16:26
您好,管理员大大,最多三个.,如果三个点不好处理,两个点的也行,我把三个点的数据剔除
作者: for_flr 时间: 2022-3-17 16:44
本帖最后由 for_flr 于 2022-3-17 16:58 编辑
- #@&cls&powershell "gc '%~0'|out-string|iex"&pause&exit /b"
- foreach($line in gc a.txt){
- $x=@()
- $s=$line.split('.')
- ($s.count-1)..0|%{
- $x+=$s[$_]
- if($_ -eq 0){$x -join '.' |tee new_a.txt -append}
- }
- }
复制代码
作者: qixiaobin0715 时间: 2022-3-17 16:51
本帖最后由 qixiaobin0715 于 2022-3-18 12:03 编辑
!!!!!!
作者: 5i365 时间: 2022-3-17 17:14
本帖最后由 5i365 于 2022-3-17 17:16 编辑
回复 4# for_flr
感谢大侠分享, 我精简了一下- #@&cls&powershell "gc '%~0'|out-string|iex"&pause&exit
- foreach ($line in gc a.txt)
- {
- $x = @()
- $s = $line.split('.')
- ($s.count - 1) .. 0 | %{
- $x += $s[$_]
- }
- $x -join '.' >>ok.txt
- }
复制代码
作者: 5i365 时间: 2022-3-17 17:56
回复 4# for_flr
大侠好, 我又精简了一下, 现在相对好理解一些了,- #@&cls&powershell "gc '%~0'|out-string|iex"&pause&exit
- foreach ($line in gc a.txt)
- {
- $x = @()
- $s = $line.split('.')
- $x += $s[($s.count - 1) .. 0]
- $x -join '.' >>ok.txt
- }
复制代码
作者: 5i365 时间: 2022-3-17 18:01
本帖最后由 5i365 于 2022-3-17 18:03 编辑
回复 4# for_flr
又精简了一下, 这次应该是极致精简了 - #@&cls&powershell "gc %~s0|out-string|iex"&pause&exit
- gc a.txt |
- %{
- $x = @()
- $s = $_.split('.')
- $x += $s[($s.count - 1) .. 0]
- $x -join '.' >>ok.txt
- }
复制代码
作者: Batcher 时间: 2022-3-18 13:30
回复 3# zhuan1688
处理一到三个点的情况,纯BAT不调用PowerShell或其他脚本:- @echo off
- cd /d "%~dp0"
- (for /f "tokens=1-4 delims=." %%a in ('type "1.txt"') do (
- if "%%d" neq "" (
- set /p =%%d.<nul
- )
- if "%%c" neq "" (
- set /p =%%c.<nul
- )
- echo,%%b.%%a
- ))>"2.txt"
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |