![如何将当前目录名称查询到批处理文件的变量中](https://linux22.com/image/1585485/%E5%A6%82%E4%BD%95%E5%B0%86%E5%BD%93%E5%89%8D%E7%9B%AE%E5%BD%95%E5%90%8D%E7%A7%B0%E6%9F%A5%E8%AF%A2%E5%88%B0%E6%89%B9%E5%A4%84%E7%90%86%E6%96%87%E4%BB%B6%E7%9A%84%E5%8F%98%E9%87%8F%E4%B8%AD.png)
我一直在研究并尝试将当前目录名称放入变量中,例如%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 文件进行一些编辑