我尝试制作拖放批处理文件。
我遇到的问题是文件存在,但批处理文件找不到它......
我想将.png
个文件(如pict_2013020808172137243.png
)复制到另一个文件夹并重命名。
在路径中有像_
和空格这样的符号,我也不知道如何进行多次拖放以制作相同的功能(重命名并添加到.zip
)。
我尝试过但没有结果:(
@ECHO OFF
ECHO %1
COPY "%1" "%CD%\test\" /Y /S
REN "%CD%\mob\*.png" "%CD%\test\test.png"
7za u -tzip "%appdata%\.virto\pack.zip" "test" -r
答案 0 :(得分:40)
拖动&对批处理文件执行drop是很糟糕的
如果存在空格,则引用名称,但如果找到特殊字符则不引用,如&,;^
仅对于文件名中的空格,您需要稍微更改一下代码。
@ECHO OFF
ECHO "%~1"
COPY "%~1" "%CD%\test\" /Y /S
REN "%CD%\mob\*.png" "%CD%\test\test.png"
7za u -tzip "%appdata%\.virto\pack.zip" "test" -r
%~1
总是扩展为不带引号的版本,因此可以始终以安全的方式引用它们。
"c:\Docs and sets" -> %~1 -> c:\Docs and sets -> "%~1" -> "c:\Docs and sets"
c:\Programs -> %~1 -> c:\Programs -> "%~1" -> "c:\Programs"