Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 部署期间无法在ReleaseManagement中执行简单的重命名文件_Batch File_Release Management_Ms Release Management - Fatal编程技术网

Batch file 部署期间无法在ReleaseManagement中执行简单的重命名文件

Batch file 部署期间无法在ReleaseManagement中执行简单的重命名文件,batch-file,release-management,ms-release-management,Batch File,Release Management,Ms Release Management,我有个问题一直困扰着我。 我有一个Visual studio 2013解决方案,该解决方案通过发布管理 发布管理中的一个发布步骤是使用操作->SxSBatchCommand工具运行一个简单的批处理文件。这是一个自定义操作,它只执行一个批处理文件,批处理文件执行一个简单的重命名,如下所示: rename "$(currentDir)\project.ev1.app.config" "project.exe.config" 它基本上采用特定的app.config,并将其作为主配置应用于已部署目录中

我有个问题一直困扰着我。 我有一个Visual studio 2013解决方案,该解决方案通过发布管理

发布管理中的一个发布步骤是使用
操作->SxSBatchCommand
工具运行一个简单的批处理文件。这是一个自定义操作,它只执行一个批处理文件,批处理文件执行一个简单的重命名,如下所示:

rename "$(currentDir)\project.ev1.app.config" "project.exe.config"
它基本上采用特定的app.config,并将其作为主配置应用于已部署目录中

这一切都很好,但因为我不喜欢我项目中的所有批处理文件,我决定删除它们,并使用
WindowsOS->重命名文件或文件夹
工具

因此,我删除了SXSbatch命令,并添加了带有参数的“重命名文件或文件夹”:

FileFolderName: project.ev1.app.config
DestinationName: project.exe.config
我还尝试:

FileFolderName: $(currentDir)\project.ev1.app.config
DestinationName: project.exe.config
此操作在部署期间失败,并显示以下消息:

The following command failed with the exit code '1' : powershell -command ./ManageWindowsIO.ps1 -Action Rename -FileFolderName 'project.ev1.app.config' -DestinationName 'project.exe.config'
你知道为什么这么简单的命令不起作用吗


谢谢

您能在powershell控制台中运行这个确切的命令吗?您还可以单击发布日志中命令旁边的按钮,获取一个更详细的日志,解释出错的原因。 文件可能正在使用中,或者没有适当的修改权限,您可以在目标计算机中查找代理的日志


顺便说一句,如果您正试图将一个文件更改为win服务的配置文件名,或者希望在非web应用程序中使用转换,您可以使用slow cheetah来完成它。

所有这些都是明智的解决方案,我也想到了它们,但是我没有访问构建服务器的权限来运行命令或查看日志。所以目标机器是一个黑匣子。我只是假设,因为从批处理文件运行powershell命令是有效的,所以来自RM的命令也应该有效。