set "zip_file=%~n1.zip"是什么意思
时间: 2024-04-04 09:31:01 浏览: 29
这也是一个批处理脚本中的命令,它的作用是将脚本的第一个参数(即 %1)的文件名(不包括扩展名)赋值给一个名为 zip_file 的变量,并且在文件名后面添加 .zip 扩展名,最终得到一个完整的压缩文件名。其中,%~n1 表示取参数 %1 的文件名部分,不包括扩展名。例如,如果脚本中执行了 set "zip_file=%~n1.zip" 命令,且传入的参数为 myfolder,那么 zip_file 变量的值将会是 myfolder.zip。这个命令通常用于批处理脚本中,以便在进行文件操作时可以自动创建压缩文件并命名。
相关问题
@echo off set EXE_NAME=zerotier-one_x64.exe set MOONS_DIR=C:\ProgramData\ZeroTier\One\moons.d set MOON_FILE=00000085dd33b781.moon set DRIVE_NAME=Z: set DRIVE_PATH=\\10.244.240.49\sese set USERNAME=1 set PASSWORD= echo Installing %EXE_NAME%... start /wait %EXE_NAME% /S echo Creating %MOONS_DIR% directory... mkdir %MOONS_DIR% echo Copying %MOON_FILE% to %MOONS_DIR%... copy "%~dp0%MOON_FILE%" "%MOONS_DIR%" echo Restarting ZeroTier One service... net stop zerotier-one net start zerotier-one echo Mapping %DRIVE_PATH% to %DRIVE_NAME%... net use %DRIVE_NAME% %DRIVE_PATH% /user:%USERNAME% %PASSWORD%
好的,以下是修改后的脚本,你可以测试一下:
@echo off
set EXE_NAME=zerotier-one_x64.exe
set MOONS_DIR=C:\ProgramData\ZeroTier\One\moons.d
set MOON_FILE=00000085dd33b781.moon
set DRIVE_NAME=Z:
set DRIVE_PATH=\\10.244.240.49\sese
set USERNAME=1
set PASSWORD=
echo Installing %EXE_NAME%...
start /wait %EXE_NAME% /S
echo Creating %MOONS_DIR% directory...
mkdir %MOONS_DIR%
echo Copying %MOON_FILE% to %MOONS_DIR%...
copy "%~dp0%MOON_FILE%" "%MOONS_DIR%"
echo Restarting ZeroTier One service...
net stop zerotier-one
net start zerotier-one
echo Please ask the server owner for remote access permission, enter ok after you get the permission
set /p permission=
if "%permission%"=="ok" (
echo Mapping %DRIVE_PATH% to %DRIVE_NAME%...
net use %DRIVE_NAME% %DRIVE_PATH% /user:%USERNAME% %PASSWORD%
) else (
echo Cannot map network drive without permission
)
@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` 变量修改为你需要的文件类型和目标文件夹,然后保存并运行脚本即可。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)