【问题标题】:Powershell to build folder structuresPowershell 构建文件夹结构
【发布时间】:2021-04-12 22:13:23
【问题描述】:

我正在尝试每天在服务器上自动构建文件夹结构。该脚本有效,但由于某种原因,它在我的桌面而不是服务器上构建它。

#get date info
$ymd = Get-Date -Format yyyy_MM_dd

#name server paths
$x = '\\server\x'

#build out the internal retouch structures for the projects
'folder1', 'folder2', 'folder3\a', 'folder3\b' |  % {New-Item -Name "$x\$ymd\$_" -ItemType 'Directory'}

即使我输入服务器路径,它也会在我的桌面上构建它:

#get date info
$ymd = Get-Date -Format yyyy_MM_dd

#name server paths
$x = '\\server\x'

#build out the internal retouch structures for the projects
'folder1', 'folder2', 'folder3\a', 'folder3\b' |  % {New-Item -Name "\\server\x\$ymd\$_" -ItemType 'Directory'}

它构建的路径不是\\server\x\$ymd\...,而是C:\Users\username\Desktop\server\x\$ymd\...

如果我在 ISE 中运行它或右键单击并使用 powershell 运行,就会发生这种情况。我如何告诉它从字面上使用服务器路径而不是在本地环境中构建它?我每天访问服务器并在服务器上使用 powershell 都没有问题,我之前没有尝试过这样的文件夹结构,所以我假设我忽略了代码中的一些简单内容。

【问题讨论】:

  • 这是因为您使用的是-Name 而不是-Path :)
  • 将此作为答案提交,我会将其标记为正确。
  • 在那里,我添加了一个答案。很高兴它起作用了:)
  • @SantiagoSquarzon 如果您将回复作为答案提交,我会将其标记为正确。
  • 我想我已经这样做了

标签: powershell


【解决方案1】:

问题是当你不使用-Path 时,当前位置被用作默认值。这就是这个 cmdlet 的 MS Docs 所说的:

"...省略Path时默认为当前位置..."

另外,很高兴知道-Path 是此函数位置0 处的参数。如果你在不使用任何参数的情况下放置路径,你就不会遇到这个问题:)

【讨论】:

  • @Garrett 没问题,很高兴它对你有用 :)
猜你喜欢
  • 2018-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-25
  • 1970-01-01
相关资源
最近更新 更多