小编her*_*did的帖子

禁用本地请求的web.config重写规则

我有一个页面刮板用于从网站的子目录中抓取内容,我的重写规则正在干扰内容抓取.例如,刮刀正在抓取旧版网站的内容:

/catalog/catalog.asp?page=23§ion=14

然后使用它来填充新版本:

/PartsBook/Catalog.aspx?page=23§ion=14

除了使用此内容预先填充新网站之外,我还会将旧网址重定向到将其标记为新网址的人.问题在于它导致刮刀尝试读取新页面而不是旧页面.有没有办法使用规则条件将规则限制为仅影响非本地请求?

.net web-config urlrewriter.net

7
推荐指数
1
解决办法
431
查看次数

通过批处理文件在GIT中创建已修改文件的存档

我正在使用此git命令创建在特定提交中修改的文件的存档:

git archive -o update.zip HEAD $(git diff --name-only COMMITID^)
Run Code Online (Sandbox Code Playgroud)

其中COMMITID是我要存档的提交的ID.这可以从命令行正常工作,但我想从批处理文件中运行它.以下是我正在使用的批处理文件的内容:

git archive -o update.zip HEAD $(git diff --name-only %1^^)
Run Code Online (Sandbox Code Playgroud)

其中%1是通过SourceTree传入的提交ID.我遇到的问题是从批处理文件运行时此命令返回以下错误:

错误:未知选项`name-only'

我猜可能有一些角色逃避问题,但我无法找到具体的突破.

我如何编写git命令以便它可以从批处理文件中运行?

UPDATE

我尝试删除--name-only选项,并在通过SourceTree尝试批处理脚本时收到以下错误:

致命:未找到路径:$(git

希望这有助于缩小可能发生的事情.

进一步更新

事实证明我的语法错误只是从特定提交中获取修改后的文件,但是使用msandiford的答案我想出了这个完美运行的批处理文件脚本:

setlocal enabledelayedexpansion
set output=
for /f "delims=" %%a in ('git diff-tree --no-commit-id --name-only -r %1^^') do ( set output=!output! "%%a" )
git archive -o update.zip HEAD %output%
endlocal
Run Code Online (Sandbox Code Playgroud)

windows git batch-file

6
推荐指数
1
解决办法
3201
查看次数

标签 统计

.net ×1

batch-file ×1

git ×1

urlrewriter.net ×1

web-config ×1

windows ×1