如何在路径中转义百分比符号(批处理脚本) [英] How to escape percent symbol in path (batch script)
本文介绍了如何在路径中转义百分比符号(批处理脚本)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我的脚本。我尝试了很多方法,但是无法逃脱%符号。
This is my script. I tried many ways, but can't escape % symbol.
@ECHO off
SETLOCAL DisableDELAYEDEXPANSION
CHCP 65001 >NUL
:start
set Input="C:\Transcode\ABC! code's 30% Special"
set Output="C:\Batch Script\DST&2"
REM set /p Input="Enter source folder link: "
REM set /p Output="Enter destination folder link: "
set "SRC=%Input:"=%"
set "DST=%Output:"=%"
FOR /F "delims=" %%a IN ('DIR /b /s /a-d "%SRC%"') DO (
call :mklink "%%a" "%%~na" "%%~xa" "%DST%"
)
Goto :EOF
:mklink
Set "FILENAME=%~2"
Set "FILENAME=%FILENAME: =_%"
Set "FILENAME=%FILENAME:-=_%"
for %%b in ("%FILENAME:_=" "%") do (
Echo %%b | FindStr /IRC:"wjpg" >Nul && (
IF exist "%~4\ABC\%%~b%~3" del "%~4\ABC\%%~b%~3"
ECHO mklink "%~4\ABC\%%~b%~3" "%~1" >> "%~4\log.txt" 2>&1
mklink "%~4\ABC\%%~b%~3" "%~1"
)
)
Goto :EOF
注意:路径不能更改(不添加或删除字符)
Attention: path can not change (don't add or remove character)
推荐答案
在常规Windows批处理文件中,可以使用以下两个来对字符串中的%
进行转义:
In a regular Windows batch file, you can escape a %
in a string by using two of them:
set "Input=C:\Transcode\ABC! code's 30%% Special"
如果需要双引号作为字符串的一部分,则在包含双引号时引用变量:%Input%
。
If you need double quotes as part of the string, then include them when referencing the variable: "%Input%"
.
这篇关于如何在路径中转义百分比符号(批处理脚本)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文