如何在路径中转义百分比符号(批处理脚本) [英] How to escape percent symbol in path (batch script)

查看:106
本文介绍了如何在路径中转义百分比符号(批处理脚本)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的脚本。我尝试了很多方法,但是无法逃脱%符号。

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆