set mob_model_id_a="%project_name:~0,6%"
时间: 2024-05-25 15:14:16 浏览: 15
这是一个批处理命令,将变量`project_name`的前六个字符赋值给`mob_model_id_a`变量。在批处理脚本中,`%`用于引用变量。`~0,6`表示从变量的第一个字符开始截取六个字符。因此,如果`project_name`的值为`example`, 那么`mob_model_id_a`的值将为`exampl`。
相关问题
@echo off setlocal enabledelayedexpansion set "file_type=.prt" set "target_dir=程序模型" set "source_dir=%~dp0" for /r "%source_dir%" %%i in ("%file_type%") do ( set "filename=%%~ni" set "extension=%%~xi" set "file_dir=%%~dpi" set "file_dir=!file_dir:%source_dir%=!" set "file_dir=!file_dir:~1,-1!" mkdir "%target_dir%" >nul copy /y "%%~fi" "%target_dir%!filename!!extension!" >nul ) @echo off setlocal enabledelayedexpansion set "file_type=.cxp" set "target_dir=工艺规程" set "source_dir=%~dp0" for /r "%source_dir%" %%i in ("%file_type%") do ( set "filename=%%~ni" set "extension=%%~xi" set "file_dir=%%~dpi" set "file_dir=!file_dir:%source_dir%=!" set "file_dir=!file_dir:~1,-1!" mkdir "%target_dir%" >nul copy /y "%%~fi" "%target_dir%!filename!!extension!" >nul ) @echo off setlocal enabledelayedexpansion set "file_type=.doc" set "target_dir=沟通记录" set "source_dir=%~dp0" for /r "%source_dir%" %%i in ("*%file_type%") do ( set "filename=%%~ni" set "extension=%%~xi" set "file_dir=%%~dpi" set "file_dir=!file_dir:%source_dir%=!" set "file_dir=!file_dir:~1,-1!" mkdir "%target_dir%" >nul copy /y "%%~fi" "%target_dir%!filename!!extension!" >nul ) pause把这个代码加上分别把这三个自定义的文件夹和文件移动到指定的文件夹内
这段代码可以实现将指定目录下的特定类型文件复制并粘贴到指定目录下的文件夹中,你可以根据需要修改变量来适应你的情况。以下是修改后的代码:
```batch
@echo off
setlocal enabledelayedexpansion
:: 设置文件类型和目标文件夹
set "file_type=.prt"
set "target_dir=程序模型"
set "source_dir=%~dp0"
:: 将 .prt 类型的文件复制到目标文件夹中
for /r "%source_dir%" %%i in ("%file_type%") do (
set "filename=%%~ni"
set "extension=%%~xi"
set "file_dir=%%~dpi"
set "file_dir=!file_dir:%source_dir%=!"
set "file_dir=!file_dir:~1,-1!"
mkdir "%target_dir%" >nul
copy /y "%%~fi" "%target_dir%\!filename!!extension!" >nul
)
:: 设置文件类型和目标文件夹
set "file_type=.cxp"
set "target_dir=工艺规程"
:: 将 .cxp 类型的文件复制到目标文件夹中
for /r "%source_dir%" %%i in ("%file_type%") do (
set "filename=%%~ni"
set "extension=%%~xi"
set "file_dir=%%~dpi"
set "file_dir=!file_dir:%source_dir%=!"
set "file_dir=!file_dir:~1,-1!"
mkdir "%target_dir%" >nul
copy /y "%%~fi" "%target_dir%\!filename!!extension!" >nul
)
:: 设置文件类型和目标文件夹
set "file_type=.doc"
set "target_dir=沟通记录"
:: 将 .doc 类型的文件复制到目标文件夹中
for /r "%source_dir%" %%i in ("%file_type%") do (
set "filename=%%~ni"
set "extension=%%~xi"
set "file_dir=%%~dpi"
set "file_dir=!file_dir:%source_dir%=!"
set "file_dir=!file_dir:~1,-1!"
mkdir "%target_dir%" >nul
copy /y "%%~fi" "%target_dir%\!filename!!extension!" >nul
)
pause
```
你需要将 `file_type` 和 `target_dir` 变量修改为你需要的文件类型和目标文件夹,然后保存并运行脚本即可。
@echo off set date0=%date:~0,4%%date:~5,2%%date:~8,2% set hour0=%time:~0,2% if %hour0% LSS 10 ( set hour0=0%time:~1,1% ) set minute0=%time:~3,2% set second0=%time:~6,2% set time0=%hour0%%minute0%%second0% REM echo %date0%-%time0% set %1=%date0%-%time0%
这个脚本通过获取当前日期和时间,并将其格式化为YYYYMMDD-HHMMSS的形式,然后将结果存储在传入的变量中。以下是脚本的解释:
```bat
@echo off
rem 获取当前日期,格式为YYYYMMDD
set date0=%date:~0,4%%date:~5,2%%date:~8,2%
rem 获取当前小时
set hour0=%time:~0,2%
if %hour0% LSS 10 (
set hour0=0%time:~1,1%
)
rem 获取当前分钟
set minute0=%time:~3,2%
rem 获取当前秒钟
set second0=%time:~6,2%
rem 将小时、分钟和秒钟拼接成时间字符串
set time0=%hour0%%minute0%%second0%
rem 将日期和时间字符串拼接成最终的结果,并存储在传入的变量中
set %1=%date0%-%time0%
```
你可以在其他脚本中调用这个脚本,并传入一个变量名作为参数。脚本会将格式化后的日期和时间存储在这个变量中。
示例调用脚本(call_datetime.bat):
```bat
@echo off
call datetime.bat mydatetime
echo 当前日期和时间:%mydatetime%
```
在这个示例中,我们调用了datetime.bat脚本,并传入了一个名为mydatetime的变量作为参数。脚本会将格式化后的日期和时间存储在mydatetime变量中,然后我们在脚本中输出了这个变量的值。
希望这可以帮到你!如果你有其他问题,请随时告诉我。