我正在设置一个基本的目录交换,我打算用它在香草和侠盗猎车手5的修改版本之间进行切换。我要拍摄的是一个批处理文件,该文件将对两个目录进行名称交换,然后通过消息框告诉我哪个安装变量位于主目录中。到目前为止,我有一个交换器,至少可以告诉我交换已成功。
@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
中都添加了一个文件,但是我不知道如何进一步使用消息中的两个名称。
如何让消息报告主目录中文本文件的名称?奖励积分,如果您能告诉我一种更简单的方法。
答案 0 :(得分:0)
因此,您只需要运行一个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