我有很多文件 bmp 和 jpg,需要提取没有扩展名的文件名,在前面写一个特定的文本,在后面写一个十六进制变量,然后把它放在一个名为的文本文件中 list.txt
例如,文件是:picture1.bmp, picture2.spr,picture3.bmp
我提取没有扩展名的文本名称,在特定文本之前和提取名称之后放置一个十六进制变量,因此它在以下位置完成list.txt:
abc picture1 0x7f020000
abc picture2 0x7f020001
abc picture3 0x7f020002
Run Code Online (Sandbox Code Playgroud)
我不知道如何写入十六进制字符串,list.txt因为我的脚本将其转换为 base10。
我的脚本创建list.txt如下:
abc picture1 2130837504
abc picture2 2130837505
abc picture3 2130837503
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的代码:
$a=".field public static final "
$b=":I = "
$c= 0x7f01ffff
Get-ChildItem -Recurse -Include *.bmp,*.spr | ForEach-Object {$a+$_.BaseName+$b+(++$c)} | Out-File list.txt
Run Code Online (Sandbox Code Playgroud)
如果您只想将十进制数(或整数类型变量)转换为十六进制字符串,可以通过以下任何一种方式完成:
"{0:X}" -f <number or variable>
[System.String]::Format("{0:X}",<number or variable>)
[System.Convert]::ToString(<number or variable>,16)
(<number>).ToString("X")
<variable>.ToString("X")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5271 次 |
| 最近记录: |