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

TOP

回复 2# flashercs

感谢flashercs的帮助,完美实现想要的结果

TOP

刚才代码有点小错误,已重新修订。

TOP

本帖最后由 qixiaobin0715 于 2021-11-23 12:42 编辑

回复 1# alick
你应当说明最终要实现什么目的,我觉得直接修改aaa.bat即可:
  1. set /p filename=<list.txt
  2. for /f "delims=" %%a in ('dir /b /s /a-d goto3\bbb.exe') do ren "%%a" "%filename%.exe"
  3. for /f "delims=" %%i in ('dir /b /s /a-d goto3\%filename%.exe') do ...
复制代码
实际上用一个for循环也可以定位重命名后的exe文件:
  1. set /p filename=<list.txt
  2. for /f "delims=" %%a in ('dir /b /s /a-d goto3\bbb.exe') do (
  3. ren "%%a" "%filename%.exe"
  4. echo,%%~dpa%filename%.exe
  5. )
复制代码

TOP

  1. <#*,:&cls
  2. @echo off
  3. pushd "%~dp0"
  4. powershell -NoProfile -ExecutionPolicy RemoteSigned -Command ". ([ScriptBlock]::Create((Get-Content -LiteralPath \"%~0\" -ReadCount 0 | Out-String ))) "
  5. popd
  6. pause
  7. exit /b
  8. #>
  9. $txt = "list.txt"
  10. $bbb = "bbb.exe"
  11. $aaa = "aaa.bat"
  12. $arr1 = Get-Content -Path $txt -ReadCount 0
  13. $goto3 = $arr1[0] + ".exe"
  14. foreach ($item in Convert-Path -Path ".\$($arr1[0])\*\*\$bbb") {
  15.   Rename-Item -Path $item -NewName $goto3 -Force
  16. }
  17. $arr2 = Get-Content -Path $aaa -ReadCount 0
  18. $arr2 -replace 'XXX\.exe', $goto3 | Set-Content -Path $aaa
复制代码
微信:flashercs
QQ:49908356

TOP

返回列表