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

回复 7# BingjianREMIX


   改成 if defined a 就不用(未定义跳到for的末尾了,或者跳到for外面)

要开延迟变量
bat小白,请多指教!谢谢!

TOP

回复 10# LTSC1809


   在括号内set /p 赋值,后面要用到,得开延迟变量
bat小白,请多指教!谢谢!

TOP

回复 13# LTSC1809


  
  1. for %%i in (11.ogg,13.ogg,mall.ogg,mellohi.ogg,far.ogg,stal.ogg,ward.ogg,strad.ogg,chirp.ogg,cat.ogg,wait.ogg,blocks.ogg) do (
  2. setlocal enabledelayedexpansion
  3. set /p fill_name=请拖入音频文件(.ogg)不需要的请留空:
  4. if defined fill_name (
  5. copy !fill_name! "%~1\assets\minecraft\sounds\records\"
  6. for %%I in (!fill_name!) do (
  7. set "ab=%%~nI"
  8. )
  9. ren "%~1\assets\minecraft\sounds\records\!ab!" "%%i"
  10. >>"%cd%\od.txt" echo !fill_name!
  11. )
  12. endlocal
  13. )
复制代码
set ab=%%~nI ,这是另外的文件还是set /p 的文件?nxI?
bat小白,请多指教!谢谢!

TOP

回复 17# LTSC1809


  
用15楼代码试一下。
没看懂你说的,是不是set /p 的文件,如果是就改为nxI。
延迟变量在for里面和外面作用有一些差别,可以看下教程。

如果是,改成这样直接点
  1. if defined fill_name (
  2. copy /y !fill_name! "%~1\assets\minecraft\sounds\records\%%i"
  3. >>"%cd%\od.txt" echo !fill_name!
  4. )
复制代码
bat小白,请多指教!谢谢!

TOP

回复 20# LTSC1809


  
  1. for %%i in (11.ogg,13.ogg,mall.ogg,mellohi.ogg,far.ogg,stal.ogg,ward.ogg,strad.ogg,chirp.ogg,cat.ogg,wait.ogg,blocks.ogg) do (
  2. setlocal enabledelayedexpansion
  3. set /p fill_name=请拖入音频文件(.ogg)不需要的请留空:
  4. if defined fill_name (
  5. if not exist "%~1\assets\minecraft\sounds\records\" (
  6. echo md "%~1\assets\minecraft\sounds\records\"
  7. md "%~1\assets\minecraft\sounds\records\"
  8. )
  9. echo copy /y !fill_name! "%~1\assets\minecraft\sounds\records\%%i"
  10. copy /y !fill_name! "%~1\assets\minecraft\sounds\records\%%i"
  11. >>"%cd%\od.txt" echo !fill_name!
  12. )
  13. endlocal
  14. )
复制代码
bat小白,请多指教!谢谢!

TOP

回复 26# LTSC1809


   查错用的,没有错误可以删掉echo 的整行。
bat小白,请多指教!谢谢!

TOP

返回列表