【问题标题】:Execute Windows command from Cygwin bash script从 Cygwin bash 脚本执行 Windows 命令
【发布时间】:2023-12-19 05:04:01
【问题描述】:

我正在使用安装了 Cygwin 的 Windows 并有一个 bash 脚本。由于 Cygwin 的 Unix cp 命令/程序的实现在默认安装时对于 Windows 存在缺陷(除非使用某些标志安装 Cygwin,否则无法保留 Windows 权限),我想从 bash 脚本发出 Windows 的本机 copy 命令而是。

有没有办法让我发出这个(可能还有任何通用的 Windows 命令提示符命令)并且能够处理错误(比如 copy 由于 UAC 失败、找不到文件、网络从 bash 脚本中驱动无法访问等)?

【问题讨论】:

    标签: windows bash batch-file command-line cygwin


    【解决方案1】:

    我现在没有 cygwin,但以下其中一项应该可以工作

    ./test.bat params
    cmd /c test.bat params
    cmd /c copy /?
    

    请记住,cmdbash 之间的引号/双引号可以有不同的解释。

    【讨论】:

      【解决方案2】:

      在 Windows BAT 中:

      copy "YourFile.xyz" "ToDestinationPath(.xyz)" && (
                    Echo Copy ==^> Success
                        ) || (
                    Echo Copy ==^> Failed) 
      

      【讨论】: