gpt4 book ai didi

windows - 如何将任意字符串回显到批处理文件?

转载 作者:可可西里 更新时间:2023-11-01 10:01:12 25 4
gpt4 key购买 nike

我有一个批处理文件,它(简化后)看起来像这样:

@Echo Off
SetLocal EnableDelayedExpansion
MD "MyProgram^!"
MD "MyProgram version 2"
MD "MyProgram (next version)"
MD "MyProgram O&O"

Del Folders.txt
Call :AddFoldersRecursive .
EndLocal
Goto :EOF

:AddFoldersRecursive FolderPath
Echo %~1>>Folders.txt
For /D %%f In ("%~1\*") Do Call :AddFoldersRecursive "%%~f"
Goto :EOF

在不同情况下面对不同类型的文件名时会出现各种错误:

  • MyProgram 版本 2 无法回显,因为 2>>> 被错误解释。
  • MyProgram (next version) 无法回显,因为括号必须被 ^ 转义。
  • MyProgram O&O 无法回显,因为 & 符号
  • MyProgram! 无法回显,因为 ! 符号

是否有适用于所有此类情况(包括组合和嵌套等)的解决方案?

(ASCII 很好——我现在不需要 Unicode 支持。)

最佳答案

编辑:取 2...

For /D %%f In (*) Do (
Set "Text=%%~dpnxf"
SetLocal EnableDelayedExpansion
Echo.!Text!>>files.txt
EndLocal
)

关于windows - 如何将任意字符串回显到批处理文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7225724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com