我已经寻找一种方法来传递位于字符串中的特殊字符,但找不到任何相关的东西。目前,字符串在第一个特殊字符处连接。
for /D /R "%cd%" %%d IN (*) do (call :Write_File "%%~nd")
可以使用转义字符还是我需要一个 for 循环来替换特殊字符,而另一个来替换它们?
该变量应该返回文件夹名称。它返回完整长度的字符串,除非它包含特殊字符 %、&、、、. 等,此时它将返回直到该点的所有内容。示例 B&B 返回 B,而我要求它返回 B&B。
三个示例文件夹名为:“%$”、“01, Copy”和 03&
在读取变量时回显它 (&&echo "%%~nd"): "$%", "01, Copy" 并错过第三个重命名变量中的变量 :Write_File (set "FOLDER=%~1"): "$ ", "01, 复制"
编辑澄清:
特殊字符:%、$、&、*、~ 等。
使用:当回显文件夹名称时,有时会错过特殊字符,有时会完全跳过文件夹。