0

zip ファイルを一意のフォルダーに解凍し、そのフォルダー内でバット ファイルを実行するスクリプトを作成する必要があります。

以下のコードで解凍プロセスを完了することができます。batファイルの実行に問題があります。現在のフォルダーのファイルに対して操作を実行できるように、bat ファイルを実行する必要があります。

バットファイルにはこのコードが含まれています

copy *.prn /b \\PC\Printer

現在の Powershell スクリプト

$shell=new-object -com shell.application

$CurrentLocation=get-location
$CurrentPath=$CurrentLocation.path
$Location=$shell.namespace($CurrentPath)

# Find all the Zip files and Count them
$ZipFiles = get-childitem *.zip
$ZipFiles.count | out-default

# Set the Index for unique folders
$Index = 1

# For every zip file in the folder
foreach ($ZipFile in $ZipFiles)
{

    # Get the full path to the zip file
    $ZipFile.fullname | out-default

    # Set the location and create a new folder to unzip the files into - Edit the line below to change the location to save files to
    $NewLocation = "E:\BCode\$Index"
    $A = "E:\BCode\$Index"
    New-Item $NewLocation -type Directory

    # Move the zip file to the new folder so that you know which was the original file (can be changed to Copy-Item if needed)
    Move-Item $ZipFile.fullname $NewLocation

    # List up all of the zip files in the new folder 
    $NewZipFile = get-childitem $NewLocation *.zip

    # Get the COMObjects required for the unzip process
    $NewLocation = $shell.namespace($NewLocation)
    $ZipFolder = $shell.namespace($NewZipFile.fullname)

    # Copy the files to the new Folder
    $NewLocation.copyhere($ZipFolder.items())

#NOT WORKING
#ITS NOT SENDING FILES TO THE PRINTER
#PRINTER NAME & PC NAME ARE PREFECT
    $PC = "$A\*.prn" + ' /b //Samsung-2012/Zebra'

    cmd \c COPY $PC

    # Increase the Index to ensure that unique folders are made
    $Index = $Index + 1

} 


$destination = 'E:\BCode'
Get-ChildItem -Path $Destination -Recurse | Remove-Item -force -recurse
4

1 に答える 1

0

バッチ ファイルの 1 行を PowerShell スクリプトに埋め込んでみませんか。そうすれば、PowerShell スクリプトで変数を使用できます。

コピーの前に cmd /c を置くだけです。

cmd /c copy "$NewLocation\*.prn" /b \\PC\Printer
于 2013-06-17T09:19:36.053 に答える