DOS脚本,编程的高手过来看看?200金币奉上!
发布网友
发布时间:2022-06-06 09:19
我来回答
共4个回答
热心网友
时间:2023-10-08 18:03
这里给出bat批处理的方案,lz可以试一下,有问题再追问吧。
@echo off & setlocal enabledelayedexpansion
set "_strlen=set ##=&(for %%a in (2048 1024 512 256 128 64 32 16)do if ^!$:~%%a^!. NEQ . set/a##+=%%a&set $=^!$:~%%a^!)&set $=^!$^!
fedcba9876543210&set/a##+=0x^!$:~16,1^!"
for /f "delims=" %%a in (1.txt) do (
set "str=%%a"
if "!str:/=!" NEQ "!str!" (
set "$=%%~nxa#"
%_strlen%
for %%b in (!##!) do echo,%%~nxa!str:~,-%%b!>>2.txt
) else for /f "tokens=1*delims=\" %%b in ("%%a") do (
echo,\%%c%%b>>2.txt
)
)
sort 2.txt>1.txt&del 2.txt
提供第二种方案,这个可能更能看的清楚一些
@echo off&setlocal enabledelayedexpansion
set "_strlen=set ##=&(for %%a in (2048 1024 512 256 128 64 32 16)do if ^!$:~%%a^!. NEQ . set/a##+=%%a&set $=^!$:~%%a^!)&set $=^!$^!
fedcba9876543210&set/a##+=0x^!$:~16,1^!"
for /f "delims=" %%a in (1.txt) do (
set "str=%%a"
if "!str:/=!" NEQ "!str!" (
call :Lp "%%a"
) else (
for /f "tokens=1* delims=\" %%a in ("!str!") do (
echo \%%b%%a>>2.txt
)
)
)
pause & exit/b
:Lp
for /f "tokens=1* delims=/" %%a in ("%~1") do (
if "%%b" NEQ "" (
call :Lp "%%b"
) else (
set "ln=%%a"
set "$=%%a#"
(%_strlen%)
for %%a in (!##!) do echo !ln!!str:~0,-%%a!>>2.txt
)
)
sort 2.txt>1.txt&del 2.txt
热心网友
时间:2023-10-08 18:03
下面代码复制到一个文本文件,重命名为1.vbs,和1.txt放在一个目录,双击即可执行,测试通过。
Dim s, i, j
Dim fs, ts
Dim c
Set fs = CreateObject("Scripting.FileSystemObject")
Set ts = fs.OpenTextFile("1.txt")
s = ts.ReadAll
ts.Close
c = Split(s, vbCrLf)
For i = 0 To UBound(c)
If c(i) <> "" Then
j = InStrRev(c(i), "\")
If j = 0 Then j = InStrRev(c(i), "/")
If j > 0 Then c(i) = Right(c(i), Len(c(i)) - j) & vbTab & Left(c(i), j)
End If
Next
Set ts = fs.CreateTextFile("1.txt")
For i = 0 To UBound(c)
If c(i) <> "" Then ts.WriteLine c(i)
Next
ts.Close
Set ts = Nothing
Set fs = Nothing
热心网友
时间:2023-10-08 18:04
别急着采纳别人的,先试试我的再做决定。如果有其他的需求的话,可以私信我,能帮的我尽量帮。
给你写了一个Python脚本,在使用脚本前你需要先下载安装python3,下载链接和注意事项都在脚本中说明了。py文件可以用记事本打开。
热心网友
时间:2023-10-08 18:04
我学的是java。追问哦!在Window上可以执行吗?你能写出来吗?