[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

【已解决】【30元红包】-生成UUID

本帖最后由 linfeng_321 于 2022-3-23 14:32 编辑

写两个bat文件
-------------------------
脚本里路径变量:
$txtfile=".\文档\文件.txt";
$uuidfile=".\随机UUID\uuid.txt";
-------------------------
pwsh脚本:[System.Guid]::NewGuid().ToString("N").toUpper()
结果格式:8A320F5EBB8944A1A2447D1448B7DABE
-------------------------
1.bat
查找".\随机UUID\uuid.txt"是否有值:
有值时,直接复制到“文件\文件.txt”里@uuid@=。
没值时,“文件\文件.txt”里@uuid@=,生成新的uuid。
结果为:@uuid@=8A320F5EBB8944A1A2447D1448B7DABE

2.bat
“文件\文件.txt”里@uuid@=,等于号后没值时,生成新的uuid。有值时,不改变现有的uuid值。
结果为:@uuid@=8A320F5EBB8944A1A2447D1448B7DABE

2
  1. <# :
  2. cls&echo off&cd /d "%~dp0"&rem 编码ANSI
  3. powershell -NoProfile -ExecutionPolicy bypass "[IO.File]::ReadAllText(\"%~f0\",[Text.Encoding]::GetEncoding('GB2312'))|Invoke-Expression"
  4. pause
  5. exit
  6. #>
  7. $txtfile=".\文档\文件.txt";
  8. if(-not (test-path -literal $txtfile)){write-host ('"'+$txtfile+'" 未找到');exit;}
  9. $enc=[Text.Encoding]::GetEncoding('GB2312');
  10. $text=[IO.File]::ReadAllText($txtfile, $enc);
  11. $m=[regex]::match($text, '(@uuid@=)[^\s]+');
  12. if(-not $m.Success){
  13.     $uuid=[System.Guid]::NewGuid().ToString("N").toUpper()
  14.     $text=[regex]::replace($text, '@uuid@=', {
  15.         param($m);
  16.         $m.groups[0].value+$uuid;
  17.     });
  18.     [IO.File]::WriteAllText($txtfile, $text, $enc);
  19. }
复制代码
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

本帖最后由 zaqmlp 于 2022-3-23 20:02 编辑

1
  1. <# :
  2. cls&echo off&cd /d "%~dp0"&rem 编码ANSI
  3. powershell -NoProfile -ExecutionPolicy bypass "[IO.File]::ReadAllText(\"%~f0\",[Text.Encoding]::GetEncoding('GB2312'))|Invoke-Expression"
  4. pause
  5. exit
  6. #>
  7. $txtfile=".\文档\文件.txt";
  8. $uuidfile=".\随机UUID\uuid.txt";
  9. if(-not (test-path -literal $txtfile)){write-host ('"'+$txtfile+'" 未找到');exit;}
  10. $enc=[Text.Encoding]::GetEncoding('GB2312');
  11. $uuid='';
  12. if(test-path -literal $uuidfile){
  13.     $text=[IO.File]::ReadAllText($uuidfile, $enc);
  14.     $m=[regex]::match($text, '(?i)[\dA-F]{10,}');
  15.     if($m.Success){$uuid=$m.groups[0].value;}
  16. }
  17. if($uuid -eq ''){$uuid=[System.Guid]::NewGuid().ToString("N").toUpper();}
  18. $text=[IO.File]::ReadAllText($txtfile, $enc);
  19. $text=[regex]::replace($text, '(@uuid@=)[^\r\n]*', {
  20.     param($m);
  21.     $m.groups[1].value+$uuid;
  22. });
  23. [IO.File]::WriteAllText($txtfile, $text, $enc);
复制代码
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

回复 2# Batcher


大佬".\文档\文件.txt",保留现有txt文件格式
  1. ;编码ANSI/GB2312
  2. @uuid@=
  3. @2@=
  4. @1@=
  5. @33@=
  6. @44@=
复制代码

TOP

回复 1# linfeng_321


2.bat
  1. @echo off
  2. cd /d "%~dp0"
  3. set "txtfile=文档\文件.txt"
  4. findstr "@uuid@=[0-9a-zA-Z]" "%txtfile%" >nul
  5. if errorlevel 1 (
  6.     for /f %%i in ('powershell -c "[System.Guid]::NewGuid().ToString('N').toUpper()"') do (
  7.         >"%txtfile%" echo @uuid@=%%i
  8.     )
  9. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 1# linfeng_321


1.bat
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. cd /d "%~dp0"
  4. set "txtfile=文档\文件.txt"
  5. set "uuidfile=随机UUID\uuid.txt"
  6. findstr "[0-9a-zA-Z]" "%uuidfile%" >nul
  7. if errorlevel 1 (
  8.     for /f %%i in ('powershell -c "[System.Guid]::NewGuid().ToString('N').toUpper()"') do (
  9.         >"%txtfile%" echo @uuid@=%%i
  10.     )
  11. ) else (
  12.     set /p str=<"%uuidfile%"
  13.     >"%txtfile%" echo @uuid@=!str!
  14. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表