如何创建批处理文件以在启动和关闭程序时重命名文件夹?

如何创建批处理文件以在启动和关闭程序时重命名文件夹?

如何制作一个批处理文件来在启动程序时重命名文件夹? - 假设我想启动我的 word.exe,同时我需要重命名一个文件夹,c:\users\my profile\my word documentsmy documents我存在时,word.exe批处理会将该文件夹重命名为其原始名称。

--稍后编辑--

这是我需要做的

  1. 启动程序
  2. 等待程序完全加载
  3. 重命名文件夹
  4. 该程序会一直等待,直到我关闭它
  5. 当我要关闭程序时,它不能关闭(等待)直到批量重命名文件夹
  6. 关闭程序

答案1

只需使用称呼语句告诉批处理脚本在程序打开时等待:

@ECHO OFF
RENAME "C:\users\my profile\my word documents" "my documents"
CALL "C:\Program Files\Microsoft Office\Office15\winword.exe"
RENAME "C:\users\my profile\my documents" "my word documents"

只是不要自己关闭批处理窗口,否则文件夹之后将不会重命名。您可以使用快捷方式最小化运行脚本或使用 VBS 运行它,以最大限度地减少发生这种情况的可能性

更新

我认为这应该可以完成您要求的(几乎)相同的任务,而且不会带来太多麻烦。只需保留中间副本,您就应该能够实现您真正想要的(我们仍然在猜测)。

@ECHO OFF
SET source=C:\test
SET dest=C:\test_tmp

MKDIR "%dest%"
COPY /Y "%source%\*.*" "%dest%\"
CALL "C:\Program Files\Microsoft Office\Office15\winword.exe"
RMDIR /S /Q "%source%"
MKDIR "%source%"
COPY /Y "%dest%\*.*" "%source%\"
RMDIR /S /Q "%dest%"

如果这对你来说还不够好,那么你最好的选择是VBA 脚本或者。网 应用程序级插件部分原因是因为这实际上不能单独通过 BATCH 来完成。

答案2

参见下文,您需要更改 4 个变量以满足您的需求。将此代码(经过适当修改)保存为批处理文件(扩展名为 .bat),然后从命令行(或从运行/开始)运行它。

@ECHO OFF
SETLOCAL
REM location is the directory below the one you want to rename
SET location=%USERPROFILE%\Documents
SET mydir_pre=testdir1
SET mydir_post=testdir2
SET myprogram=C:\windows\system32\notepad.exe

RENAME "%location%\%mydir_pre%" "%mydir_post%" 2>NUL||ECHO Oops - failed to rename "%location%\%mydir_pre%"&&GOTO :eof
REM start the program, while you are using this instance you will see testdir2
START "My Program" /WAIT "%myprogram%"||ECHO Unable to start %myprogram%&&GOTO :eof
RENAME "%location%\%mydir_post%" "%mydir_pre%" 2>NUL||ECHO Oops - failed to rename "%location%\%mydir_post%"&&GOTO :eof
ECHO Successful completion
ENDLOCAL

答案3

这是一个简单的解决方法,

在.bat文件中:

rename "path to the file" "NewName"  
"Path to your program" 
rename "path to the file with the new name" "defaultName"

我的电脑上的一个例子:

rename "C:\Users\myAccount\Desktop\defaultFolder" "NewName" 
"C:\Program Files\BreakPoint Software\Hex Workshop v6.8\HWorks64.exe"
rename "C:\Users\myAccount\Desktop\NewName" "defaultFolder" 

当运行.bat文件时,文件将被重命名并且程序启动,程序关闭后,名字将被重置。

祝你好运,

相关内容