batch-file - 变量中的变量
问题描述
因此,我正在尝试编写一个批处理文件,它将接受我的输入,将其插入我创建的模板中,然后将其放入文本文件中。
set Output="%USERPROFILE%\desktop"
set /p VarOne=Example
echo ** %VarOne% ** > %Output%\%date:~-10,2%%date:~-7,2%%date:~-4,4%.txt
这工作正常,但如果我这样做,我会收到拒绝访问错误:
set Output="%USERPROFILE%\desktop"
set FNAME="%Output%\%date:~-10,2%%date:~-7,2%%date:~-4,4%.txt"
set /p VarOne=Example
echo ** %VarOne% ** > %FNAME%
我很缺乏经验,如果很明显,请原谅我。
解决方案
不要为变量分配双引号,但要使用它们来引用SET
语句作为保护特殊字符的最佳实践。
set "Output=%USERPROFILE%\desktop"
set "FNAME=%Output%\%date:~-10,2%%date:~-7,2%%date:~-4,4%.txt"
set /p VarOne=Example
echo ** %VarOne% ** >"%FNAME%"
推荐阅读
- r - modifyList 的非递归版本?
- mysql - 如何在不同的 WHERE 条件下加入?
- laravel - Laravel 表单请求验证存储和更新使用相同的验证
- node.js - 使用文件夹导入模块并将数据传递给nodejs中的模块
- c - 索引怎么可能是字符串(i[s])?
- amazon-s3 - Oozie 在 EMR 上将操作数据路径从 S3 更改为 hdfs
- axios - Nuxt:在 .ENV 中设置 Axios BaseURL 不起作用?
- python - 预算午餐和晚餐的 Web Scraping Tabelog
- python - 映射 Django url 和视图
- artificial-intelligence - PDDL AI 规划中的一个错误