batch-file - 在消息中报告目录中第一个文件的文件名的批处理文件
问题描述
我正在设置一个基本的目录交换,我打算用它来在侠盗猎车手 V 的原始版本和修改版本之间切换。我正在拍摄的是一个批处理文件,它将名称交换两个目录,然后告诉我通过安装变体在主目录中的消息框。到目前为止,我有一个至少告诉我交换成功的交换器。
@echo off
ren "Grand Theft Auto V" "Grand Theft Auto V_swap"
ren "Grand Theft Auto V_mod" "Grand Theft Auto V"
ren "Grand Theft Auto V_swap" "Grand Theft Auto V_mod"
msg "%username%" "Files successfully swapped!"
我在每个根目录vanilla.txt
和中添加了一个文件modified.txt
,但我不知道如何进一步在消息中使用它们的名称。
如何让消息报告主目录中文本文件的名称?如果你能告诉我一个更简单的方法,加分。
解决方案
因此,您只需要运行一个 for 循环,假设这些是每个目录根目录中唯一的 txt 文件:
@echo off
ren "Grand Theft Auto V" "Grand Theft Auto V_swap"
ren "Grand Theft Auto V_mod" "Grand Theft Auto V"
ren "Grand Theft Auto V_swap" "Grand Theft Auto V_mod"
for %%i in ("Grand Theft Auto V\*.txt") do msg %username% %%~ni
但是,如果您在目录中有其他文本文件,我们可以测试它们的名称,或者将您的文件重命名为某个扩展名,而不是其他任何地方。即vanilla.ren
然后modified.ren
简单地做:
要测试名称并仅在名称匹配时测试味精:
for %%i in ("Grand Theft Auto V\*.txt") do (
if /i "%%~ni"=="vanilla" msg %username% %%~ni
if /i "%%~ni"=="modified" msg %username% %%~ni
)
或虚拟扩展:
for %%i in ("Grand Theft Auto V\*.ren") do msg %username% %%~ni
推荐阅读
- cordova - 安装`ionic cordova plugin add cordova-plugin-fcm-with-dependecy-updated`后无法构建我的Ionic项目
- python - 相同的命令但不同的结果,cmd和python子进程之间的奇怪行为
- libgdx - LibGDX / Box2D:如何跟踪身体之间的活动联系?
- arrays - 如何在反应中设置动态填充的选择选项的状态?TypeError:this.state.schoolName.map 不是函数
- python - 我想调整图像大小,但显示错误
- mysql - 如何处理 MySQL 错误:从 Oracle 迁移到 MySQL 期间出现 1071?
- ruby - 为什么使用和运算符不执行 rake 任务?
- reactjs - 无法在 reactjs 中发布数据(显示 400 BAD REQUEST)
- jmeter - Jmeter + Jenkins 性能插件
- c - GCC 在哪些目标平台上不支持标识符中的美元符号?