jjzjj

windows - 将 Subversion (SVN) 符号链接(symbolic link)文本文件转换为 NTFS 符号链接(symbolic link)的批处理脚本

coder 2024-06-06 原文

我们的设置:
我们混合使用 Windows XP 和 Windows 7 机器进行开发,还有一些 unix 服务器保存我们的 Subversion (SVN) 存储库并托管我们的网站。 我们的网站存储在 SVN 存储库中,因此当需要对网站进行更改时,我们会将 SVN 的工作副本 check out 到我们的 Windows 机器上。完成所有更改后,我们将工作副本提交回 SVN 存储库,然后 bash 脚本将存储库的头部部署到网络服务器。 (非常标准的东西)

我的问题:
该网站使用 (unix) 符号链接(symbolic link)(无法替换)。因此检查它并从 unix 服务器提交工作正常并且符号链接(symbolic link)存在。但是由于我们使用的是 Windows 开发机器,SVN 不会自动将它们的符号链接(symbolic link)表示转换为 Windows/NTFS 符号链接(symbolic link),即使它们受支持(我们的 Windows XP 机器安装了相关驱动程序)。 SVN 符号链接(symbolic link)是没有扩展名的文件,其中包含:

link  /path/link/was/pointing/to

我的问题:
我不精通批处理脚本(用于 unix bash 脚本)。 任何关于如何在批处理脚本中最好地将 SVN 的文本符号链接(symbolic link)转换为有效的 Windows/NTFS 符号链接(symbolic link)的指导都会受到欢迎。

如果我将 Windows 符号链接(symbolic link)提交到 SVN 存储库,会发生什么情况?
我是否需要第二个脚本来将 Windows 符号链接(symbolic link)转换回 SVN 文本链接?
后者会破坏 Unix 端 SVN 文本链接到 Unix 符号链接(symbolic link)转换吗?

最佳答案

我建议学习 VBScript 和 Windows Script Host。比如,我有一个名为 C:\Temp\Hello.txt 的文件,我想创建一个链接 C:\Temp\Sample。我将创建一个名为 MakeSample.vbs 的脚本,如下所示:

Set WshShell = CreateObject("Wscript.shell")
Set oMyShortcut = WshShell.CreateShortcut("C:\Temp\Sample2.lnk")
oMyShortcut.WindowStyle = 3
oMyShortcut.TargetPath = "C:\Temp\Hello.txt"
oMyShortCut.Save

在 VBScript 中读取 LINK 文件很简单,例如:

Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("C:\Temp\linkfile.")
txt = f.ReadAll
f.Close
MsgBox txt

我认为使用上述内容作为起点来破解一些东西应该相对简单。

关于windows - 将 Subversion (SVN) 符号链接(symbolic link)文本文件转换为 NTFS 符号链接(symbolic link)的批处理脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12857837/

有关windows - 将 Subversion (SVN) 符号链接(symbolic link)文本文件转换为 NTFS 符号链接(symbolic link)的批处理脚本的更多相关文章

  1. ruby - 在 Ruby 程序执行时阻止 Windows 7 PC 进入休眠状态 - 2

    我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0

  2. ruby - 如何指定 Rack 处理程序 - 2

    Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack

  3. ruby-on-rails - Ruby url 到 html 链接转换 - 2

    我正在使用Rails构建一个简单的聊天应用程序。当用户输入url时,我希望将其输出为html链接(即“url”)。我想知道在Ruby中是否有任何库或众所周知的方法可以做到这一点。如果没有,我有一些不错的正则表达式示例代码可以使用... 最佳答案 查看auto_linkRails提供的辅助方法。这会将所有URL和电子邮件地址变成可点击的链接(htmlanchor标记)。这是文档中的代码示例。auto_link("Gotohttp://www.rubyonrails.organdsayhellotodavid@loudthinking.

  4. ruby - 在 Windows 机器上使用 Ruby 进行开发是否会适得其反? - 2

    这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby​​-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub

  5. ruby-on-rails - Prawn - 表格单元格内的链接 - 2

    我正在尝试用Prawn生成PDF。在我的PDF模板中,我有带单元格的表格。在其中一个单元格中,我有一个电子邮件地址:cell_email=pdf.make_cell(:content=>booking.user_email,:border_width=>0)我想让电子邮件链接到“mailto”链接。我知道我可以这样链接:pdf.formatted_text([{:text=>booking.user_email,:link=>"mailto:#{booking.user_email}"}])但是将这两行组合起来(将格式化文本作为内容)不起作用:cell_email=pdf.make_c

  6. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

  7. ruby-on-rails - 创建 ruby​​ 数据库时惰性符号绑定(bind)失败 - 2

    我正在尝试在Rails上安装ruby​​,到目前为止一切都已安装,但是当我尝试使用rakedb:create创建数据库时,我收到一个奇怪的错误:dyld:lazysymbolbindingfailed:Symbolnotfound:_mysql_get_client_infoReferencedfrom:/Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundleExpectedin:flatnamespacedyld:Symbolnotfound:_mysql_get_client_infoReferencedf

  8. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

  9. ruby - 鸭子输入字符串、符号和数组的优雅方式? - 2

    这是针对我无法破坏的现有公共(public)API,但我确实希望对其进行扩展。目前,该方法采用字符串或符号或任何其他在作为第一个参数传递给send时有意义的内容我想添加发送字符串、符号等列表的功能。我可以只使用is_a吗?数组,但还有其他发送列表的方法,这不是很像ruby​​。我将调用列表中的map,所以第一个倾向是使用respond_to?:map。但是字符串也会响应:map,所以这行不通。 最佳答案 如何将它们全部视为数组?String的行为与仅包含String的Array相同:deffoo(obj,arg)[*arg].eac

  10. ruby - 如果它是标点符号,我怎么能从字符串中删除最后一个字符,在 ruby​​ 中? - 2

    啊,正则表达式有点困惑。我正在尝试删除字符串末尾所有可能的标点符号:ifstr[str.length-1]=='?'||str[str.length-1]=='.'||str[str.length-1]=='!'orstr[str.length-1]==','||str[str.length-1]==';'str.chomp!end我相信有更好的方法来做到这一点。有什么指点吗? 最佳答案 str.sub!(/[?.!,;]?$/,'')[?.!,;]-字符类。匹配这5个字符中的任何一个(注意,。在字符类中并不特殊)?-前一个字符或组

随机推荐