我有以下批处理文件。
@echo off
@echo Kopiere Autodesk-Profil ins Homeverzeichnis (H:\)...
@rmdir /s /q "H:\Downloads\Temp_Autodesk\Autodesk AutoCAD Map 3D 2021\"
@xcopy /s /y "%APPDATA%\Autodesk\Autodesk AutoCAD Map 3D 2021\*.*" "H:\Downloads\Temp_Autodesk\Autodesk AutoCAD Map 3D 2021\*.*"
cscript dialogfenster.vbs "AutoCAD-Einstellungen gesichert"
exit
它将数据从取决于用户的路径(用户可以更改,因此必须是变量)复制到目录“H:\Downloads\Temp_Autodesk\Autodesk AutoCAD Map 3D 2021”中。现在我必须将此代码转换为 .ps1 文件。 我现在在人工智能的部分帮助下尝试了这一点,并得到了以下结果。
> # Löscht den Ordner und alle seine Inhalte, ohne eine Bestätigung zu fordern
Remove-Item -Path "H:\Downloads\Temp_Autodesk\Autodesk AutoCAD Map 3D 2021\" -Recurse -Force -ErrorAction SilentlyContinue
# Kopiert alle Dateien und Unterordner aus dem Quellverzeichnis in das Zielverzeichnis
Copy-Item -Path "$env:APPDATA\Autodesk\Autodesk AutoCAD Map 3D 2021\*" -Destination "H:\Downloads\Temp_Autodesk\Autodesk AutoCAD Map 3D 2021\" -Recurse -Force
# Führt ein VBScript aus und zeigt möglicherweise ein Dialogfenster an
& cscript //NoLogo "dialogfenster.vbs" "AutoCAD-Einstellungen gesichert"
# Skriptende
exit
不幸的是,这无法正常工作,这可能是由于 Copy-Item -Path "$env:APPDATA\Autodesk\Autodesk AutoCAD Map 3D 2021*" 这部分无法访问用户
最有可能:
您正在使用
Copy-Item
移动目录 H:\Downloads\Temp_Autodesk\Autodesk AutoCAD Map 3D 2021\
中的内容。只需使用
Remove-Item -Path "H:\Downloads\Temp_Autodesk\Autodesk AutoCAD Map 3D 2021\*" -Recurse -Force -ErrorAction SilentlyContinue
,这样它只会删除目录的内容,而不是目录本身。
替代方案:复制目录本身,而不仅仅是内容:
Remove-Item -Path "H:\Downloads\Temp_Autodesk\Autodesk AutoCAD Map 3D 2021\" -Recurse -Force -ErrorAction SilentlyContinue
Copy-Item -Path "$env:APPDATA\Autodesk\Autodesk AutoCAD Map 3D 2021" -Destination "H:\Downloads\Temp_Autodesk\" -Recurse -Force