如何将当前目录名称查询到批处理文件的变量中

如何将当前目录名称查询到批处理文件的变量中

我一直在研究并尝试将当前目录名称放入变量中,例如%CurrDirNam%创建具有相同文件夹名称的文本文件,下面的第三个示例有效,但在运行时,它会覆盖现有文件及其内容,所以我修改了底线以检查文件是否存在。设置 DirName=%cd% 对于(“%dirname%”)中的 %%A,请执行(设置名称=%%~nxA)如果不存在 %Name%.txt Echo %Dirname% > %DirName%\%Name%.txt Rem ---OOPS 抱歉,我不知道如何使用 CRLF 和缩进重新格式化代码。我是新手......

答案1

如果你运行这个

Set DirName=%cd% 
Echo %Dirname% > %DirName%.txt

目录:\Temp,它将扩展为

Set DirName=C:\Temp 
Echo C:\Temp > C:\Temp.txt

如果你没有 C:\ 的写权限,此操作将会失败,这将解释拒绝访问您收到的消息。

如果要在 C:\Temp 中创建文件,请使用以下命令:

Set DirName=%cd% 
Echo %Dirname% > %DirName%\test.txt

如果文件的名称必须与目录名称匹配,请使用以下技巧:

Set DirName=%cd%
For %%A in ("%dirname%") do (
    Set Name=%%~nxA
)
Echo %Dirname% > %DirName%\%Name%.txt

答案2

我在 Windows 10 系统上进行了测试,并且没有问题。

>path.txt echo %cd%

我在需要路径的目录中用批处理脚本运行了此脚本。就我而言,我只想从该路径创建 URL,我发现使用>url.txt echo %cd:\=/%它还可以处理 URL 中需要正斜杠的所有反斜杠,从而省去了麻烦

剩下的步骤是对 url.txt 文件进行一些编辑

相关内容